diff --git a/jellyfin/.gitignore b/jellyfin/.gitignore deleted file mode 100644 index 149b576..0000000 --- a/jellyfin/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -wwwroot/*.js -node_modules -typings -dist diff --git a/jellyfin/.openapi-generator/FILES b/jellyfin/.openapi-generator/FILES deleted file mode 100644 index 08a46af..0000000 --- a/jellyfin/.openapi-generator/FILES +++ /dev/null @@ -1,441 +0,0 @@ -.gitignore -.openapi-generator-ignore -api.ts -api/activityLogApi.ts -api/apiKeyApi.ts -api/apis.ts -api/artistsApi.ts -api/audioApi.ts -api/brandingApi.ts -api/channelsApi.ts -api/clientLogApi.ts -api/collectionApi.ts -api/configurationApi.ts -api/dashboardApi.ts -api/devicesApi.ts -api/displayPreferencesApi.ts -api/dlnaApi.ts -api/dlnaServerApi.ts -api/dynamicHlsApi.ts -api/environmentApi.ts -api/filterApi.ts -api/genresApi.ts -api/hlsSegmentApi.ts -api/imageApi.ts -api/imageByNameApi.ts -api/instantMixApi.ts -api/itemLookupApi.ts -api/itemRefreshApi.ts -api/itemUpdateApi.ts -api/itemsApi.ts -api/libraryApi.ts -api/libraryStructureApi.ts -api/liveTvApi.ts -api/localizationApi.ts -api/mediaInfoApi.ts -api/moviesApi.ts -api/musicGenresApi.ts -api/notificationsApi.ts -api/packageApi.ts -api/personsApi.ts -api/playlistsApi.ts -api/playstateApi.ts -api/pluginsApi.ts -api/quickConnectApi.ts -api/remoteImageApi.ts -api/scheduledTasksApi.ts -api/searchApi.ts -api/sessionApi.ts -api/startupApi.ts -api/studiosApi.ts -api/subtitleApi.ts -api/suggestionsApi.ts -api/syncPlayApi.ts -api/systemApi.ts -api/timeSyncApi.ts -api/tmdbApi.ts -api/trailersApi.ts -api/tvShowsApi.ts -api/universalAudioApi.ts -api/userApi.ts -api/userLibraryApi.ts -api/userViewsApi.ts -api/videoAttachmentsApi.ts -api/videosApi.ts -api/yearsApi.ts -git_push.sh -model/accessSchedule.ts -model/activityLogEntry.ts -model/activityLogEntryQueryResult.ts -model/addListingProviderRequest.ts -model/addMediaPathRequest.ts -model/addTunerHostRequest.ts -model/addVirtualFolderDto.ts -model/addVirtualFolderDtoLibraryOptions.ts -model/addVirtualFolderRequest.ts -model/adminNotificationDto.ts -model/albumInfo.ts -model/albumInfoRemoteSearchQuery.ts -model/allThemeMediaResult.ts -model/allThemeMediaResultThemeVideosResult.ts -model/applySearchCriteriaRequest.ts -model/architecture.ts -model/artistInfo.ts -model/artistInfoRemoteSearchQuery.ts -model/authenticateUserByName.ts -model/authenticateUserByNameRequest.ts -model/authenticateWithQuickConnectRequest.ts -model/authenticationInfo.ts -model/authenticationInfoQueryResult.ts -model/authenticationResult.ts -model/authenticationResultSessionInfo.ts -model/authenticationResultUser.ts -model/baseItem.ts -model/baseItemDto.ts -model/baseItemDtoCurrentProgram.ts -model/baseItemDtoImageBlurHashes.ts -model/baseItemDtoQueryResult.ts -model/baseItemDtoUserData.ts -model/baseItemKind.ts -model/baseItemPerson.ts -model/baseItemPersonImageBlurHashes.ts -model/bookInfo.ts -model/bookInfoRemoteSearchQuery.ts -model/boxSetInfo.ts -model/boxSetInfoRemoteSearchQuery.ts -model/brandingOptions.ts -model/bufferRequestDto.ts -model/channelFeatures.ts -model/channelItemSortField.ts -model/channelMappingOptionsDto.ts -model/channelMediaContentType.ts -model/channelMediaType.ts -model/channelType.ts -model/chapterInfo.ts -model/clientCapabilities.ts -model/clientCapabilitiesDeviceProfile.ts -model/clientCapabilitiesDto.ts -model/clientCapabilitiesDtoDeviceProfile.ts -model/clientLogDocumentResponseDto.ts -model/codecProfile.ts -model/codecType.ts -model/collectionCreationResult.ts -model/collectionTypeOptions.ts -model/configImageTypes.ts -model/configurationPageInfo.ts -model/containerProfile.ts -model/controlResponse.ts -model/countryInfo.ts -model/createAdminNotificationRequest.ts -model/createPlaylistDto.ts -model/createPlaylistRequest.ts -model/createProfileRequest.ts -model/createSeriesTimerRequest.ts -model/createTimerRequest.ts -model/createUserByName.ts -model/createUserByNameRequest.ts -model/cultureDto.ts -model/dayOfWeek.ts -model/dayPattern.ts -model/defaultDirectoryBrowserInfoDto.ts -model/deviceIdentification.ts -model/deviceInfo.ts -model/deviceInfoCapabilities.ts -model/deviceInfoQueryResult.ts -model/deviceOptions.ts -model/deviceOptionsDto.ts -model/deviceProfile.ts -model/deviceProfileIdentification.ts -model/deviceProfileInfo.ts -model/deviceProfileType.ts -model/directPlayProfile.ts -model/displayPreferencesDto.ts -model/dlnaOptions.ts -model/dlnaProfileType.ts -model/dynamicDayOfWeek.ts -model/embeddedSubtitleOptions.ts -model/encodingContext.ts -model/encodingOptions.ts -model/endPointInfo.ts -model/externalIdInfo.ts -model/externalIdMediaType.ts -model/externalUrl.ts -model/fFmpegLocation.ts -model/fileSystemEntryInfo.ts -model/fileSystemEntryType.ts -model/fontFile.ts -model/forgotPasswordAction.ts -model/forgotPasswordDto.ts -model/forgotPasswordPinDto.ts -model/forgotPasswordPinRequest.ts -model/forgotPasswordRequest.ts -model/forgotPasswordResult.ts -model/generalCommand.ts -model/generalCommandType.ts -model/getBookRemoteSearchResultsRequest.ts -model/getBoxSetRemoteSearchResultsRequest.ts -model/getMovieRemoteSearchResultsRequest.ts -model/getMusicAlbumRemoteSearchResultsRequest.ts -model/getMusicArtistRemoteSearchResultsRequest.ts -model/getMusicVideoRemoteSearchResultsRequest.ts -model/getPersonRemoteSearchResultsRequest.ts -model/getPostedPlaybackInfoRequest.ts -model/getProgramsDto.ts -model/getProgramsRequest.ts -model/getSeriesRemoteSearchResultsRequest.ts -model/getTrailerRemoteSearchResultsRequest.ts -model/groupInfoDto.ts -model/groupQueueMode.ts -model/groupRepeatMode.ts -model/groupShuffleMode.ts -model/groupStateType.ts -model/groupUpdateType.ts -model/guideInfo.ts -model/hardwareEncodingType.ts -model/headerMatchType.ts -model/httpHeaderInfo.ts -model/iPlugin.ts -model/ignoreWaitRequestDto.ts -model/imageByNameInfo.ts -model/imageFormat.ts -model/imageInfo.ts -model/imageOption.ts -model/imageOrientation.ts -model/imageProviderInfo.ts -model/imageSavingConvention.ts -model/imageType.ts -model/installationInfo.ts -model/installationInfoPackageInfo.ts -model/isoType.ts -model/itemCounts.ts -model/itemFields.ts -model/itemFilter.ts -model/joinGroupRequestDto.ts -model/keepUntil.ts -model/libraryOptionInfoDto.ts -model/libraryOptions.ts -model/libraryOptionsResultDto.ts -model/libraryTypeOptionsDto.ts -model/libraryUpdateInfo.ts -model/listingsProviderInfo.ts -model/liveStreamResponse.ts -model/liveStreamResponseMediaSource.ts -model/liveTvInfo.ts -model/liveTvOptions.ts -model/liveTvServiceInfo.ts -model/liveTvServiceStatus.ts -model/localizationOption.ts -model/locationType.ts -model/logFile.ts -model/logLevel.ts -model/mediaAttachment.ts -model/mediaEncoderPathDto.ts -model/mediaPathDto.ts -model/mediaPathDtoPathInfo.ts -model/mediaPathInfo.ts -model/mediaProtocol.ts -model/mediaSourceInfo.ts -model/mediaSourceType.ts -model/mediaStream.ts -model/mediaStreamType.ts -model/mediaUpdateInfoDto.ts -model/mediaUpdateInfoPathDto.ts -model/mediaUrl.ts -model/messageCommand.ts -model/metadataConfiguration.ts -model/metadataEditorInfo.ts -model/metadataField.ts -model/metadataOptions.ts -model/metadataRefreshMode.ts -model/models.ts -model/movePlaylistItemRequestDto.ts -model/movieInfo.ts -model/movieInfoRemoteSearchQuery.ts -model/musicVideoInfo.ts -model/musicVideoInfoRemoteSearchQuery.ts -model/nameGuidPair.ts -model/nameIdPair.ts -model/nameValuePair.ts -model/networkConfiguration.ts -model/newGroupRequestDto.ts -model/nextItemRequestDto.ts -model/notificationDto.ts -model/notificationLevel.ts -model/notificationOption.ts -model/notificationOptions.ts -model/notificationResultDto.ts -model/notificationTypeInfo.ts -model/notificationsSummaryDto.ts -model/objectGroupUpdate.ts -model/openLiveStreamDto.ts -model/openLiveStreamRequest.ts -model/packageInfo.ts -model/parentalRating.ts -model/pathSubstitution.ts -model/personLookupInfo.ts -model/personLookupInfoRemoteSearchQuery.ts -model/pinRedeemResult.ts -model/pingRequestDto.ts -model/playAccess.ts -model/playCommand.ts -model/playMethod.ts -model/playRequest.ts -model/playRequestDto.ts -model/playbackErrorCode.ts -model/playbackInfoDto.ts -model/playbackInfoResponse.ts -model/playbackProgressInfo.ts -model/playbackProgressInfoItem.ts -model/playbackStartInfo.ts -model/playbackStopInfo.ts -model/playerStateInfo.ts -model/playlistCreationResult.ts -model/playstateCommand.ts -model/playstateRequest.ts -model/pluginInfo.ts -model/pluginStatus.ts -model/postFullCapabilitiesRequest.ts -model/postUpdatedMediaRequest.ts -model/previousItemRequestDto.ts -model/problemDetails.ts -model/profileCondition.ts -model/profileConditionType.ts -model/profileConditionValue.ts -model/programAudio.ts -model/publicSystemInfo.ts -model/queryFilters.ts -model/queryFiltersLegacy.ts -model/queueItem.ts -model/queueRequestDto.ts -model/quickConnectDto.ts -model/quickConnectResult.ts -model/ratingType.ts -model/readyRequestDto.ts -model/recommendationDto.ts -model/recommendationType.ts -model/recordingStatus.ts -model/remoteImageInfo.ts -model/remoteImageResult.ts -model/remoteSearchResult.ts -model/remoteSubtitleInfo.ts -model/removeFromPlaylistRequestDto.ts -model/repeatMode.ts -model/reportPlaybackProgressRequest.ts -model/reportPlaybackStartRequest.ts -model/reportPlaybackStoppedRequest.ts -model/repositoryInfo.ts -model/responseProfile.ts -model/scrollDirection.ts -model/searchHint.ts -model/searchHintResult.ts -model/seekRequestDto.ts -model/sendCommand.ts -model/sendCommandType.ts -model/sendFullGeneralCommandRequest.ts -model/sendMessageCommandRequest.ts -model/sendToUserType.ts -model/seriesInfo.ts -model/seriesInfoRemoteSearchQuery.ts -model/seriesStatus.ts -model/seriesTimerInfoDto.ts -model/seriesTimerInfoDtoQueryResult.ts -model/serverConfiguration.ts -model/serverDiscoveryInfo.ts -model/sessionInfo.ts -model/sessionInfoFullNowPlayingItem.ts -model/sessionInfoNowPlayingItem.ts -model/sessionMessageType.ts -model/sessionUserInfo.ts -model/setChannelMappingDto.ts -model/setChannelMappingRequest.ts -model/setPlaylistItemRequestDto.ts -model/setRemoteAccessRequest.ts -model/setRepeatModeRequestDto.ts -model/setShuffleModeRequestDto.ts -model/songInfo.ts -model/sortOrder.ts -model/specialViewOptionDto.ts -model/startupConfigurationDto.ts -model/startupRemoteAccessDto.ts -model/startupUserDto.ts -model/subtitleDeliveryMethod.ts -model/subtitleOptions.ts -model/subtitlePlaybackMode.ts -model/subtitleProfile.ts -model/syncPlayBufferingRequest.ts -model/syncPlayCreateGroupRequest.ts -model/syncPlayJoinGroupRequest.ts -model/syncPlayMovePlaylistItemRequest.ts -model/syncPlayNextItemRequest.ts -model/syncPlayPingRequest.ts -model/syncPlayPreviousItemRequest.ts -model/syncPlayQueueRequest.ts -model/syncPlayReadyRequest.ts -model/syncPlayRemoveFromPlaylistRequest.ts -model/syncPlaySeekRequest.ts -model/syncPlaySetIgnoreWaitRequest.ts -model/syncPlaySetNewQueueRequest.ts -model/syncPlaySetPlaylistItemRequest.ts -model/syncPlaySetRepeatModeRequest.ts -model/syncPlaySetShuffleModeRequest.ts -model/syncPlayUserAccessType.ts -model/systemInfo.ts -model/taskCompletionStatus.ts -model/taskInfo.ts -model/taskInfoLastExecutionResult.ts -model/taskResult.ts -model/taskState.ts -model/taskTriggerInfo.ts -model/themeMediaResult.ts -model/timerEventInfo.ts -model/timerInfoDto.ts -model/timerInfoDtoProgramInfo.ts -model/timerInfoDtoQueryResult.ts -model/trailerInfo.ts -model/trailerInfoRemoteSearchQuery.ts -model/transcodeReason.ts -model/transcodeSeekInfo.ts -model/transcodingInfo.ts -model/transcodingProfile.ts -model/transportStreamTimestamp.ts -model/tunerChannelMapping.ts -model/tunerHostInfo.ts -model/typeOptions.ts -model/unratedItem.ts -model/updateConfigurationRequest.ts -model/updateDeviceOptionsRequest.ts -model/updateDisplayPreferencesRequest.ts -model/updateInitialConfigurationRequest.ts -model/updateItemRequest.ts -model/updateLibraryOptionsDto.ts -model/updateLibraryOptionsRequest.ts -model/updateMediaEncoderPathRequest.ts -model/updateMediaPathRequest.ts -model/updateMediaPathRequestDto.ts -model/updateMediaPathRequestDtoPathInfo.ts -model/updateStartupUserRequest.ts -model/updateUserConfigurationRequest.ts -model/updateUserEasyPassword.ts -model/updateUserEasyPasswordRequest.ts -model/updateUserPassword.ts -model/updateUserPasswordRequest.ts -model/updateUserPolicyRequest.ts -model/updateUserRequest.ts -model/uploadSubtitleDto.ts -model/uploadSubtitleRequest.ts -model/userConfiguration.ts -model/userDto.ts -model/userDtoConfiguration.ts -model/userDtoPolicy.ts -model/userItemDataDto.ts -model/userPolicy.ts -model/utcTimeResponse.ts -model/validatePathDto.ts -model/validatePathRequest.ts -model/versionInfo.ts -model/video3DFormat.ts -model/videoType.ts -model/virtualFolderInfo.ts -model/wakeOnLanInfo.ts -model/xbmcMetadataOptions.ts -model/xmlAttribute.ts diff --git a/jellyfin/api.ts b/jellyfin/api.ts deleted file mode 100644 index b9c7cfd..0000000 --- a/jellyfin/api.ts +++ /dev/null @@ -1,3 +0,0 @@ -// This is the entrypoint for the package -export * as JellyfinAPI from './api/apis'; -export * from './model/models'; diff --git a/jellyfin/api/activityLogApi.ts b/jellyfin/api/activityLogApi.ts deleted file mode 100644 index c8c6b85..0000000 --- a/jellyfin/api/activityLogApi.ts +++ /dev/null @@ -1,177 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { ActivityLogEntryQueryResult } from '../model/activityLogEntryQueryResult'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum ActivityLogApiApiKeys { - CustomAuthentication, -} - -export class ActivityLogApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: ActivityLogApiApiKeys, value: string) { - (this.authentications as any)[ActivityLogApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Gets activity log entries. - * @param startIndex Optional. The record index to start at. All items with a lower index will be dropped from the results. - * @param limit Optional. The maximum number of records to return. - * @param minDate Optional. The minimum date. Format = ISO. - * @param hasUserId Optional. Filter log entries if it has user id, or not. - */ - public async getLogEntries (startIndex?: number, limit?: number, minDate?: Date, hasUserId?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: ActivityLogEntryQueryResult; }> { - const localVarPath = this.basePath + '/System/ActivityLog/Entries'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (startIndex !== undefined) { - localVarQueryParameters['startIndex'] = ObjectSerializer.serialize(startIndex, "number"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (minDate !== undefined) { - localVarQueryParameters['minDate'] = ObjectSerializer.serialize(minDate, "Date"); - } - - if (hasUserId !== undefined) { - localVarQueryParameters['hasUserId'] = ObjectSerializer.serialize(hasUserId, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: ActivityLogEntryQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "ActivityLogEntryQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/apiKeyApi.ts b/jellyfin/api/apiKeyApi.ts deleted file mode 100644 index 531639c..0000000 --- a/jellyfin/api/apiKeyApi.ts +++ /dev/null @@ -1,288 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { AuthenticationInfoQueryResult } from '../model/authenticationInfoQueryResult'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum ApiKeyApiApiKeys { - CustomAuthentication, -} - -export class ApiKeyApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: ApiKeyApiApiKeys, value: string) { - (this.authentications as any)[ApiKeyApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Create a new api key. - * @param app Name of the app using the authentication key. - */ - public async createKey (app: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Auth/Keys'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'app' is not null or undefined - if (app === null || app === undefined) { - throw new Error('Required parameter app was null or undefined when calling createKey.'); - } - - if (app !== undefined) { - localVarQueryParameters['app'] = ObjectSerializer.serialize(app, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get all keys. - */ - public async getKeys (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: AuthenticationInfoQueryResult; }> { - const localVarPath = this.basePath + '/Auth/Keys'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: AuthenticationInfoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "AuthenticationInfoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Remove an api key. - * @param key The access token to delete. - */ - public async revokeKey (key: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Auth/Keys/{key}' - .replace('{' + 'key' + '}', encodeURIComponent(String(key))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'key' is not null or undefined - if (key === null || key === undefined) { - throw new Error('Required parameter key was null or undefined when calling revokeKey.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/apis.ts b/jellyfin/api/apis.ts deleted file mode 100644 index 21ca817..0000000 --- a/jellyfin/api/apis.ts +++ /dev/null @@ -1,134 +0,0 @@ -export * from './activityLogApi'; -import { ActivityLogApi } from './activityLogApi'; -export * from './apiKeyApi'; -import { ApiKeyApi } from './apiKeyApi'; -export * from './artistsApi'; -import { ArtistsApi } from './artistsApi'; -export * from './audioApi'; -import { AudioApi } from './audioApi'; -export * from './brandingApi'; -import { BrandingApi } from './brandingApi'; -export * from './channelsApi'; -import { ChannelsApi } from './channelsApi'; -export * from './clientLogApi'; -import { ClientLogApi } from './clientLogApi'; -export * from './collectionApi'; -import { CollectionApi } from './collectionApi'; -export * from './configurationApi'; -import { ConfigurationApi } from './configurationApi'; -export * from './dashboardApi'; -import { DashboardApi } from './dashboardApi'; -export * from './devicesApi'; -import { DevicesApi } from './devicesApi'; -export * from './displayPreferencesApi'; -import { DisplayPreferencesApi } from './displayPreferencesApi'; -export * from './dlnaApi'; -import { DlnaApi } from './dlnaApi'; -export * from './dlnaServerApi'; -import { DlnaServerApi } from './dlnaServerApi'; -export * from './dynamicHlsApi'; -import { DynamicHlsApi } from './dynamicHlsApi'; -export * from './environmentApi'; -import { EnvironmentApi } from './environmentApi'; -export * from './filterApi'; -import { FilterApi } from './filterApi'; -export * from './genresApi'; -import { GenresApi } from './genresApi'; -export * from './hlsSegmentApi'; -import { HlsSegmentApi } from './hlsSegmentApi'; -export * from './imageApi'; -import { ImageApi } from './imageApi'; -export * from './imageByNameApi'; -import { ImageByNameApi } from './imageByNameApi'; -export * from './instantMixApi'; -import { InstantMixApi } from './instantMixApi'; -export * from './itemLookupApi'; -import { ItemLookupApi } from './itemLookupApi'; -export * from './itemRefreshApi'; -import { ItemRefreshApi } from './itemRefreshApi'; -export * from './itemUpdateApi'; -import { ItemUpdateApi } from './itemUpdateApi'; -export * from './itemsApi'; -import { ItemsApi } from './itemsApi'; -export * from './libraryApi'; -import { LibraryApi } from './libraryApi'; -export * from './libraryStructureApi'; -import { LibraryStructureApi } from './libraryStructureApi'; -export * from './liveTvApi'; -import { LiveTvApi } from './liveTvApi'; -export * from './localizationApi'; -import { LocalizationApi } from './localizationApi'; -export * from './mediaInfoApi'; -import { MediaInfoApi } from './mediaInfoApi'; -export * from './moviesApi'; -import { MoviesApi } from './moviesApi'; -export * from './musicGenresApi'; -import { MusicGenresApi } from './musicGenresApi'; -export * from './notificationsApi'; -import { NotificationsApi } from './notificationsApi'; -export * from './packageApi'; -import { PackageApi } from './packageApi'; -export * from './personsApi'; -import { PersonsApi } from './personsApi'; -export * from './playlistsApi'; -import { PlaylistsApi } from './playlistsApi'; -export * from './playstateApi'; -import { PlaystateApi } from './playstateApi'; -export * from './pluginsApi'; -import { PluginsApi } from './pluginsApi'; -export * from './quickConnectApi'; -import { QuickConnectApi } from './quickConnectApi'; -export * from './remoteImageApi'; -import { RemoteImageApi } from './remoteImageApi'; -export * from './scheduledTasksApi'; -import { ScheduledTasksApi } from './scheduledTasksApi'; -export * from './searchApi'; -import { SearchApi } from './searchApi'; -export * from './sessionApi'; -import { SessionApi } from './sessionApi'; -export * from './startupApi'; -import { StartupApi } from './startupApi'; -export * from './studiosApi'; -import { StudiosApi } from './studiosApi'; -export * from './subtitleApi'; -import { SubtitleApi } from './subtitleApi'; -export * from './suggestionsApi'; -import { SuggestionsApi } from './suggestionsApi'; -export * from './syncPlayApi'; -import { SyncPlayApi } from './syncPlayApi'; -export * from './systemApi'; -import { SystemApi } from './systemApi'; -export * from './timeSyncApi'; -import { TimeSyncApi } from './timeSyncApi'; -export * from './tmdbApi'; -import { TmdbApi } from './tmdbApi'; -export * from './trailersApi'; -import { TrailersApi } from './trailersApi'; -export * from './tvShowsApi'; -import { TvShowsApi } from './tvShowsApi'; -export * from './universalAudioApi'; -import { UniversalAudioApi } from './universalAudioApi'; -export * from './userApi'; -import { UserApi } from './userApi'; -export * from './userLibraryApi'; -import { UserLibraryApi } from './userLibraryApi'; -export * from './userViewsApi'; -import { UserViewsApi } from './userViewsApi'; -export * from './videoAttachmentsApi'; -import { VideoAttachmentsApi } from './videoAttachmentsApi'; -export * from './videosApi'; -import { VideosApi } from './videosApi'; -export * from './yearsApi'; -import { YearsApi } from './yearsApi'; -import * as http from 'http'; - -export class HttpError extends Error { - constructor (public response: http.IncomingMessage, public body: any, public statusCode?: number) { - super('HTTP request failed'); - this.name = 'HttpError'; - } -} - -export { RequestFile } from '../model/models'; - -export const APIS = [ActivityLogApi, ApiKeyApi, ArtistsApi, AudioApi, BrandingApi, ChannelsApi, ClientLogApi, CollectionApi, ConfigurationApi, DashboardApi, DevicesApi, DisplayPreferencesApi, DlnaApi, DlnaServerApi, DynamicHlsApi, EnvironmentApi, FilterApi, GenresApi, HlsSegmentApi, ImageApi, ImageByNameApi, InstantMixApi, ItemLookupApi, ItemRefreshApi, ItemUpdateApi, ItemsApi, LibraryApi, LibraryStructureApi, LiveTvApi, LocalizationApi, MediaInfoApi, MoviesApi, MusicGenresApi, NotificationsApi, PackageApi, PersonsApi, PlaylistsApi, PlaystateApi, PluginsApi, QuickConnectApi, RemoteImageApi, ScheduledTasksApi, SearchApi, SessionApi, StartupApi, StudiosApi, SubtitleApi, SuggestionsApi, SyncPlayApi, SystemApi, TimeSyncApi, TmdbApi, TrailersApi, TvShowsApi, UniversalAudioApi, UserApi, UserLibraryApi, UserViewsApi, VideoAttachmentsApi, VideosApi, YearsApi]; diff --git a/jellyfin/api/artistsApi.ts b/jellyfin/api/artistsApi.ts deleted file mode 100644 index bf09158..0000000 --- a/jellyfin/api/artistsApi.ts +++ /dev/null @@ -1,625 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { BaseItemDto } from '../model/baseItemDto'; -import { BaseItemDtoQueryResult } from '../model/baseItemDtoQueryResult'; -import { BaseItemKind } from '../model/baseItemKind'; -import { ImageType } from '../model/imageType'; -import { ItemFields } from '../model/itemFields'; -import { ItemFilter } from '../model/itemFilter'; -import { SortOrder } from '../model/sortOrder'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum ArtistsApiApiKeys { - CustomAuthentication, -} - -export class ArtistsApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: ArtistsApiApiKeys, value: string) { - (this.authentications as any)[ArtistsApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Gets all album artists from a given item, folder, or the entire library. - * @param minCommunityRating Optional filter by minimum community rating. - * @param startIndex Optional. The record index to start at. All items with a lower index will be dropped from the results. - * @param limit Optional. The maximum number of records to return. - * @param searchTerm Optional. Search term. - * @param parentId Specify this to localize the search to a specific item or folder. Omit to use the root. - * @param fields Optional. Specify additional fields of information to return in the output. - * @param excludeItemTypes Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited. - * @param includeItemTypes Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. - * @param filters Optional. Specify additional filters to apply. - * @param isFavorite Optional filter by items that are marked as favorite, or not. - * @param mediaTypes Optional filter by MediaType. Allows multiple, comma delimited. - * @param genres Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimited. - * @param genreIds Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimited. - * @param officialRatings Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimited. - * @param tags Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimited. - * @param years Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimited. - * @param enableUserData Optional, include user data. - * @param imageTypeLimit Optional, the max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - * @param person Optional. If specified, results will be filtered to include only those containing the specified person. - * @param personIds Optional. If specified, results will be filtered to include only those containing the specified person ids. - * @param personTypes Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited. - * @param studios Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimited. - * @param studioIds Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimited. - * @param userId User id. - * @param nameStartsWithOrGreater Optional filter by items whose name is sorted equally or greater than a given input string. - * @param nameStartsWith Optional filter by items whose name is sorted equally than a given input string. - * @param nameLessThan Optional filter by items whose name is equally or lesser than a given input string. - * @param sortBy Optional. Specify one or more sort orders, comma delimited. - * @param sortOrder Sort Order - Ascending,Descending. - * @param enableImages Optional, include image information in output. - * @param enableTotalRecordCount Total record count. - */ - public async getAlbumArtists (minCommunityRating?: number, startIndex?: number, limit?: number, searchTerm?: string, parentId?: string, fields?: Array, excludeItemTypes?: Array, includeItemTypes?: Array, filters?: Array, isFavorite?: boolean, mediaTypes?: Array, genres?: Array, genreIds?: Array, officialRatings?: Array, tags?: Array, years?: Array, enableUserData?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, person?: string, personIds?: Array, personTypes?: Array, studios?: Array, studioIds?: Array, userId?: string, nameStartsWithOrGreater?: string, nameStartsWith?: string, nameLessThan?: string, sortBy?: Array, sortOrder?: Array, enableImages?: boolean, enableTotalRecordCount?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Artists/AlbumArtists'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (minCommunityRating !== undefined) { - localVarQueryParameters['minCommunityRating'] = ObjectSerializer.serialize(minCommunityRating, "number"); - } - - if (startIndex !== undefined) { - localVarQueryParameters['startIndex'] = ObjectSerializer.serialize(startIndex, "number"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (searchTerm !== undefined) { - localVarQueryParameters['searchTerm'] = ObjectSerializer.serialize(searchTerm, "string"); - } - - if (parentId !== undefined) { - localVarQueryParameters['parentId'] = ObjectSerializer.serialize(parentId, "string"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (excludeItemTypes !== undefined) { - localVarQueryParameters['excludeItemTypes'] = ObjectSerializer.serialize(excludeItemTypes, "Array"); - } - - if (includeItemTypes !== undefined) { - localVarQueryParameters['includeItemTypes'] = ObjectSerializer.serialize(includeItemTypes, "Array"); - } - - if (filters !== undefined) { - localVarQueryParameters['filters'] = ObjectSerializer.serialize(filters, "Array"); - } - - if (isFavorite !== undefined) { - localVarQueryParameters['isFavorite'] = ObjectSerializer.serialize(isFavorite, "boolean"); - } - - if (mediaTypes !== undefined) { - localVarQueryParameters['mediaTypes'] = ObjectSerializer.serialize(mediaTypes, "Array"); - } - - if (genres !== undefined) { - localVarQueryParameters['genres'] = ObjectSerializer.serialize(genres, "Array"); - } - - if (genreIds !== undefined) { - localVarQueryParameters['genreIds'] = ObjectSerializer.serialize(genreIds, "Array"); - } - - if (officialRatings !== undefined) { - localVarQueryParameters['officialRatings'] = ObjectSerializer.serialize(officialRatings, "Array"); - } - - if (tags !== undefined) { - localVarQueryParameters['tags'] = ObjectSerializer.serialize(tags, "Array"); - } - - if (years !== undefined) { - localVarQueryParameters['years'] = ObjectSerializer.serialize(years, "Array"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - if (person !== undefined) { - localVarQueryParameters['person'] = ObjectSerializer.serialize(person, "string"); - } - - if (personIds !== undefined) { - localVarQueryParameters['personIds'] = ObjectSerializer.serialize(personIds, "Array"); - } - - if (personTypes !== undefined) { - localVarQueryParameters['personTypes'] = ObjectSerializer.serialize(personTypes, "Array"); - } - - if (studios !== undefined) { - localVarQueryParameters['studios'] = ObjectSerializer.serialize(studios, "Array"); - } - - if (studioIds !== undefined) { - localVarQueryParameters['studioIds'] = ObjectSerializer.serialize(studioIds, "Array"); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (nameStartsWithOrGreater !== undefined) { - localVarQueryParameters['nameStartsWithOrGreater'] = ObjectSerializer.serialize(nameStartsWithOrGreater, "string"); - } - - if (nameStartsWith !== undefined) { - localVarQueryParameters['nameStartsWith'] = ObjectSerializer.serialize(nameStartsWith, "string"); - } - - if (nameLessThan !== undefined) { - localVarQueryParameters['nameLessThan'] = ObjectSerializer.serialize(nameLessThan, "string"); - } - - if (sortBy !== undefined) { - localVarQueryParameters['sortBy'] = ObjectSerializer.serialize(sortBy, "Array"); - } - - if (sortOrder !== undefined) { - localVarQueryParameters['sortOrder'] = ObjectSerializer.serialize(sortOrder, "Array"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - if (enableTotalRecordCount !== undefined) { - localVarQueryParameters['enableTotalRecordCount'] = ObjectSerializer.serialize(enableTotalRecordCount, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets an artist by name. - * @param name Studio name. - * @param userId Optional. Filter by user id, and attach user data. - */ - public async getArtistByName (name: string, userId?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDto; }> { - const localVarPath = this.basePath + '/Artists/{name}' - .replace('{' + 'name' + '}', encodeURIComponent(String(name))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling getArtistByName.'); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets all artists from a given item, folder, or the entire library. - * @param minCommunityRating Optional filter by minimum community rating. - * @param startIndex Optional. The record index to start at. All items with a lower index will be dropped from the results. - * @param limit Optional. The maximum number of records to return. - * @param searchTerm Optional. Search term. - * @param parentId Specify this to localize the search to a specific item or folder. Omit to use the root. - * @param fields Optional. Specify additional fields of information to return in the output. - * @param excludeItemTypes Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited. - * @param includeItemTypes Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. - * @param filters Optional. Specify additional filters to apply. - * @param isFavorite Optional filter by items that are marked as favorite, or not. - * @param mediaTypes Optional filter by MediaType. Allows multiple, comma delimited. - * @param genres Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimited. - * @param genreIds Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimited. - * @param officialRatings Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimited. - * @param tags Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimited. - * @param years Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimited. - * @param enableUserData Optional, include user data. - * @param imageTypeLimit Optional, the max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - * @param person Optional. If specified, results will be filtered to include only those containing the specified person. - * @param personIds Optional. If specified, results will be filtered to include only those containing the specified person ids. - * @param personTypes Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited. - * @param studios Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimited. - * @param studioIds Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimited. - * @param userId User id. - * @param nameStartsWithOrGreater Optional filter by items whose name is sorted equally or greater than a given input string. - * @param nameStartsWith Optional filter by items whose name is sorted equally than a given input string. - * @param nameLessThan Optional filter by items whose name is equally or lesser than a given input string. - * @param sortBy Optional. Specify one or more sort orders, comma delimited. - * @param sortOrder Sort Order - Ascending,Descending. - * @param enableImages Optional, include image information in output. - * @param enableTotalRecordCount Total record count. - */ - public async getArtists (minCommunityRating?: number, startIndex?: number, limit?: number, searchTerm?: string, parentId?: string, fields?: Array, excludeItemTypes?: Array, includeItemTypes?: Array, filters?: Array, isFavorite?: boolean, mediaTypes?: Array, genres?: Array, genreIds?: Array, officialRatings?: Array, tags?: Array, years?: Array, enableUserData?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, person?: string, personIds?: Array, personTypes?: Array, studios?: Array, studioIds?: Array, userId?: string, nameStartsWithOrGreater?: string, nameStartsWith?: string, nameLessThan?: string, sortBy?: Array, sortOrder?: Array, enableImages?: boolean, enableTotalRecordCount?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Artists'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (minCommunityRating !== undefined) { - localVarQueryParameters['minCommunityRating'] = ObjectSerializer.serialize(minCommunityRating, "number"); - } - - if (startIndex !== undefined) { - localVarQueryParameters['startIndex'] = ObjectSerializer.serialize(startIndex, "number"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (searchTerm !== undefined) { - localVarQueryParameters['searchTerm'] = ObjectSerializer.serialize(searchTerm, "string"); - } - - if (parentId !== undefined) { - localVarQueryParameters['parentId'] = ObjectSerializer.serialize(parentId, "string"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (excludeItemTypes !== undefined) { - localVarQueryParameters['excludeItemTypes'] = ObjectSerializer.serialize(excludeItemTypes, "Array"); - } - - if (includeItemTypes !== undefined) { - localVarQueryParameters['includeItemTypes'] = ObjectSerializer.serialize(includeItemTypes, "Array"); - } - - if (filters !== undefined) { - localVarQueryParameters['filters'] = ObjectSerializer.serialize(filters, "Array"); - } - - if (isFavorite !== undefined) { - localVarQueryParameters['isFavorite'] = ObjectSerializer.serialize(isFavorite, "boolean"); - } - - if (mediaTypes !== undefined) { - localVarQueryParameters['mediaTypes'] = ObjectSerializer.serialize(mediaTypes, "Array"); - } - - if (genres !== undefined) { - localVarQueryParameters['genres'] = ObjectSerializer.serialize(genres, "Array"); - } - - if (genreIds !== undefined) { - localVarQueryParameters['genreIds'] = ObjectSerializer.serialize(genreIds, "Array"); - } - - if (officialRatings !== undefined) { - localVarQueryParameters['officialRatings'] = ObjectSerializer.serialize(officialRatings, "Array"); - } - - if (tags !== undefined) { - localVarQueryParameters['tags'] = ObjectSerializer.serialize(tags, "Array"); - } - - if (years !== undefined) { - localVarQueryParameters['years'] = ObjectSerializer.serialize(years, "Array"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - if (person !== undefined) { - localVarQueryParameters['person'] = ObjectSerializer.serialize(person, "string"); - } - - if (personIds !== undefined) { - localVarQueryParameters['personIds'] = ObjectSerializer.serialize(personIds, "Array"); - } - - if (personTypes !== undefined) { - localVarQueryParameters['personTypes'] = ObjectSerializer.serialize(personTypes, "Array"); - } - - if (studios !== undefined) { - localVarQueryParameters['studios'] = ObjectSerializer.serialize(studios, "Array"); - } - - if (studioIds !== undefined) { - localVarQueryParameters['studioIds'] = ObjectSerializer.serialize(studioIds, "Array"); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (nameStartsWithOrGreater !== undefined) { - localVarQueryParameters['nameStartsWithOrGreater'] = ObjectSerializer.serialize(nameStartsWithOrGreater, "string"); - } - - if (nameStartsWith !== undefined) { - localVarQueryParameters['nameStartsWith'] = ObjectSerializer.serialize(nameStartsWith, "string"); - } - - if (nameLessThan !== undefined) { - localVarQueryParameters['nameLessThan'] = ObjectSerializer.serialize(nameLessThan, "string"); - } - - if (sortBy !== undefined) { - localVarQueryParameters['sortBy'] = ObjectSerializer.serialize(sortBy, "Array"); - } - - if (sortOrder !== undefined) { - localVarQueryParameters['sortOrder'] = ObjectSerializer.serialize(sortOrder, "Array"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - if (enableTotalRecordCount !== undefined) { - localVarQueryParameters['enableTotalRecordCount'] = ObjectSerializer.serialize(enableTotalRecordCount, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/audioApi.ts b/jellyfin/api/audioApi.ts deleted file mode 100644 index 8dc367e..0000000 --- a/jellyfin/api/audioApi.ts +++ /dev/null @@ -1,1333 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { EncodingContext } from '../model/encodingContext'; -import { SubtitleDeliveryMethod } from '../model/subtitleDeliveryMethod'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum AudioApiApiKeys { - CustomAuthentication, -} - -export class AudioApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: AudioApiApiKeys, value: string) { - (this.authentications as any)[AudioApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Gets an audio stream. - * @param itemId The item id. - * @param container The audio container. - * @param _static Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. - * @param params The streaming parameters. - * @param tag The tag. - * @param deviceProfileId Optional. The dlna device profile id to utilize. - * @param playSessionId The play session id. - * @param segmentContainer The segment container. - * @param segmentLength The segment length. - * @param minSegments The minimum number of segments. - * @param mediaSourceId The media version id, if playing an alternate version. - * @param deviceId The device id of the client requesting. Used to stop encoding processes when needed. - * @param audioCodec Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url\'s extension. Options: aac, mp3, vorbis, wma. - * @param enableAutoStreamCopy Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. - * @param allowVideoStreamCopy Whether or not to allow copying of the video stream url. - * @param allowAudioStreamCopy Whether or not to allow copying of the audio stream url. - * @param breakOnNonKeyFrames Optional. Whether to break on non key frames. - * @param audioSampleRate Optional. Specify a specific audio sample rate, e.g. 44100. - * @param maxAudioBitDepth Optional. The maximum audio bit depth. - * @param audioBitRate Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. - * @param audioChannels Optional. Specify a specific number of audio channels to encode to, e.g. 2. - * @param maxAudioChannels Optional. Specify a maximum number of audio channels to encode to, e.g. 2. - * @param profile Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. - * @param level Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. - * @param framerate Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param maxFramerate Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param copyTimestamps Whether or not to copy timestamps when transcoding with an offset. Defaults to false. - * @param startTimeTicks Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. - * @param width Optional. The fixed horizontal resolution of the encoded video. - * @param height Optional. The fixed vertical resolution of the encoded video. - * @param videoBitRate Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. - * @param subtitleStreamIndex Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. - * @param subtitleMethod Optional. Specify the subtitle delivery method. - * @param maxRefFrames Optional. - * @param maxVideoBitDepth Optional. The maximum video bit depth. - * @param requireAvc Optional. Whether to require avc. - * @param deInterlace Optional. Whether to deinterlace the video. - * @param requireNonAnamorphic Optional. Whether to require a non anamorphic stream. - * @param transcodingMaxAudioChannels Optional. The maximum number of audio channels to transcode. - * @param cpuCoreLimit Optional. The limit of how many cpu cores to use. - * @param liveStreamId The live stream id. - * @param enableMpegtsM2TsMode Optional. Whether to enable the MpegtsM2Ts mode. - * @param videoCodec Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url\'s extension. Options: h265, h264, mpeg4, theora, vp8, vp9, vpx (deprecated), wmv. - * @param subtitleCodec Optional. Specify a subtitle codec to encode to. - * @param transcodeReasons Optional. The transcoding reason. - * @param audioStreamIndex Optional. The index of the audio stream to use. If omitted the first audio stream will be used. - * @param videoStreamIndex Optional. The index of the video stream to use. If omitted the first video stream will be used. - * @param context Optional. The MediaBrowser.Model.Dlna.EncodingContext. - * @param streamOptions Optional. The streaming options. - */ - public async getAudioStream (itemId: string, container?: string, _static?: boolean, params?: string, tag?: string, deviceProfileId?: string, playSessionId?: string, segmentContainer?: string, segmentLength?: number, minSegments?: number, mediaSourceId?: string, deviceId?: string, audioCodec?: string, enableAutoStreamCopy?: boolean, allowVideoStreamCopy?: boolean, allowAudioStreamCopy?: boolean, breakOnNonKeyFrames?: boolean, audioSampleRate?: number, maxAudioBitDepth?: number, audioBitRate?: number, audioChannels?: number, maxAudioChannels?: number, profile?: string, level?: string, framerate?: number, maxFramerate?: number, copyTimestamps?: boolean, startTimeTicks?: number, width?: number, height?: number, videoBitRate?: number, subtitleStreamIndex?: number, subtitleMethod?: SubtitleDeliveryMethod, maxRefFrames?: number, maxVideoBitDepth?: number, requireAvc?: boolean, deInterlace?: boolean, requireNonAnamorphic?: boolean, transcodingMaxAudioChannels?: number, cpuCoreLimit?: number, liveStreamId?: string, enableMpegtsM2TsMode?: boolean, videoCodec?: string, subtitleCodec?: string, transcodeReasons?: string, audioStreamIndex?: number, videoStreamIndex?: number, context?: EncodingContext, streamOptions?: { [key: string]: string; }, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Audio/{itemId}/stream' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['audio/*']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getAudioStream.'); - } - - if (container !== undefined) { - localVarQueryParameters['container'] = ObjectSerializer.serialize(container, "string"); - } - - if (_static !== undefined) { - localVarQueryParameters['static'] = ObjectSerializer.serialize(_static, "boolean"); - } - - if (params !== undefined) { - localVarQueryParameters['params'] = ObjectSerializer.serialize(params, "string"); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (deviceProfileId !== undefined) { - localVarQueryParameters['deviceProfileId'] = ObjectSerializer.serialize(deviceProfileId, "string"); - } - - if (playSessionId !== undefined) { - localVarQueryParameters['playSessionId'] = ObjectSerializer.serialize(playSessionId, "string"); - } - - if (segmentContainer !== undefined) { - localVarQueryParameters['segmentContainer'] = ObjectSerializer.serialize(segmentContainer, "string"); - } - - if (segmentLength !== undefined) { - localVarQueryParameters['segmentLength'] = ObjectSerializer.serialize(segmentLength, "number"); - } - - if (minSegments !== undefined) { - localVarQueryParameters['minSegments'] = ObjectSerializer.serialize(minSegments, "number"); - } - - if (mediaSourceId !== undefined) { - localVarQueryParameters['mediaSourceId'] = ObjectSerializer.serialize(mediaSourceId, "string"); - } - - if (deviceId !== undefined) { - localVarQueryParameters['deviceId'] = ObjectSerializer.serialize(deviceId, "string"); - } - - if (audioCodec !== undefined) { - localVarQueryParameters['audioCodec'] = ObjectSerializer.serialize(audioCodec, "string"); - } - - if (enableAutoStreamCopy !== undefined) { - localVarQueryParameters['enableAutoStreamCopy'] = ObjectSerializer.serialize(enableAutoStreamCopy, "boolean"); - } - - if (allowVideoStreamCopy !== undefined) { - localVarQueryParameters['allowVideoStreamCopy'] = ObjectSerializer.serialize(allowVideoStreamCopy, "boolean"); - } - - if (allowAudioStreamCopy !== undefined) { - localVarQueryParameters['allowAudioStreamCopy'] = ObjectSerializer.serialize(allowAudioStreamCopy, "boolean"); - } - - if (breakOnNonKeyFrames !== undefined) { - localVarQueryParameters['breakOnNonKeyFrames'] = ObjectSerializer.serialize(breakOnNonKeyFrames, "boolean"); - } - - if (audioSampleRate !== undefined) { - localVarQueryParameters['audioSampleRate'] = ObjectSerializer.serialize(audioSampleRate, "number"); - } - - if (maxAudioBitDepth !== undefined) { - localVarQueryParameters['maxAudioBitDepth'] = ObjectSerializer.serialize(maxAudioBitDepth, "number"); - } - - if (audioBitRate !== undefined) { - localVarQueryParameters['audioBitRate'] = ObjectSerializer.serialize(audioBitRate, "number"); - } - - if (audioChannels !== undefined) { - localVarQueryParameters['audioChannels'] = ObjectSerializer.serialize(audioChannels, "number"); - } - - if (maxAudioChannels !== undefined) { - localVarQueryParameters['maxAudioChannels'] = ObjectSerializer.serialize(maxAudioChannels, "number"); - } - - if (profile !== undefined) { - localVarQueryParameters['profile'] = ObjectSerializer.serialize(profile, "string"); - } - - if (level !== undefined) { - localVarQueryParameters['level'] = ObjectSerializer.serialize(level, "string"); - } - - if (framerate !== undefined) { - localVarQueryParameters['framerate'] = ObjectSerializer.serialize(framerate, "number"); - } - - if (maxFramerate !== undefined) { - localVarQueryParameters['maxFramerate'] = ObjectSerializer.serialize(maxFramerate, "number"); - } - - if (copyTimestamps !== undefined) { - localVarQueryParameters['copyTimestamps'] = ObjectSerializer.serialize(copyTimestamps, "boolean"); - } - - if (startTimeTicks !== undefined) { - localVarQueryParameters['startTimeTicks'] = ObjectSerializer.serialize(startTimeTicks, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (videoBitRate !== undefined) { - localVarQueryParameters['videoBitRate'] = ObjectSerializer.serialize(videoBitRate, "number"); - } - - if (subtitleStreamIndex !== undefined) { - localVarQueryParameters['subtitleStreamIndex'] = ObjectSerializer.serialize(subtitleStreamIndex, "number"); - } - - if (subtitleMethod !== undefined) { - localVarQueryParameters['subtitleMethod'] = ObjectSerializer.serialize(subtitleMethod, "SubtitleDeliveryMethod"); - } - - if (maxRefFrames !== undefined) { - localVarQueryParameters['maxRefFrames'] = ObjectSerializer.serialize(maxRefFrames, "number"); - } - - if (maxVideoBitDepth !== undefined) { - localVarQueryParameters['maxVideoBitDepth'] = ObjectSerializer.serialize(maxVideoBitDepth, "number"); - } - - if (requireAvc !== undefined) { - localVarQueryParameters['requireAvc'] = ObjectSerializer.serialize(requireAvc, "boolean"); - } - - if (deInterlace !== undefined) { - localVarQueryParameters['deInterlace'] = ObjectSerializer.serialize(deInterlace, "boolean"); - } - - if (requireNonAnamorphic !== undefined) { - localVarQueryParameters['requireNonAnamorphic'] = ObjectSerializer.serialize(requireNonAnamorphic, "boolean"); - } - - if (transcodingMaxAudioChannels !== undefined) { - localVarQueryParameters['transcodingMaxAudioChannels'] = ObjectSerializer.serialize(transcodingMaxAudioChannels, "number"); - } - - if (cpuCoreLimit !== undefined) { - localVarQueryParameters['cpuCoreLimit'] = ObjectSerializer.serialize(cpuCoreLimit, "number"); - } - - if (liveStreamId !== undefined) { - localVarQueryParameters['liveStreamId'] = ObjectSerializer.serialize(liveStreamId, "string"); - } - - if (enableMpegtsM2TsMode !== undefined) { - localVarQueryParameters['enableMpegtsM2TsMode'] = ObjectSerializer.serialize(enableMpegtsM2TsMode, "boolean"); - } - - if (videoCodec !== undefined) { - localVarQueryParameters['videoCodec'] = ObjectSerializer.serialize(videoCodec, "string"); - } - - if (subtitleCodec !== undefined) { - localVarQueryParameters['subtitleCodec'] = ObjectSerializer.serialize(subtitleCodec, "string"); - } - - if (transcodeReasons !== undefined) { - localVarQueryParameters['transcodeReasons'] = ObjectSerializer.serialize(transcodeReasons, "string"); - } - - if (audioStreamIndex !== undefined) { - localVarQueryParameters['audioStreamIndex'] = ObjectSerializer.serialize(audioStreamIndex, "number"); - } - - if (videoStreamIndex !== undefined) { - localVarQueryParameters['videoStreamIndex'] = ObjectSerializer.serialize(videoStreamIndex, "number"); - } - - if (context !== undefined) { - localVarQueryParameters['context'] = ObjectSerializer.serialize(context, "EncodingContext"); - } - - if (streamOptions !== undefined) { - localVarQueryParameters['streamOptions'] = ObjectSerializer.serialize(streamOptions, "{ [key: string]: string; }"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets an audio stream. - * @param itemId The item id. - * @param container The audio container. - * @param _static Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. - * @param params The streaming parameters. - * @param tag The tag. - * @param deviceProfileId Optional. The dlna device profile id to utilize. - * @param playSessionId The play session id. - * @param segmentContainer The segment container. - * @param segmentLength The segment lenght. - * @param minSegments The minimum number of segments. - * @param mediaSourceId The media version id, if playing an alternate version. - * @param deviceId The device id of the client requesting. Used to stop encoding processes when needed. - * @param audioCodec Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url\'s extension. Options: aac, mp3, vorbis, wma. - * @param enableAutoStreamCopy Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. - * @param allowVideoStreamCopy Whether or not to allow copying of the video stream url. - * @param allowAudioStreamCopy Whether or not to allow copying of the audio stream url. - * @param breakOnNonKeyFrames Optional. Whether to break on non key frames. - * @param audioSampleRate Optional. Specify a specific audio sample rate, e.g. 44100. - * @param maxAudioBitDepth Optional. The maximum audio bit depth. - * @param audioBitRate Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. - * @param audioChannels Optional. Specify a specific number of audio channels to encode to, e.g. 2. - * @param maxAudioChannels Optional. Specify a maximum number of audio channels to encode to, e.g. 2. - * @param profile Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. - * @param level Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. - * @param framerate Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param maxFramerate Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param copyTimestamps Whether or not to copy timestamps when transcoding with an offset. Defaults to false. - * @param startTimeTicks Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. - * @param width Optional. The fixed horizontal resolution of the encoded video. - * @param height Optional. The fixed vertical resolution of the encoded video. - * @param videoBitRate Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. - * @param subtitleStreamIndex Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. - * @param subtitleMethod Optional. Specify the subtitle delivery method. - * @param maxRefFrames Optional. - * @param maxVideoBitDepth Optional. The maximum video bit depth. - * @param requireAvc Optional. Whether to require avc. - * @param deInterlace Optional. Whether to deinterlace the video. - * @param requireNonAnamorphic Optional. Whether to require a non anamporphic stream. - * @param transcodingMaxAudioChannels Optional. The maximum number of audio channels to transcode. - * @param cpuCoreLimit Optional. The limit of how many cpu cores to use. - * @param liveStreamId The live stream id. - * @param enableMpegtsM2TsMode Optional. Whether to enable the MpegtsM2Ts mode. - * @param videoCodec Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url\'s extension. Options: h265, h264, mpeg4, theora, vp8, vp9, vpx (deprecated), wmv. - * @param subtitleCodec Optional. Specify a subtitle codec to encode to. - * @param transcodeReasons Optional. The transcoding reason. - * @param audioStreamIndex Optional. The index of the audio stream to use. If omitted the first audio stream will be used. - * @param videoStreamIndex Optional. The index of the video stream to use. If omitted the first video stream will be used. - * @param context Optional. The MediaBrowser.Model.Dlna.EncodingContext. - * @param streamOptions Optional. The streaming options. - */ - public async getAudioStreamByContainer (itemId: string, container: string, _static?: boolean, params?: string, tag?: string, deviceProfileId?: string, playSessionId?: string, segmentContainer?: string, segmentLength?: number, minSegments?: number, mediaSourceId?: string, deviceId?: string, audioCodec?: string, enableAutoStreamCopy?: boolean, allowVideoStreamCopy?: boolean, allowAudioStreamCopy?: boolean, breakOnNonKeyFrames?: boolean, audioSampleRate?: number, maxAudioBitDepth?: number, audioBitRate?: number, audioChannels?: number, maxAudioChannels?: number, profile?: string, level?: string, framerate?: number, maxFramerate?: number, copyTimestamps?: boolean, startTimeTicks?: number, width?: number, height?: number, videoBitRate?: number, subtitleStreamIndex?: number, subtitleMethod?: SubtitleDeliveryMethod, maxRefFrames?: number, maxVideoBitDepth?: number, requireAvc?: boolean, deInterlace?: boolean, requireNonAnamorphic?: boolean, transcodingMaxAudioChannels?: number, cpuCoreLimit?: number, liveStreamId?: string, enableMpegtsM2TsMode?: boolean, videoCodec?: string, subtitleCodec?: string, transcodeReasons?: string, audioStreamIndex?: number, videoStreamIndex?: number, context?: EncodingContext, streamOptions?: { [key: string]: string; }, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Audio/{itemId}/stream.{container}' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))) - .replace('{' + 'container' + '}', encodeURIComponent(String(container))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['audio/*']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getAudioStreamByContainer.'); - } - - // verify required parameter 'container' is not null or undefined - if (container === null || container === undefined) { - throw new Error('Required parameter container was null or undefined when calling getAudioStreamByContainer.'); - } - - if (_static !== undefined) { - localVarQueryParameters['static'] = ObjectSerializer.serialize(_static, "boolean"); - } - - if (params !== undefined) { - localVarQueryParameters['params'] = ObjectSerializer.serialize(params, "string"); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (deviceProfileId !== undefined) { - localVarQueryParameters['deviceProfileId'] = ObjectSerializer.serialize(deviceProfileId, "string"); - } - - if (playSessionId !== undefined) { - localVarQueryParameters['playSessionId'] = ObjectSerializer.serialize(playSessionId, "string"); - } - - if (segmentContainer !== undefined) { - localVarQueryParameters['segmentContainer'] = ObjectSerializer.serialize(segmentContainer, "string"); - } - - if (segmentLength !== undefined) { - localVarQueryParameters['segmentLength'] = ObjectSerializer.serialize(segmentLength, "number"); - } - - if (minSegments !== undefined) { - localVarQueryParameters['minSegments'] = ObjectSerializer.serialize(minSegments, "number"); - } - - if (mediaSourceId !== undefined) { - localVarQueryParameters['mediaSourceId'] = ObjectSerializer.serialize(mediaSourceId, "string"); - } - - if (deviceId !== undefined) { - localVarQueryParameters['deviceId'] = ObjectSerializer.serialize(deviceId, "string"); - } - - if (audioCodec !== undefined) { - localVarQueryParameters['audioCodec'] = ObjectSerializer.serialize(audioCodec, "string"); - } - - if (enableAutoStreamCopy !== undefined) { - localVarQueryParameters['enableAutoStreamCopy'] = ObjectSerializer.serialize(enableAutoStreamCopy, "boolean"); - } - - if (allowVideoStreamCopy !== undefined) { - localVarQueryParameters['allowVideoStreamCopy'] = ObjectSerializer.serialize(allowVideoStreamCopy, "boolean"); - } - - if (allowAudioStreamCopy !== undefined) { - localVarQueryParameters['allowAudioStreamCopy'] = ObjectSerializer.serialize(allowAudioStreamCopy, "boolean"); - } - - if (breakOnNonKeyFrames !== undefined) { - localVarQueryParameters['breakOnNonKeyFrames'] = ObjectSerializer.serialize(breakOnNonKeyFrames, "boolean"); - } - - if (audioSampleRate !== undefined) { - localVarQueryParameters['audioSampleRate'] = ObjectSerializer.serialize(audioSampleRate, "number"); - } - - if (maxAudioBitDepth !== undefined) { - localVarQueryParameters['maxAudioBitDepth'] = ObjectSerializer.serialize(maxAudioBitDepth, "number"); - } - - if (audioBitRate !== undefined) { - localVarQueryParameters['audioBitRate'] = ObjectSerializer.serialize(audioBitRate, "number"); - } - - if (audioChannels !== undefined) { - localVarQueryParameters['audioChannels'] = ObjectSerializer.serialize(audioChannels, "number"); - } - - if (maxAudioChannels !== undefined) { - localVarQueryParameters['maxAudioChannels'] = ObjectSerializer.serialize(maxAudioChannels, "number"); - } - - if (profile !== undefined) { - localVarQueryParameters['profile'] = ObjectSerializer.serialize(profile, "string"); - } - - if (level !== undefined) { - localVarQueryParameters['level'] = ObjectSerializer.serialize(level, "string"); - } - - if (framerate !== undefined) { - localVarQueryParameters['framerate'] = ObjectSerializer.serialize(framerate, "number"); - } - - if (maxFramerate !== undefined) { - localVarQueryParameters['maxFramerate'] = ObjectSerializer.serialize(maxFramerate, "number"); - } - - if (copyTimestamps !== undefined) { - localVarQueryParameters['copyTimestamps'] = ObjectSerializer.serialize(copyTimestamps, "boolean"); - } - - if (startTimeTicks !== undefined) { - localVarQueryParameters['startTimeTicks'] = ObjectSerializer.serialize(startTimeTicks, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (videoBitRate !== undefined) { - localVarQueryParameters['videoBitRate'] = ObjectSerializer.serialize(videoBitRate, "number"); - } - - if (subtitleStreamIndex !== undefined) { - localVarQueryParameters['subtitleStreamIndex'] = ObjectSerializer.serialize(subtitleStreamIndex, "number"); - } - - if (subtitleMethod !== undefined) { - localVarQueryParameters['subtitleMethod'] = ObjectSerializer.serialize(subtitleMethod, "SubtitleDeliveryMethod"); - } - - if (maxRefFrames !== undefined) { - localVarQueryParameters['maxRefFrames'] = ObjectSerializer.serialize(maxRefFrames, "number"); - } - - if (maxVideoBitDepth !== undefined) { - localVarQueryParameters['maxVideoBitDepth'] = ObjectSerializer.serialize(maxVideoBitDepth, "number"); - } - - if (requireAvc !== undefined) { - localVarQueryParameters['requireAvc'] = ObjectSerializer.serialize(requireAvc, "boolean"); - } - - if (deInterlace !== undefined) { - localVarQueryParameters['deInterlace'] = ObjectSerializer.serialize(deInterlace, "boolean"); - } - - if (requireNonAnamorphic !== undefined) { - localVarQueryParameters['requireNonAnamorphic'] = ObjectSerializer.serialize(requireNonAnamorphic, "boolean"); - } - - if (transcodingMaxAudioChannels !== undefined) { - localVarQueryParameters['transcodingMaxAudioChannels'] = ObjectSerializer.serialize(transcodingMaxAudioChannels, "number"); - } - - if (cpuCoreLimit !== undefined) { - localVarQueryParameters['cpuCoreLimit'] = ObjectSerializer.serialize(cpuCoreLimit, "number"); - } - - if (liveStreamId !== undefined) { - localVarQueryParameters['liveStreamId'] = ObjectSerializer.serialize(liveStreamId, "string"); - } - - if (enableMpegtsM2TsMode !== undefined) { - localVarQueryParameters['enableMpegtsM2TsMode'] = ObjectSerializer.serialize(enableMpegtsM2TsMode, "boolean"); - } - - if (videoCodec !== undefined) { - localVarQueryParameters['videoCodec'] = ObjectSerializer.serialize(videoCodec, "string"); - } - - if (subtitleCodec !== undefined) { - localVarQueryParameters['subtitleCodec'] = ObjectSerializer.serialize(subtitleCodec, "string"); - } - - if (transcodeReasons !== undefined) { - localVarQueryParameters['transcodeReasons'] = ObjectSerializer.serialize(transcodeReasons, "string"); - } - - if (audioStreamIndex !== undefined) { - localVarQueryParameters['audioStreamIndex'] = ObjectSerializer.serialize(audioStreamIndex, "number"); - } - - if (videoStreamIndex !== undefined) { - localVarQueryParameters['videoStreamIndex'] = ObjectSerializer.serialize(videoStreamIndex, "number"); - } - - if (context !== undefined) { - localVarQueryParameters['context'] = ObjectSerializer.serialize(context, "EncodingContext"); - } - - if (streamOptions !== undefined) { - localVarQueryParameters['streamOptions'] = ObjectSerializer.serialize(streamOptions, "{ [key: string]: string; }"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets an audio stream. - * @param itemId The item id. - * @param container The audio container. - * @param _static Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. - * @param params The streaming parameters. - * @param tag The tag. - * @param deviceProfileId Optional. The dlna device profile id to utilize. - * @param playSessionId The play session id. - * @param segmentContainer The segment container. - * @param segmentLength The segment length. - * @param minSegments The minimum number of segments. - * @param mediaSourceId The media version id, if playing an alternate version. - * @param deviceId The device id of the client requesting. Used to stop encoding processes when needed. - * @param audioCodec Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url\'s extension. Options: aac, mp3, vorbis, wma. - * @param enableAutoStreamCopy Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. - * @param allowVideoStreamCopy Whether or not to allow copying of the video stream url. - * @param allowAudioStreamCopy Whether or not to allow copying of the audio stream url. - * @param breakOnNonKeyFrames Optional. Whether to break on non key frames. - * @param audioSampleRate Optional. Specify a specific audio sample rate, e.g. 44100. - * @param maxAudioBitDepth Optional. The maximum audio bit depth. - * @param audioBitRate Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. - * @param audioChannels Optional. Specify a specific number of audio channels to encode to, e.g. 2. - * @param maxAudioChannels Optional. Specify a maximum number of audio channels to encode to, e.g. 2. - * @param profile Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. - * @param level Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. - * @param framerate Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param maxFramerate Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param copyTimestamps Whether or not to copy timestamps when transcoding with an offset. Defaults to false. - * @param startTimeTicks Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. - * @param width Optional. The fixed horizontal resolution of the encoded video. - * @param height Optional. The fixed vertical resolution of the encoded video. - * @param videoBitRate Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. - * @param subtitleStreamIndex Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. - * @param subtitleMethod Optional. Specify the subtitle delivery method. - * @param maxRefFrames Optional. - * @param maxVideoBitDepth Optional. The maximum video bit depth. - * @param requireAvc Optional. Whether to require avc. - * @param deInterlace Optional. Whether to deinterlace the video. - * @param requireNonAnamorphic Optional. Whether to require a non anamorphic stream. - * @param transcodingMaxAudioChannels Optional. The maximum number of audio channels to transcode. - * @param cpuCoreLimit Optional. The limit of how many cpu cores to use. - * @param liveStreamId The live stream id. - * @param enableMpegtsM2TsMode Optional. Whether to enable the MpegtsM2Ts mode. - * @param videoCodec Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url\'s extension. Options: h265, h264, mpeg4, theora, vp8, vp9, vpx (deprecated), wmv. - * @param subtitleCodec Optional. Specify a subtitle codec to encode to. - * @param transcodeReasons Optional. The transcoding reason. - * @param audioStreamIndex Optional. The index of the audio stream to use. If omitted the first audio stream will be used. - * @param videoStreamIndex Optional. The index of the video stream to use. If omitted the first video stream will be used. - * @param context Optional. The MediaBrowser.Model.Dlna.EncodingContext. - * @param streamOptions Optional. The streaming options. - */ - public async headAudioStream (itemId: string, container?: string, _static?: boolean, params?: string, tag?: string, deviceProfileId?: string, playSessionId?: string, segmentContainer?: string, segmentLength?: number, minSegments?: number, mediaSourceId?: string, deviceId?: string, audioCodec?: string, enableAutoStreamCopy?: boolean, allowVideoStreamCopy?: boolean, allowAudioStreamCopy?: boolean, breakOnNonKeyFrames?: boolean, audioSampleRate?: number, maxAudioBitDepth?: number, audioBitRate?: number, audioChannels?: number, maxAudioChannels?: number, profile?: string, level?: string, framerate?: number, maxFramerate?: number, copyTimestamps?: boolean, startTimeTicks?: number, width?: number, height?: number, videoBitRate?: number, subtitleStreamIndex?: number, subtitleMethod?: SubtitleDeliveryMethod, maxRefFrames?: number, maxVideoBitDepth?: number, requireAvc?: boolean, deInterlace?: boolean, requireNonAnamorphic?: boolean, transcodingMaxAudioChannels?: number, cpuCoreLimit?: number, liveStreamId?: string, enableMpegtsM2TsMode?: boolean, videoCodec?: string, subtitleCodec?: string, transcodeReasons?: string, audioStreamIndex?: number, videoStreamIndex?: number, context?: EncodingContext, streamOptions?: { [key: string]: string; }, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Audio/{itemId}/stream' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['audio/*']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling headAudioStream.'); - } - - if (container !== undefined) { - localVarQueryParameters['container'] = ObjectSerializer.serialize(container, "string"); - } - - if (_static !== undefined) { - localVarQueryParameters['static'] = ObjectSerializer.serialize(_static, "boolean"); - } - - if (params !== undefined) { - localVarQueryParameters['params'] = ObjectSerializer.serialize(params, "string"); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (deviceProfileId !== undefined) { - localVarQueryParameters['deviceProfileId'] = ObjectSerializer.serialize(deviceProfileId, "string"); - } - - if (playSessionId !== undefined) { - localVarQueryParameters['playSessionId'] = ObjectSerializer.serialize(playSessionId, "string"); - } - - if (segmentContainer !== undefined) { - localVarQueryParameters['segmentContainer'] = ObjectSerializer.serialize(segmentContainer, "string"); - } - - if (segmentLength !== undefined) { - localVarQueryParameters['segmentLength'] = ObjectSerializer.serialize(segmentLength, "number"); - } - - if (minSegments !== undefined) { - localVarQueryParameters['minSegments'] = ObjectSerializer.serialize(minSegments, "number"); - } - - if (mediaSourceId !== undefined) { - localVarQueryParameters['mediaSourceId'] = ObjectSerializer.serialize(mediaSourceId, "string"); - } - - if (deviceId !== undefined) { - localVarQueryParameters['deviceId'] = ObjectSerializer.serialize(deviceId, "string"); - } - - if (audioCodec !== undefined) { - localVarQueryParameters['audioCodec'] = ObjectSerializer.serialize(audioCodec, "string"); - } - - if (enableAutoStreamCopy !== undefined) { - localVarQueryParameters['enableAutoStreamCopy'] = ObjectSerializer.serialize(enableAutoStreamCopy, "boolean"); - } - - if (allowVideoStreamCopy !== undefined) { - localVarQueryParameters['allowVideoStreamCopy'] = ObjectSerializer.serialize(allowVideoStreamCopy, "boolean"); - } - - if (allowAudioStreamCopy !== undefined) { - localVarQueryParameters['allowAudioStreamCopy'] = ObjectSerializer.serialize(allowAudioStreamCopy, "boolean"); - } - - if (breakOnNonKeyFrames !== undefined) { - localVarQueryParameters['breakOnNonKeyFrames'] = ObjectSerializer.serialize(breakOnNonKeyFrames, "boolean"); - } - - if (audioSampleRate !== undefined) { - localVarQueryParameters['audioSampleRate'] = ObjectSerializer.serialize(audioSampleRate, "number"); - } - - if (maxAudioBitDepth !== undefined) { - localVarQueryParameters['maxAudioBitDepth'] = ObjectSerializer.serialize(maxAudioBitDepth, "number"); - } - - if (audioBitRate !== undefined) { - localVarQueryParameters['audioBitRate'] = ObjectSerializer.serialize(audioBitRate, "number"); - } - - if (audioChannels !== undefined) { - localVarQueryParameters['audioChannels'] = ObjectSerializer.serialize(audioChannels, "number"); - } - - if (maxAudioChannels !== undefined) { - localVarQueryParameters['maxAudioChannels'] = ObjectSerializer.serialize(maxAudioChannels, "number"); - } - - if (profile !== undefined) { - localVarQueryParameters['profile'] = ObjectSerializer.serialize(profile, "string"); - } - - if (level !== undefined) { - localVarQueryParameters['level'] = ObjectSerializer.serialize(level, "string"); - } - - if (framerate !== undefined) { - localVarQueryParameters['framerate'] = ObjectSerializer.serialize(framerate, "number"); - } - - if (maxFramerate !== undefined) { - localVarQueryParameters['maxFramerate'] = ObjectSerializer.serialize(maxFramerate, "number"); - } - - if (copyTimestamps !== undefined) { - localVarQueryParameters['copyTimestamps'] = ObjectSerializer.serialize(copyTimestamps, "boolean"); - } - - if (startTimeTicks !== undefined) { - localVarQueryParameters['startTimeTicks'] = ObjectSerializer.serialize(startTimeTicks, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (videoBitRate !== undefined) { - localVarQueryParameters['videoBitRate'] = ObjectSerializer.serialize(videoBitRate, "number"); - } - - if (subtitleStreamIndex !== undefined) { - localVarQueryParameters['subtitleStreamIndex'] = ObjectSerializer.serialize(subtitleStreamIndex, "number"); - } - - if (subtitleMethod !== undefined) { - localVarQueryParameters['subtitleMethod'] = ObjectSerializer.serialize(subtitleMethod, "SubtitleDeliveryMethod"); - } - - if (maxRefFrames !== undefined) { - localVarQueryParameters['maxRefFrames'] = ObjectSerializer.serialize(maxRefFrames, "number"); - } - - if (maxVideoBitDepth !== undefined) { - localVarQueryParameters['maxVideoBitDepth'] = ObjectSerializer.serialize(maxVideoBitDepth, "number"); - } - - if (requireAvc !== undefined) { - localVarQueryParameters['requireAvc'] = ObjectSerializer.serialize(requireAvc, "boolean"); - } - - if (deInterlace !== undefined) { - localVarQueryParameters['deInterlace'] = ObjectSerializer.serialize(deInterlace, "boolean"); - } - - if (requireNonAnamorphic !== undefined) { - localVarQueryParameters['requireNonAnamorphic'] = ObjectSerializer.serialize(requireNonAnamorphic, "boolean"); - } - - if (transcodingMaxAudioChannels !== undefined) { - localVarQueryParameters['transcodingMaxAudioChannels'] = ObjectSerializer.serialize(transcodingMaxAudioChannels, "number"); - } - - if (cpuCoreLimit !== undefined) { - localVarQueryParameters['cpuCoreLimit'] = ObjectSerializer.serialize(cpuCoreLimit, "number"); - } - - if (liveStreamId !== undefined) { - localVarQueryParameters['liveStreamId'] = ObjectSerializer.serialize(liveStreamId, "string"); - } - - if (enableMpegtsM2TsMode !== undefined) { - localVarQueryParameters['enableMpegtsM2TsMode'] = ObjectSerializer.serialize(enableMpegtsM2TsMode, "boolean"); - } - - if (videoCodec !== undefined) { - localVarQueryParameters['videoCodec'] = ObjectSerializer.serialize(videoCodec, "string"); - } - - if (subtitleCodec !== undefined) { - localVarQueryParameters['subtitleCodec'] = ObjectSerializer.serialize(subtitleCodec, "string"); - } - - if (transcodeReasons !== undefined) { - localVarQueryParameters['transcodeReasons'] = ObjectSerializer.serialize(transcodeReasons, "string"); - } - - if (audioStreamIndex !== undefined) { - localVarQueryParameters['audioStreamIndex'] = ObjectSerializer.serialize(audioStreamIndex, "number"); - } - - if (videoStreamIndex !== undefined) { - localVarQueryParameters['videoStreamIndex'] = ObjectSerializer.serialize(videoStreamIndex, "number"); - } - - if (context !== undefined) { - localVarQueryParameters['context'] = ObjectSerializer.serialize(context, "EncodingContext"); - } - - if (streamOptions !== undefined) { - localVarQueryParameters['streamOptions'] = ObjectSerializer.serialize(streamOptions, "{ [key: string]: string; }"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'HEAD', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets an audio stream. - * @param itemId The item id. - * @param container The audio container. - * @param _static Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. - * @param params The streaming parameters. - * @param tag The tag. - * @param deviceProfileId Optional. The dlna device profile id to utilize. - * @param playSessionId The play session id. - * @param segmentContainer The segment container. - * @param segmentLength The segment lenght. - * @param minSegments The minimum number of segments. - * @param mediaSourceId The media version id, if playing an alternate version. - * @param deviceId The device id of the client requesting. Used to stop encoding processes when needed. - * @param audioCodec Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url\'s extension. Options: aac, mp3, vorbis, wma. - * @param enableAutoStreamCopy Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. - * @param allowVideoStreamCopy Whether or not to allow copying of the video stream url. - * @param allowAudioStreamCopy Whether or not to allow copying of the audio stream url. - * @param breakOnNonKeyFrames Optional. Whether to break on non key frames. - * @param audioSampleRate Optional. Specify a specific audio sample rate, e.g. 44100. - * @param maxAudioBitDepth Optional. The maximum audio bit depth. - * @param audioBitRate Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. - * @param audioChannels Optional. Specify a specific number of audio channels to encode to, e.g. 2. - * @param maxAudioChannels Optional. Specify a maximum number of audio channels to encode to, e.g. 2. - * @param profile Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. - * @param level Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. - * @param framerate Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param maxFramerate Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param copyTimestamps Whether or not to copy timestamps when transcoding with an offset. Defaults to false. - * @param startTimeTicks Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. - * @param width Optional. The fixed horizontal resolution of the encoded video. - * @param height Optional. The fixed vertical resolution of the encoded video. - * @param videoBitRate Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. - * @param subtitleStreamIndex Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. - * @param subtitleMethod Optional. Specify the subtitle delivery method. - * @param maxRefFrames Optional. - * @param maxVideoBitDepth Optional. The maximum video bit depth. - * @param requireAvc Optional. Whether to require avc. - * @param deInterlace Optional. Whether to deinterlace the video. - * @param requireNonAnamorphic Optional. Whether to require a non anamporphic stream. - * @param transcodingMaxAudioChannels Optional. The maximum number of audio channels to transcode. - * @param cpuCoreLimit Optional. The limit of how many cpu cores to use. - * @param liveStreamId The live stream id. - * @param enableMpegtsM2TsMode Optional. Whether to enable the MpegtsM2Ts mode. - * @param videoCodec Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url\'s extension. Options: h265, h264, mpeg4, theora, vp8, vp9, vpx (deprecated), wmv. - * @param subtitleCodec Optional. Specify a subtitle codec to encode to. - * @param transcodeReasons Optional. The transcoding reason. - * @param audioStreamIndex Optional. The index of the audio stream to use. If omitted the first audio stream will be used. - * @param videoStreamIndex Optional. The index of the video stream to use. If omitted the first video stream will be used. - * @param context Optional. The MediaBrowser.Model.Dlna.EncodingContext. - * @param streamOptions Optional. The streaming options. - */ - public async headAudioStreamByContainer (itemId: string, container: string, _static?: boolean, params?: string, tag?: string, deviceProfileId?: string, playSessionId?: string, segmentContainer?: string, segmentLength?: number, minSegments?: number, mediaSourceId?: string, deviceId?: string, audioCodec?: string, enableAutoStreamCopy?: boolean, allowVideoStreamCopy?: boolean, allowAudioStreamCopy?: boolean, breakOnNonKeyFrames?: boolean, audioSampleRate?: number, maxAudioBitDepth?: number, audioBitRate?: number, audioChannels?: number, maxAudioChannels?: number, profile?: string, level?: string, framerate?: number, maxFramerate?: number, copyTimestamps?: boolean, startTimeTicks?: number, width?: number, height?: number, videoBitRate?: number, subtitleStreamIndex?: number, subtitleMethod?: SubtitleDeliveryMethod, maxRefFrames?: number, maxVideoBitDepth?: number, requireAvc?: boolean, deInterlace?: boolean, requireNonAnamorphic?: boolean, transcodingMaxAudioChannels?: number, cpuCoreLimit?: number, liveStreamId?: string, enableMpegtsM2TsMode?: boolean, videoCodec?: string, subtitleCodec?: string, transcodeReasons?: string, audioStreamIndex?: number, videoStreamIndex?: number, context?: EncodingContext, streamOptions?: { [key: string]: string; }, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Audio/{itemId}/stream.{container}' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))) - .replace('{' + 'container' + '}', encodeURIComponent(String(container))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['audio/*']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling headAudioStreamByContainer.'); - } - - // verify required parameter 'container' is not null or undefined - if (container === null || container === undefined) { - throw new Error('Required parameter container was null or undefined when calling headAudioStreamByContainer.'); - } - - if (_static !== undefined) { - localVarQueryParameters['static'] = ObjectSerializer.serialize(_static, "boolean"); - } - - if (params !== undefined) { - localVarQueryParameters['params'] = ObjectSerializer.serialize(params, "string"); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (deviceProfileId !== undefined) { - localVarQueryParameters['deviceProfileId'] = ObjectSerializer.serialize(deviceProfileId, "string"); - } - - if (playSessionId !== undefined) { - localVarQueryParameters['playSessionId'] = ObjectSerializer.serialize(playSessionId, "string"); - } - - if (segmentContainer !== undefined) { - localVarQueryParameters['segmentContainer'] = ObjectSerializer.serialize(segmentContainer, "string"); - } - - if (segmentLength !== undefined) { - localVarQueryParameters['segmentLength'] = ObjectSerializer.serialize(segmentLength, "number"); - } - - if (minSegments !== undefined) { - localVarQueryParameters['minSegments'] = ObjectSerializer.serialize(minSegments, "number"); - } - - if (mediaSourceId !== undefined) { - localVarQueryParameters['mediaSourceId'] = ObjectSerializer.serialize(mediaSourceId, "string"); - } - - if (deviceId !== undefined) { - localVarQueryParameters['deviceId'] = ObjectSerializer.serialize(deviceId, "string"); - } - - if (audioCodec !== undefined) { - localVarQueryParameters['audioCodec'] = ObjectSerializer.serialize(audioCodec, "string"); - } - - if (enableAutoStreamCopy !== undefined) { - localVarQueryParameters['enableAutoStreamCopy'] = ObjectSerializer.serialize(enableAutoStreamCopy, "boolean"); - } - - if (allowVideoStreamCopy !== undefined) { - localVarQueryParameters['allowVideoStreamCopy'] = ObjectSerializer.serialize(allowVideoStreamCopy, "boolean"); - } - - if (allowAudioStreamCopy !== undefined) { - localVarQueryParameters['allowAudioStreamCopy'] = ObjectSerializer.serialize(allowAudioStreamCopy, "boolean"); - } - - if (breakOnNonKeyFrames !== undefined) { - localVarQueryParameters['breakOnNonKeyFrames'] = ObjectSerializer.serialize(breakOnNonKeyFrames, "boolean"); - } - - if (audioSampleRate !== undefined) { - localVarQueryParameters['audioSampleRate'] = ObjectSerializer.serialize(audioSampleRate, "number"); - } - - if (maxAudioBitDepth !== undefined) { - localVarQueryParameters['maxAudioBitDepth'] = ObjectSerializer.serialize(maxAudioBitDepth, "number"); - } - - if (audioBitRate !== undefined) { - localVarQueryParameters['audioBitRate'] = ObjectSerializer.serialize(audioBitRate, "number"); - } - - if (audioChannels !== undefined) { - localVarQueryParameters['audioChannels'] = ObjectSerializer.serialize(audioChannels, "number"); - } - - if (maxAudioChannels !== undefined) { - localVarQueryParameters['maxAudioChannels'] = ObjectSerializer.serialize(maxAudioChannels, "number"); - } - - if (profile !== undefined) { - localVarQueryParameters['profile'] = ObjectSerializer.serialize(profile, "string"); - } - - if (level !== undefined) { - localVarQueryParameters['level'] = ObjectSerializer.serialize(level, "string"); - } - - if (framerate !== undefined) { - localVarQueryParameters['framerate'] = ObjectSerializer.serialize(framerate, "number"); - } - - if (maxFramerate !== undefined) { - localVarQueryParameters['maxFramerate'] = ObjectSerializer.serialize(maxFramerate, "number"); - } - - if (copyTimestamps !== undefined) { - localVarQueryParameters['copyTimestamps'] = ObjectSerializer.serialize(copyTimestamps, "boolean"); - } - - if (startTimeTicks !== undefined) { - localVarQueryParameters['startTimeTicks'] = ObjectSerializer.serialize(startTimeTicks, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (videoBitRate !== undefined) { - localVarQueryParameters['videoBitRate'] = ObjectSerializer.serialize(videoBitRate, "number"); - } - - if (subtitleStreamIndex !== undefined) { - localVarQueryParameters['subtitleStreamIndex'] = ObjectSerializer.serialize(subtitleStreamIndex, "number"); - } - - if (subtitleMethod !== undefined) { - localVarQueryParameters['subtitleMethod'] = ObjectSerializer.serialize(subtitleMethod, "SubtitleDeliveryMethod"); - } - - if (maxRefFrames !== undefined) { - localVarQueryParameters['maxRefFrames'] = ObjectSerializer.serialize(maxRefFrames, "number"); - } - - if (maxVideoBitDepth !== undefined) { - localVarQueryParameters['maxVideoBitDepth'] = ObjectSerializer.serialize(maxVideoBitDepth, "number"); - } - - if (requireAvc !== undefined) { - localVarQueryParameters['requireAvc'] = ObjectSerializer.serialize(requireAvc, "boolean"); - } - - if (deInterlace !== undefined) { - localVarQueryParameters['deInterlace'] = ObjectSerializer.serialize(deInterlace, "boolean"); - } - - if (requireNonAnamorphic !== undefined) { - localVarQueryParameters['requireNonAnamorphic'] = ObjectSerializer.serialize(requireNonAnamorphic, "boolean"); - } - - if (transcodingMaxAudioChannels !== undefined) { - localVarQueryParameters['transcodingMaxAudioChannels'] = ObjectSerializer.serialize(transcodingMaxAudioChannels, "number"); - } - - if (cpuCoreLimit !== undefined) { - localVarQueryParameters['cpuCoreLimit'] = ObjectSerializer.serialize(cpuCoreLimit, "number"); - } - - if (liveStreamId !== undefined) { - localVarQueryParameters['liveStreamId'] = ObjectSerializer.serialize(liveStreamId, "string"); - } - - if (enableMpegtsM2TsMode !== undefined) { - localVarQueryParameters['enableMpegtsM2TsMode'] = ObjectSerializer.serialize(enableMpegtsM2TsMode, "boolean"); - } - - if (videoCodec !== undefined) { - localVarQueryParameters['videoCodec'] = ObjectSerializer.serialize(videoCodec, "string"); - } - - if (subtitleCodec !== undefined) { - localVarQueryParameters['subtitleCodec'] = ObjectSerializer.serialize(subtitleCodec, "string"); - } - - if (transcodeReasons !== undefined) { - localVarQueryParameters['transcodeReasons'] = ObjectSerializer.serialize(transcodeReasons, "string"); - } - - if (audioStreamIndex !== undefined) { - localVarQueryParameters['audioStreamIndex'] = ObjectSerializer.serialize(audioStreamIndex, "number"); - } - - if (videoStreamIndex !== undefined) { - localVarQueryParameters['videoStreamIndex'] = ObjectSerializer.serialize(videoStreamIndex, "number"); - } - - if (context !== undefined) { - localVarQueryParameters['context'] = ObjectSerializer.serialize(context, "EncodingContext"); - } - - if (streamOptions !== undefined) { - localVarQueryParameters['streamOptions'] = ObjectSerializer.serialize(streamOptions, "{ [key: string]: string; }"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'HEAD', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/brandingApi.ts b/jellyfin/api/brandingApi.ts deleted file mode 100644 index df86af7..0000000 --- a/jellyfin/api/brandingApi.ts +++ /dev/null @@ -1,278 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { BrandingOptions } from '../model/brandingOptions'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum BrandingApiApiKeys { - CustomAuthentication, -} - -export class BrandingApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: BrandingApiApiKeys, value: string) { - (this.authentications as any)[BrandingApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Gets branding css. - */ - public async getBrandingCss (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: string; }> { - const localVarPath = this.basePath + '/Branding/Css'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['text/css', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: string; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "string"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets branding css. - */ - public async getBrandingCss2 (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: string; }> { - const localVarPath = this.basePath + '/Branding/Css.css'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['text/css', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: string; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "string"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets branding configuration. - */ - public async getBrandingOptions (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BrandingOptions; }> { - const localVarPath = this.basePath + '/Branding/Configuration'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BrandingOptions; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BrandingOptions"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/channelsApi.ts b/jellyfin/api/channelsApi.ts deleted file mode 100644 index e7eb156..0000000 --- a/jellyfin/api/channelsApi.ts +++ /dev/null @@ -1,535 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { BaseItemDtoQueryResult } from '../model/baseItemDtoQueryResult'; -import { ChannelFeatures } from '../model/channelFeatures'; -import { ItemFields } from '../model/itemFields'; -import { ItemFilter } from '../model/itemFilter'; -import { SortOrder } from '../model/sortOrder'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum ChannelsApiApiKeys { - CustomAuthentication, -} - -export class ChannelsApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: ChannelsApiApiKeys, value: string) { - (this.authentications as any)[ChannelsApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Get all channel features. - */ - public async getAllChannelFeatures (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Channels/Features'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get channel features. - * @param channelId Channel id. - */ - public async getChannelFeatures (channelId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: ChannelFeatures; }> { - const localVarPath = this.basePath + '/Channels/{channelId}/Features' - .replace('{' + 'channelId' + '}', encodeURIComponent(String(channelId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'channelId' is not null or undefined - if (channelId === null || channelId === undefined) { - throw new Error('Required parameter channelId was null or undefined when calling getChannelFeatures.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: ChannelFeatures; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "ChannelFeatures"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get channel items. - * @param channelId Channel Id. - * @param folderId Optional. Folder Id. - * @param userId Optional. User Id. - * @param startIndex Optional. The record index to start at. All items with a lower index will be dropped from the results. - * @param limit Optional. The maximum number of records to return. - * @param sortOrder Optional. Sort Order - Ascending,Descending. - * @param filters Optional. Specify additional filters to apply. - * @param sortBy Optional. Specify one or more sort orders, comma delimited. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime. - * @param fields Optional. Specify additional fields of information to return in the output. - */ - public async getChannelItems (channelId: string, folderId?: string, userId?: string, startIndex?: number, limit?: number, sortOrder?: Array, filters?: Array, sortBy?: Array, fields?: Array, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Channels/{channelId}/Items' - .replace('{' + 'channelId' + '}', encodeURIComponent(String(channelId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'channelId' is not null or undefined - if (channelId === null || channelId === undefined) { - throw new Error('Required parameter channelId was null or undefined when calling getChannelItems.'); - } - - if (folderId !== undefined) { - localVarQueryParameters['folderId'] = ObjectSerializer.serialize(folderId, "string"); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (startIndex !== undefined) { - localVarQueryParameters['startIndex'] = ObjectSerializer.serialize(startIndex, "number"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (sortOrder !== undefined) { - localVarQueryParameters['sortOrder'] = ObjectSerializer.serialize(sortOrder, "Array"); - } - - if (filters !== undefined) { - localVarQueryParameters['filters'] = ObjectSerializer.serialize(filters, "Array"); - } - - if (sortBy !== undefined) { - localVarQueryParameters['sortBy'] = ObjectSerializer.serialize(sortBy, "Array"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets available channels. - * @param userId User Id to filter by. Use System.Guid.Empty to not filter by user. - * @param startIndex Optional. The record index to start at. All items with a lower index will be dropped from the results. - * @param limit Optional. The maximum number of records to return. - * @param supportsLatestItems Optional. Filter by channels that support getting latest items. - * @param supportsMediaDeletion Optional. Filter by channels that support media deletion. - * @param isFavorite Optional. Filter by channels that are favorite. - */ - public async getChannels (userId?: string, startIndex?: number, limit?: number, supportsLatestItems?: boolean, supportsMediaDeletion?: boolean, isFavorite?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Channels'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (startIndex !== undefined) { - localVarQueryParameters['startIndex'] = ObjectSerializer.serialize(startIndex, "number"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (supportsLatestItems !== undefined) { - localVarQueryParameters['supportsLatestItems'] = ObjectSerializer.serialize(supportsLatestItems, "boolean"); - } - - if (supportsMediaDeletion !== undefined) { - localVarQueryParameters['supportsMediaDeletion'] = ObjectSerializer.serialize(supportsMediaDeletion, "boolean"); - } - - if (isFavorite !== undefined) { - localVarQueryParameters['isFavorite'] = ObjectSerializer.serialize(isFavorite, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets latest channel items. - * @param userId Optional. User Id. - * @param startIndex Optional. The record index to start at. All items with a lower index will be dropped from the results. - * @param limit Optional. The maximum number of records to return. - * @param filters Optional. Specify additional filters to apply. - * @param fields Optional. Specify additional fields of information to return in the output. - * @param channelIds Optional. Specify one or more channel id\'s, comma delimited. - */ - public async getLatestChannelItems (userId?: string, startIndex?: number, limit?: number, filters?: Array, fields?: Array, channelIds?: Array, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Channels/Items/Latest'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (startIndex !== undefined) { - localVarQueryParameters['startIndex'] = ObjectSerializer.serialize(startIndex, "number"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (filters !== undefined) { - localVarQueryParameters['filters'] = ObjectSerializer.serialize(filters, "Array"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (channelIds !== undefined) { - localVarQueryParameters['channelIds'] = ObjectSerializer.serialize(channelIds, "Array"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/clientLogApi.ts b/jellyfin/api/clientLogApi.ts deleted file mode 100644 index 9438b09..0000000 --- a/jellyfin/api/clientLogApi.ts +++ /dev/null @@ -1,160 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { ClientLogDocumentResponseDto } from '../model/clientLogDocumentResponseDto'; -import { ProblemDetails } from '../model/problemDetails'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum ClientLogApiApiKeys { - CustomAuthentication, -} - -export class ClientLogApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: ClientLogApiApiKeys, value: string) { - (this.authentications as any)[ClientLogApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Upload a document. - * @param body - */ - public async logFile (body?: RequestFile, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: ClientLogDocumentResponseDto; }> { - const localVarPath = this.basePath + '/ClientLog/Document'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(body, "RequestFile") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: ClientLogDocumentResponseDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "ClientLogDocumentResponseDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/collectionApi.ts b/jellyfin/api/collectionApi.ts deleted file mode 100644 index cdc0dbc..0000000 --- a/jellyfin/api/collectionApi.ts +++ /dev/null @@ -1,325 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { CollectionCreationResult } from '../model/collectionCreationResult'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum CollectionApiApiKeys { - CustomAuthentication, -} - -export class CollectionApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: CollectionApiApiKeys, value: string) { - (this.authentications as any)[CollectionApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Adds items to a collection. - * @param collectionId The collection id. - * @param ids Item ids, comma delimited. - */ - public async addToCollection (collectionId: string, ids: Array, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Collections/{collectionId}/Items' - .replace('{' + 'collectionId' + '}', encodeURIComponent(String(collectionId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'collectionId' is not null or undefined - if (collectionId === null || collectionId === undefined) { - throw new Error('Required parameter collectionId was null or undefined when calling addToCollection.'); - } - - // verify required parameter 'ids' is not null or undefined - if (ids === null || ids === undefined) { - throw new Error('Required parameter ids was null or undefined when calling addToCollection.'); - } - - if (ids !== undefined) { - localVarQueryParameters['ids'] = ObjectSerializer.serialize(ids, "Array"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Creates a new collection. - * @param name The name of the collection. - * @param ids Item Ids to add to the collection. - * @param parentId Optional. Create the collection within a specific folder. - * @param isLocked Whether or not to lock the new collection. - */ - public async createCollection (name?: string, ids?: Array, parentId?: string, isLocked?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: CollectionCreationResult; }> { - const localVarPath = this.basePath + '/Collections'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (name !== undefined) { - localVarQueryParameters['name'] = ObjectSerializer.serialize(name, "string"); - } - - if (ids !== undefined) { - localVarQueryParameters['ids'] = ObjectSerializer.serialize(ids, "Array"); - } - - if (parentId !== undefined) { - localVarQueryParameters['parentId'] = ObjectSerializer.serialize(parentId, "string"); - } - - if (isLocked !== undefined) { - localVarQueryParameters['isLocked'] = ObjectSerializer.serialize(isLocked, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: CollectionCreationResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "CollectionCreationResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Removes items from a collection. - * @param collectionId The collection id. - * @param ids Item ids, comma delimited. - */ - public async removeFromCollection (collectionId: string, ids: Array, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Collections/{collectionId}/Items' - .replace('{' + 'collectionId' + '}', encodeURIComponent(String(collectionId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'collectionId' is not null or undefined - if (collectionId === null || collectionId === undefined) { - throw new Error('Required parameter collectionId was null or undefined when calling removeFromCollection.'); - } - - // verify required parameter 'ids' is not null or undefined - if (ids === null || ids === undefined) { - throw new Error('Required parameter ids was null or undefined when calling removeFromCollection.'); - } - - if (ids !== undefined) { - localVarQueryParameters['ids'] = ObjectSerializer.serialize(ids, "Array"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/configurationApi.ts b/jellyfin/api/configurationApi.ts deleted file mode 100644 index 1931a7d..0000000 --- a/jellyfin/api/configurationApi.ts +++ /dev/null @@ -1,496 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { MetadataOptions } from '../model/metadataOptions'; -import { ServerConfiguration } from '../model/serverConfiguration'; -import { UpdateConfigurationRequest } from '../model/updateConfigurationRequest'; -import { UpdateMediaEncoderPathRequest } from '../model/updateMediaEncoderPathRequest'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum ConfigurationApiApiKeys { - CustomAuthentication, -} - -export class ConfigurationApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: ConfigurationApiApiKeys, value: string) { - (this.authentications as any)[ConfigurationApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Gets application configuration. - */ - public async getConfiguration (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: ServerConfiguration; }> { - const localVarPath = this.basePath + '/System/Configuration'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: ServerConfiguration; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "ServerConfiguration"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a default MetadataOptions object. - */ - public async getDefaultMetadataOptions (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: MetadataOptions; }> { - const localVarPath = this.basePath + '/System/Configuration/MetadataOptions/Default'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: MetadataOptions; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "MetadataOptions"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a named configuration. - * @param key Configuration key. - */ - public async getNamedConfiguration (key: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/System/Configuration/{key}' - .replace('{' + 'key' + '}', encodeURIComponent(String(key))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'key' is not null or undefined - if (key === null || key === undefined) { - throw new Error('Required parameter key was null or undefined when calling getNamedConfiguration.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Updates application configuration. - * @param updateConfigurationRequest Configuration. - */ - public async updateConfiguration (updateConfigurationRequest: UpdateConfigurationRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/System/Configuration'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'updateConfigurationRequest' is not null or undefined - if (updateConfigurationRequest === null || updateConfigurationRequest === undefined) { - throw new Error('Required parameter updateConfigurationRequest was null or undefined when calling updateConfiguration.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(updateConfigurationRequest, "UpdateConfigurationRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Updates the path to the media encoder. - * @param updateMediaEncoderPathRequest Media encoder path form body. - */ - public async updateMediaEncoderPath (updateMediaEncoderPathRequest: UpdateMediaEncoderPathRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/System/MediaEncoder/Path'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'updateMediaEncoderPathRequest' is not null or undefined - if (updateMediaEncoderPathRequest === null || updateMediaEncoderPathRequest === undefined) { - throw new Error('Required parameter updateMediaEncoderPathRequest was null or undefined when calling updateMediaEncoderPath.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(updateMediaEncoderPathRequest, "UpdateMediaEncoderPathRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Updates named configuration. - * @param key Configuration key. - * @param body Configuration. - */ - public async updateNamedConfiguration (key: string, body: any, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/System/Configuration/{key}' - .replace('{' + 'key' + '}', encodeURIComponent(String(key))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'key' is not null or undefined - if (key === null || key === undefined) { - throw new Error('Required parameter key was null or undefined when calling updateNamedConfiguration.'); - } - - // verify required parameter 'body' is not null or undefined - if (body === null || body === undefined) { - throw new Error('Required parameter body was null or undefined when calling updateNamedConfiguration.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(body, "any") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/dashboardApi.ts b/jellyfin/api/dashboardApi.ts deleted file mode 100644 index 6656b98..0000000 --- a/jellyfin/api/dashboardApi.ts +++ /dev/null @@ -1,230 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { ConfigurationPageInfo } from '../model/configurationPageInfo'; -import { ProblemDetails } from '../model/problemDetails'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum DashboardApiApiKeys { - CustomAuthentication, -} - -export class DashboardApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: DashboardApiApiKeys, value: string) { - (this.authentications as any)[DashboardApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Gets the configuration pages. - * @param enableInMainMenu Whether to enable in the main menu. - */ - public async getConfigurationPages (enableInMainMenu?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/web/ConfigurationPages'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (enableInMainMenu !== undefined) { - localVarQueryParameters['enableInMainMenu'] = ObjectSerializer.serialize(enableInMainMenu, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a dashboard configuration page. - * @param name The name of the page. - */ - public async getDashboardConfigurationPage (name?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/web/ConfigurationPage'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['text/html', 'application/x-javascript', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (name !== undefined) { - localVarQueryParameters['name'] = ObjectSerializer.serialize(name, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/devicesApi.ts b/jellyfin/api/devicesApi.ts deleted file mode 100644 index e9de40f..0000000 --- a/jellyfin/api/devicesApi.ts +++ /dev/null @@ -1,469 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { DeviceInfo } from '../model/deviceInfo'; -import { DeviceInfoQueryResult } from '../model/deviceInfoQueryResult'; -import { DeviceOptions } from '../model/deviceOptions'; -import { ProblemDetails } from '../model/problemDetails'; -import { UpdateDeviceOptionsRequest } from '../model/updateDeviceOptionsRequest'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum DevicesApiApiKeys { - CustomAuthentication, -} - -export class DevicesApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: DevicesApiApiKeys, value: string) { - (this.authentications as any)[DevicesApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Deletes a device. - * @param id Device Id. - */ - public async deleteDevice (id: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Devices'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'id' is not null or undefined - if (id === null || id === undefined) { - throw new Error('Required parameter id was null or undefined when calling deleteDevice.'); - } - - if (id !== undefined) { - localVarQueryParameters['id'] = ObjectSerializer.serialize(id, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get info for a device. - * @param id Device Id. - */ - public async getDeviceInfo (id: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: DeviceInfo; }> { - const localVarPath = this.basePath + '/Devices/Info'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'id' is not null or undefined - if (id === null || id === undefined) { - throw new Error('Required parameter id was null or undefined when calling getDeviceInfo.'); - } - - if (id !== undefined) { - localVarQueryParameters['id'] = ObjectSerializer.serialize(id, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: DeviceInfo; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "DeviceInfo"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get options for a device. - * @param id Device Id. - */ - public async getDeviceOptions (id: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: DeviceOptions; }> { - const localVarPath = this.basePath + '/Devices/Options'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'id' is not null or undefined - if (id === null || id === undefined) { - throw new Error('Required parameter id was null or undefined when calling getDeviceOptions.'); - } - - if (id !== undefined) { - localVarQueryParameters['id'] = ObjectSerializer.serialize(id, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: DeviceOptions; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "DeviceOptions"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get Devices. - * @param supportsSync Gets or sets a value indicating whether [supports synchronize]. - * @param userId Gets or sets the user identifier. - */ - public async getDevices (supportsSync?: boolean, userId?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: DeviceInfoQueryResult; }> { - const localVarPath = this.basePath + '/Devices'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (supportsSync !== undefined) { - localVarQueryParameters['supportsSync'] = ObjectSerializer.serialize(supportsSync, "boolean"); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: DeviceInfoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "DeviceInfoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Update device options. - * @param id Device Id. - * @param updateDeviceOptionsRequest Device Options. - */ - public async updateDeviceOptions (id: string, updateDeviceOptionsRequest: UpdateDeviceOptionsRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Devices/Options'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'id' is not null or undefined - if (id === null || id === undefined) { - throw new Error('Required parameter id was null or undefined when calling updateDeviceOptions.'); - } - - // verify required parameter 'updateDeviceOptionsRequest' is not null or undefined - if (updateDeviceOptionsRequest === null || updateDeviceOptionsRequest === undefined) { - throw new Error('Required parameter updateDeviceOptionsRequest was null or undefined when calling updateDeviceOptions.'); - } - - if (id !== undefined) { - localVarQueryParameters['id'] = ObjectSerializer.serialize(id, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(updateDeviceOptionsRequest, "UpdateDeviceOptionsRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/displayPreferencesApi.ts b/jellyfin/api/displayPreferencesApi.ts deleted file mode 100644 index 9d06633..0000000 --- a/jellyfin/api/displayPreferencesApi.ts +++ /dev/null @@ -1,276 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { DisplayPreferencesDto } from '../model/displayPreferencesDto'; -import { UpdateDisplayPreferencesRequest } from '../model/updateDisplayPreferencesRequest'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum DisplayPreferencesApiApiKeys { - CustomAuthentication, -} - -export class DisplayPreferencesApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: DisplayPreferencesApiApiKeys, value: string) { - (this.authentications as any)[DisplayPreferencesApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Get Display Preferences. - * @param displayPreferencesId Display preferences id. - * @param userId User id. - * @param client Client. - */ - public async getDisplayPreferences (displayPreferencesId: string, userId: string, client: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: DisplayPreferencesDto; }> { - const localVarPath = this.basePath + '/DisplayPreferences/{displayPreferencesId}' - .replace('{' + 'displayPreferencesId' + '}', encodeURIComponent(String(displayPreferencesId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'displayPreferencesId' is not null or undefined - if (displayPreferencesId === null || displayPreferencesId === undefined) { - throw new Error('Required parameter displayPreferencesId was null or undefined when calling getDisplayPreferences.'); - } - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling getDisplayPreferences.'); - } - - // verify required parameter 'client' is not null or undefined - if (client === null || client === undefined) { - throw new Error('Required parameter client was null or undefined when calling getDisplayPreferences.'); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (client !== undefined) { - localVarQueryParameters['client'] = ObjectSerializer.serialize(client, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: DisplayPreferencesDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "DisplayPreferencesDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Update Display Preferences. - * @param displayPreferencesId Display preferences id. - * @param userId User Id. - * @param client Client. - * @param updateDisplayPreferencesRequest New Display Preferences object. - */ - public async updateDisplayPreferences (displayPreferencesId: string, userId: string, client: string, updateDisplayPreferencesRequest: UpdateDisplayPreferencesRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/DisplayPreferences/{displayPreferencesId}' - .replace('{' + 'displayPreferencesId' + '}', encodeURIComponent(String(displayPreferencesId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'displayPreferencesId' is not null or undefined - if (displayPreferencesId === null || displayPreferencesId === undefined) { - throw new Error('Required parameter displayPreferencesId was null or undefined when calling updateDisplayPreferences.'); - } - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling updateDisplayPreferences.'); - } - - // verify required parameter 'client' is not null or undefined - if (client === null || client === undefined) { - throw new Error('Required parameter client was null or undefined when calling updateDisplayPreferences.'); - } - - // verify required parameter 'updateDisplayPreferencesRequest' is not null or undefined - if (updateDisplayPreferencesRequest === null || updateDisplayPreferencesRequest === undefined) { - throw new Error('Required parameter updateDisplayPreferencesRequest was null or undefined when calling updateDisplayPreferences.'); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (client !== undefined) { - localVarQueryParameters['client'] = ObjectSerializer.serialize(client, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(updateDisplayPreferencesRequest, "UpdateDisplayPreferencesRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/dlnaApi.ts b/jellyfin/api/dlnaApi.ts deleted file mode 100644 index fc1ae5d..0000000 --- a/jellyfin/api/dlnaApi.ts +++ /dev/null @@ -1,500 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { CreateProfileRequest } from '../model/createProfileRequest'; -import { DeviceProfile } from '../model/deviceProfile'; -import { DeviceProfileInfo } from '../model/deviceProfileInfo'; -import { ProblemDetails } from '../model/problemDetails'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum DlnaApiApiKeys { - CustomAuthentication, -} - -export class DlnaApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: DlnaApiApiKeys, value: string) { - (this.authentications as any)[DlnaApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Creates a profile. - * @param createProfileRequest Device profile. - */ - public async createProfile (createProfileRequest?: CreateProfileRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Dlna/Profiles'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(createProfileRequest, "CreateProfileRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Deletes a profile. - * @param profileId Profile id. - */ - public async deleteProfile (profileId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Dlna/Profiles/{profileId}' - .replace('{' + 'profileId' + '}', encodeURIComponent(String(profileId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'profileId' is not null or undefined - if (profileId === null || profileId === undefined) { - throw new Error('Required parameter profileId was null or undefined when calling deleteProfile.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets the default profile. - */ - public async getDefaultProfile (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: DeviceProfile; }> { - const localVarPath = this.basePath + '/Dlna/Profiles/Default'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: DeviceProfile; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "DeviceProfile"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a single profile. - * @param profileId Profile Id. - */ - public async getProfile (profileId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: DeviceProfile; }> { - const localVarPath = this.basePath + '/Dlna/Profiles/{profileId}' - .replace('{' + 'profileId' + '}', encodeURIComponent(String(profileId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'profileId' is not null or undefined - if (profileId === null || profileId === undefined) { - throw new Error('Required parameter profileId was null or undefined when calling getProfile.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: DeviceProfile; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "DeviceProfile"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get profile infos. - */ - public async getProfileInfos (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Dlna/ProfileInfos'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Updates a profile. - * @param profileId Profile id. - * @param createProfileRequest Device profile. - */ - public async updateProfile (profileId: string, createProfileRequest?: CreateProfileRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Dlna/Profiles/{profileId}' - .replace('{' + 'profileId' + '}', encodeURIComponent(String(profileId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'profileId' is not null or undefined - if (profileId === null || profileId === undefined) { - throw new Error('Required parameter profileId was null or undefined when calling updateProfile.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(createProfileRequest, "CreateProfileRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/dlnaServerApi.ts b/jellyfin/api/dlnaServerApi.ts deleted file mode 100644 index e73fbe5..0000000 --- a/jellyfin/api/dlnaServerApi.ts +++ /dev/null @@ -1,1251 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { ProblemDetails } from '../model/problemDetails'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum DlnaServerApiApiKeys { - CustomAuthentication, -} - -export class DlnaServerApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: DlnaServerApiApiKeys, value: string) { - (this.authentications as any)[DlnaServerApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Gets Dlna media receiver registrar xml. - * @param serverId Server UUID. - */ - public async getConnectionManager (serverId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Dlna/{serverId}/ConnectionManager' - .replace('{' + 'serverId' + '}', encodeURIComponent(String(serverId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['text/xml']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'serverId' is not null or undefined - if (serverId === null || serverId === undefined) { - throw new Error('Required parameter serverId was null or undefined when calling getConnectionManager.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets Dlna media receiver registrar xml. - * @param serverId Server UUID. - */ - public async getConnectionManager2 (serverId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Dlna/{serverId}/ConnectionManager/ConnectionManager' - .replace('{' + 'serverId' + '}', encodeURIComponent(String(serverId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['text/xml']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'serverId' is not null or undefined - if (serverId === null || serverId === undefined) { - throw new Error('Required parameter serverId was null or undefined when calling getConnectionManager2.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets Dlna media receiver registrar xml. - * @param serverId Server UUID. - */ - public async getConnectionManager3 (serverId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Dlna/{serverId}/ConnectionManager/ConnectionManager.xml' - .replace('{' + 'serverId' + '}', encodeURIComponent(String(serverId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['text/xml']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'serverId' is not null or undefined - if (serverId === null || serverId === undefined) { - throw new Error('Required parameter serverId was null or undefined when calling getConnectionManager3.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets Dlna content directory xml. - * @param serverId Server UUID. - */ - public async getContentDirectory (serverId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Dlna/{serverId}/ContentDirectory' - .replace('{' + 'serverId' + '}', encodeURIComponent(String(serverId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['text/xml']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'serverId' is not null or undefined - if (serverId === null || serverId === undefined) { - throw new Error('Required parameter serverId was null or undefined when calling getContentDirectory.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets Dlna content directory xml. - * @param serverId Server UUID. - */ - public async getContentDirectory2 (serverId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Dlna/{serverId}/ContentDirectory/ContentDirectory' - .replace('{' + 'serverId' + '}', encodeURIComponent(String(serverId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['text/xml']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'serverId' is not null or undefined - if (serverId === null || serverId === undefined) { - throw new Error('Required parameter serverId was null or undefined when calling getContentDirectory2.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets Dlna content directory xml. - * @param serverId Server UUID. - */ - public async getContentDirectory3 (serverId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Dlna/{serverId}/ContentDirectory/ContentDirectory.xml' - .replace('{' + 'serverId' + '}', encodeURIComponent(String(serverId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['text/xml']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'serverId' is not null or undefined - if (serverId === null || serverId === undefined) { - throw new Error('Required parameter serverId was null or undefined when calling getContentDirectory3.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get Description Xml. - * @param serverId Server UUID. - */ - public async getDescriptionXml (serverId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Dlna/{serverId}/description' - .replace('{' + 'serverId' + '}', encodeURIComponent(String(serverId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['text/xml']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'serverId' is not null or undefined - if (serverId === null || serverId === undefined) { - throw new Error('Required parameter serverId was null or undefined when calling getDescriptionXml.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get Description Xml. - * @param serverId Server UUID. - */ - public async getDescriptionXml2 (serverId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Dlna/{serverId}/description.xml' - .replace('{' + 'serverId' + '}', encodeURIComponent(String(serverId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['text/xml']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'serverId' is not null or undefined - if (serverId === null || serverId === undefined) { - throw new Error('Required parameter serverId was null or undefined when calling getDescriptionXml2.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a server icon. - * @param fileName The icon filename. - */ - public async getIcon (fileName: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Dlna/icons/{fileName}' - .replace('{' + 'fileName' + '}', encodeURIComponent(String(fileName))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'fileName' is not null or undefined - if (fileName === null || fileName === undefined) { - throw new Error('Required parameter fileName was null or undefined when calling getIcon.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a server icon. - * @param serverId Server UUID. - * @param fileName The icon filename. - */ - public async getIconId (serverId: string, fileName: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Dlna/{serverId}/icons/{fileName}' - .replace('{' + 'serverId' + '}', encodeURIComponent(String(serverId))) - .replace('{' + 'fileName' + '}', encodeURIComponent(String(fileName))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'serverId' is not null or undefined - if (serverId === null || serverId === undefined) { - throw new Error('Required parameter serverId was null or undefined when calling getIconId.'); - } - - // verify required parameter 'fileName' is not null or undefined - if (fileName === null || fileName === undefined) { - throw new Error('Required parameter fileName was null or undefined when calling getIconId.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets Dlna media receiver registrar xml. - * @param serverId Server UUID. - */ - public async getMediaReceiverRegistrar (serverId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Dlna/{serverId}/MediaReceiverRegistrar' - .replace('{' + 'serverId' + '}', encodeURIComponent(String(serverId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['text/xml']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'serverId' is not null or undefined - if (serverId === null || serverId === undefined) { - throw new Error('Required parameter serverId was null or undefined when calling getMediaReceiverRegistrar.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets Dlna media receiver registrar xml. - * @param serverId Server UUID. - */ - public async getMediaReceiverRegistrar2 (serverId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Dlna/{serverId}/MediaReceiverRegistrar/MediaReceiverRegistrar' - .replace('{' + 'serverId' + '}', encodeURIComponent(String(serverId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['text/xml']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'serverId' is not null or undefined - if (serverId === null || serverId === undefined) { - throw new Error('Required parameter serverId was null or undefined when calling getMediaReceiverRegistrar2.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets Dlna media receiver registrar xml. - * @param serverId Server UUID. - */ - public async getMediaReceiverRegistrar3 (serverId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Dlna/{serverId}/MediaReceiverRegistrar/MediaReceiverRegistrar.xml' - .replace('{' + 'serverId' + '}', encodeURIComponent(String(serverId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['text/xml']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'serverId' is not null or undefined - if (serverId === null || serverId === undefined) { - throw new Error('Required parameter serverId was null or undefined when calling getMediaReceiverRegistrar3.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Process a connection manager control request. - * @param serverId Server UUID. - */ - public async processConnectionManagerControlRequest (serverId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Dlna/{serverId}/ConnectionManager/Control' - .replace('{' + 'serverId' + '}', encodeURIComponent(String(serverId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['text/xml']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'serverId' is not null or undefined - if (serverId === null || serverId === undefined) { - throw new Error('Required parameter serverId was null or undefined when calling processConnectionManagerControlRequest.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Process a content directory control request. - * @param serverId Server UUID. - */ - public async processContentDirectoryControlRequest (serverId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Dlna/{serverId}/ContentDirectory/Control' - .replace('{' + 'serverId' + '}', encodeURIComponent(String(serverId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['text/xml']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'serverId' is not null or undefined - if (serverId === null || serverId === undefined) { - throw new Error('Required parameter serverId was null or undefined when calling processContentDirectoryControlRequest.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Process a media receiver registrar control request. - * @param serverId Server UUID. - */ - public async processMediaReceiverRegistrarControlRequest (serverId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Dlna/{serverId}/MediaReceiverRegistrar/Control' - .replace('{' + 'serverId' + '}', encodeURIComponent(String(serverId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['text/xml']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'serverId' is not null or undefined - if (serverId === null || serverId === undefined) { - throw new Error('Required parameter serverId was null or undefined when calling processMediaReceiverRegistrarControlRequest.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/dynamicHlsApi.ts b/jellyfin/api/dynamicHlsApi.ts deleted file mode 100644 index fd9bce4..0000000 --- a/jellyfin/api/dynamicHlsApi.ts +++ /dev/null @@ -1,3058 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { EncodingContext } from '../model/encodingContext'; -import { SubtitleDeliveryMethod } from '../model/subtitleDeliveryMethod'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum DynamicHlsApiApiKeys { - CustomAuthentication, -} - -export class DynamicHlsApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: DynamicHlsApiApiKeys, value: string) { - (this.authentications as any)[DynamicHlsApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Gets a video stream using HTTP live streaming. - * @param itemId The item id. - * @param playlistId The playlist id. - * @param segmentId The segment id. - * @param container The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv. - * @param runtimeTicks The position of the requested segment in ticks. - * @param actualSegmentLengthTicks The length of the requested segment in ticks. - * @param _static Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. - * @param params The streaming parameters. - * @param tag The tag. - * @param deviceProfileId Optional. The dlna device profile id to utilize. - * @param playSessionId The play session id. - * @param segmentContainer The segment container. - * @param segmentLength The segment length. - * @param minSegments The minimum number of segments. - * @param mediaSourceId The media version id, if playing an alternate version. - * @param deviceId The device id of the client requesting. Used to stop encoding processes when needed. - * @param audioCodec Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url\'s extension. Options: aac, mp3, vorbis, wma. - * @param enableAutoStreamCopy Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. - * @param allowVideoStreamCopy Whether or not to allow copying of the video stream url. - * @param allowAudioStreamCopy Whether or not to allow copying of the audio stream url. - * @param breakOnNonKeyFrames Optional. Whether to break on non key frames. - * @param audioSampleRate Optional. Specify a specific audio sample rate, e.g. 44100. - * @param maxAudioBitDepth Optional. The maximum audio bit depth. - * @param maxStreamingBitrate Optional. The maximum streaming bitrate. - * @param audioBitRate Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. - * @param audioChannels Optional. Specify a specific number of audio channels to encode to, e.g. 2. - * @param maxAudioChannels Optional. Specify a maximum number of audio channels to encode to, e.g. 2. - * @param profile Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. - * @param level Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. - * @param framerate Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param maxFramerate Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param copyTimestamps Whether or not to copy timestamps when transcoding with an offset. Defaults to false. - * @param startTimeTicks Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. - * @param width Optional. The fixed horizontal resolution of the encoded video. - * @param height Optional. The fixed vertical resolution of the encoded video. - * @param videoBitRate Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. - * @param subtitleStreamIndex Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. - * @param subtitleMethod Optional. Specify the subtitle delivery method. - * @param maxRefFrames Optional. - * @param maxVideoBitDepth Optional. The maximum video bit depth. - * @param requireAvc Optional. Whether to require avc. - * @param deInterlace Optional. Whether to deinterlace the video. - * @param requireNonAnamorphic Optional. Whether to require a non anamorphic stream. - * @param transcodingMaxAudioChannels Optional. The maximum number of audio channels to transcode. - * @param cpuCoreLimit Optional. The limit of how many cpu cores to use. - * @param liveStreamId The live stream id. - * @param enableMpegtsM2TsMode Optional. Whether to enable the MpegtsM2Ts mode. - * @param videoCodec Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url\'s extension. Options: h265, h264, mpeg4, theora, vpx, wmv. - * @param subtitleCodec Optional. Specify a subtitle codec to encode to. - * @param transcodeReasons Optional. The transcoding reason. - * @param audioStreamIndex Optional. The index of the audio stream to use. If omitted the first audio stream will be used. - * @param videoStreamIndex Optional. The index of the video stream to use. If omitted the first video stream will be used. - * @param context Optional. The MediaBrowser.Model.Dlna.EncodingContext. - * @param streamOptions Optional. The streaming options. - */ - public async getHlsAudioSegment (itemId: string, playlistId: string, segmentId: number, container: string, runtimeTicks: number, actualSegmentLengthTicks: number, _static?: boolean, params?: string, tag?: string, deviceProfileId?: string, playSessionId?: string, segmentContainer?: string, segmentLength?: number, minSegments?: number, mediaSourceId?: string, deviceId?: string, audioCodec?: string, enableAutoStreamCopy?: boolean, allowVideoStreamCopy?: boolean, allowAudioStreamCopy?: boolean, breakOnNonKeyFrames?: boolean, audioSampleRate?: number, maxAudioBitDepth?: number, maxStreamingBitrate?: number, audioBitRate?: number, audioChannels?: number, maxAudioChannels?: number, profile?: string, level?: string, framerate?: number, maxFramerate?: number, copyTimestamps?: boolean, startTimeTicks?: number, width?: number, height?: number, videoBitRate?: number, subtitleStreamIndex?: number, subtitleMethod?: SubtitleDeliveryMethod, maxRefFrames?: number, maxVideoBitDepth?: number, requireAvc?: boolean, deInterlace?: boolean, requireNonAnamorphic?: boolean, transcodingMaxAudioChannels?: number, cpuCoreLimit?: number, liveStreamId?: string, enableMpegtsM2TsMode?: boolean, videoCodec?: string, subtitleCodec?: string, transcodeReasons?: string, audioStreamIndex?: number, videoStreamIndex?: number, context?: EncodingContext, streamOptions?: { [key: string]: string; }, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Audio/{itemId}/hls1/{playlistId}/{segmentId}.{container}' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))) - .replace('{' + 'playlistId' + '}', encodeURIComponent(String(playlistId))) - .replace('{' + 'segmentId' + '}', encodeURIComponent(String(segmentId))) - .replace('{' + 'container' + '}', encodeURIComponent(String(container))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['audio/*']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getHlsAudioSegment.'); - } - - // verify required parameter 'playlistId' is not null or undefined - if (playlistId === null || playlistId === undefined) { - throw new Error('Required parameter playlistId was null or undefined when calling getHlsAudioSegment.'); - } - - // verify required parameter 'segmentId' is not null or undefined - if (segmentId === null || segmentId === undefined) { - throw new Error('Required parameter segmentId was null or undefined when calling getHlsAudioSegment.'); - } - - // verify required parameter 'container' is not null or undefined - if (container === null || container === undefined) { - throw new Error('Required parameter container was null or undefined when calling getHlsAudioSegment.'); - } - - // verify required parameter 'runtimeTicks' is not null or undefined - if (runtimeTicks === null || runtimeTicks === undefined) { - throw new Error('Required parameter runtimeTicks was null or undefined when calling getHlsAudioSegment.'); - } - - // verify required parameter 'actualSegmentLengthTicks' is not null or undefined - if (actualSegmentLengthTicks === null || actualSegmentLengthTicks === undefined) { - throw new Error('Required parameter actualSegmentLengthTicks was null or undefined when calling getHlsAudioSegment.'); - } - - if (runtimeTicks !== undefined) { - localVarQueryParameters['runtimeTicks'] = ObjectSerializer.serialize(runtimeTicks, "number"); - } - - if (actualSegmentLengthTicks !== undefined) { - localVarQueryParameters['actualSegmentLengthTicks'] = ObjectSerializer.serialize(actualSegmentLengthTicks, "number"); - } - - if (_static !== undefined) { - localVarQueryParameters['static'] = ObjectSerializer.serialize(_static, "boolean"); - } - - if (params !== undefined) { - localVarQueryParameters['params'] = ObjectSerializer.serialize(params, "string"); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (deviceProfileId !== undefined) { - localVarQueryParameters['deviceProfileId'] = ObjectSerializer.serialize(deviceProfileId, "string"); - } - - if (playSessionId !== undefined) { - localVarQueryParameters['playSessionId'] = ObjectSerializer.serialize(playSessionId, "string"); - } - - if (segmentContainer !== undefined) { - localVarQueryParameters['segmentContainer'] = ObjectSerializer.serialize(segmentContainer, "string"); - } - - if (segmentLength !== undefined) { - localVarQueryParameters['segmentLength'] = ObjectSerializer.serialize(segmentLength, "number"); - } - - if (minSegments !== undefined) { - localVarQueryParameters['minSegments'] = ObjectSerializer.serialize(minSegments, "number"); - } - - if (mediaSourceId !== undefined) { - localVarQueryParameters['mediaSourceId'] = ObjectSerializer.serialize(mediaSourceId, "string"); - } - - if (deviceId !== undefined) { - localVarQueryParameters['deviceId'] = ObjectSerializer.serialize(deviceId, "string"); - } - - if (audioCodec !== undefined) { - localVarQueryParameters['audioCodec'] = ObjectSerializer.serialize(audioCodec, "string"); - } - - if (enableAutoStreamCopy !== undefined) { - localVarQueryParameters['enableAutoStreamCopy'] = ObjectSerializer.serialize(enableAutoStreamCopy, "boolean"); - } - - if (allowVideoStreamCopy !== undefined) { - localVarQueryParameters['allowVideoStreamCopy'] = ObjectSerializer.serialize(allowVideoStreamCopy, "boolean"); - } - - if (allowAudioStreamCopy !== undefined) { - localVarQueryParameters['allowAudioStreamCopy'] = ObjectSerializer.serialize(allowAudioStreamCopy, "boolean"); - } - - if (breakOnNonKeyFrames !== undefined) { - localVarQueryParameters['breakOnNonKeyFrames'] = ObjectSerializer.serialize(breakOnNonKeyFrames, "boolean"); - } - - if (audioSampleRate !== undefined) { - localVarQueryParameters['audioSampleRate'] = ObjectSerializer.serialize(audioSampleRate, "number"); - } - - if (maxAudioBitDepth !== undefined) { - localVarQueryParameters['maxAudioBitDepth'] = ObjectSerializer.serialize(maxAudioBitDepth, "number"); - } - - if (maxStreamingBitrate !== undefined) { - localVarQueryParameters['maxStreamingBitrate'] = ObjectSerializer.serialize(maxStreamingBitrate, "number"); - } - - if (audioBitRate !== undefined) { - localVarQueryParameters['audioBitRate'] = ObjectSerializer.serialize(audioBitRate, "number"); - } - - if (audioChannels !== undefined) { - localVarQueryParameters['audioChannels'] = ObjectSerializer.serialize(audioChannels, "number"); - } - - if (maxAudioChannels !== undefined) { - localVarQueryParameters['maxAudioChannels'] = ObjectSerializer.serialize(maxAudioChannels, "number"); - } - - if (profile !== undefined) { - localVarQueryParameters['profile'] = ObjectSerializer.serialize(profile, "string"); - } - - if (level !== undefined) { - localVarQueryParameters['level'] = ObjectSerializer.serialize(level, "string"); - } - - if (framerate !== undefined) { - localVarQueryParameters['framerate'] = ObjectSerializer.serialize(framerate, "number"); - } - - if (maxFramerate !== undefined) { - localVarQueryParameters['maxFramerate'] = ObjectSerializer.serialize(maxFramerate, "number"); - } - - if (copyTimestamps !== undefined) { - localVarQueryParameters['copyTimestamps'] = ObjectSerializer.serialize(copyTimestamps, "boolean"); - } - - if (startTimeTicks !== undefined) { - localVarQueryParameters['startTimeTicks'] = ObjectSerializer.serialize(startTimeTicks, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (videoBitRate !== undefined) { - localVarQueryParameters['videoBitRate'] = ObjectSerializer.serialize(videoBitRate, "number"); - } - - if (subtitleStreamIndex !== undefined) { - localVarQueryParameters['subtitleStreamIndex'] = ObjectSerializer.serialize(subtitleStreamIndex, "number"); - } - - if (subtitleMethod !== undefined) { - localVarQueryParameters['subtitleMethod'] = ObjectSerializer.serialize(subtitleMethod, "SubtitleDeliveryMethod"); - } - - if (maxRefFrames !== undefined) { - localVarQueryParameters['maxRefFrames'] = ObjectSerializer.serialize(maxRefFrames, "number"); - } - - if (maxVideoBitDepth !== undefined) { - localVarQueryParameters['maxVideoBitDepth'] = ObjectSerializer.serialize(maxVideoBitDepth, "number"); - } - - if (requireAvc !== undefined) { - localVarQueryParameters['requireAvc'] = ObjectSerializer.serialize(requireAvc, "boolean"); - } - - if (deInterlace !== undefined) { - localVarQueryParameters['deInterlace'] = ObjectSerializer.serialize(deInterlace, "boolean"); - } - - if (requireNonAnamorphic !== undefined) { - localVarQueryParameters['requireNonAnamorphic'] = ObjectSerializer.serialize(requireNonAnamorphic, "boolean"); - } - - if (transcodingMaxAudioChannels !== undefined) { - localVarQueryParameters['transcodingMaxAudioChannels'] = ObjectSerializer.serialize(transcodingMaxAudioChannels, "number"); - } - - if (cpuCoreLimit !== undefined) { - localVarQueryParameters['cpuCoreLimit'] = ObjectSerializer.serialize(cpuCoreLimit, "number"); - } - - if (liveStreamId !== undefined) { - localVarQueryParameters['liveStreamId'] = ObjectSerializer.serialize(liveStreamId, "string"); - } - - if (enableMpegtsM2TsMode !== undefined) { - localVarQueryParameters['enableMpegtsM2TsMode'] = ObjectSerializer.serialize(enableMpegtsM2TsMode, "boolean"); - } - - if (videoCodec !== undefined) { - localVarQueryParameters['videoCodec'] = ObjectSerializer.serialize(videoCodec, "string"); - } - - if (subtitleCodec !== undefined) { - localVarQueryParameters['subtitleCodec'] = ObjectSerializer.serialize(subtitleCodec, "string"); - } - - if (transcodeReasons !== undefined) { - localVarQueryParameters['transcodeReasons'] = ObjectSerializer.serialize(transcodeReasons, "string"); - } - - if (audioStreamIndex !== undefined) { - localVarQueryParameters['audioStreamIndex'] = ObjectSerializer.serialize(audioStreamIndex, "number"); - } - - if (videoStreamIndex !== undefined) { - localVarQueryParameters['videoStreamIndex'] = ObjectSerializer.serialize(videoStreamIndex, "number"); - } - - if (context !== undefined) { - localVarQueryParameters['context'] = ObjectSerializer.serialize(context, "EncodingContext"); - } - - if (streamOptions !== undefined) { - localVarQueryParameters['streamOptions'] = ObjectSerializer.serialize(streamOptions, "{ [key: string]: string; }"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a video stream using HTTP live streaming. - * @param itemId The item id. - * @param playlistId The playlist id. - * @param segmentId The segment id. - * @param container The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv. - * @param runtimeTicks The position of the requested segment in ticks. - * @param actualSegmentLengthTicks The length of the requested segment in ticks. - * @param _static Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. - * @param params The streaming parameters. - * @param tag The tag. - * @param deviceProfileId Optional. The dlna device profile id to utilize. - * @param playSessionId The play session id. - * @param segmentContainer The segment container. - * @param segmentLength The desired segment length. - * @param minSegments The minimum number of segments. - * @param mediaSourceId The media version id, if playing an alternate version. - * @param deviceId The device id of the client requesting. Used to stop encoding processes when needed. - * @param audioCodec Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url\'s extension. Options: aac, mp3, vorbis, wma. - * @param enableAutoStreamCopy Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. - * @param allowVideoStreamCopy Whether or not to allow copying of the video stream url. - * @param allowAudioStreamCopy Whether or not to allow copying of the audio stream url. - * @param breakOnNonKeyFrames Optional. Whether to break on non key frames. - * @param audioSampleRate Optional. Specify a specific audio sample rate, e.g. 44100. - * @param maxAudioBitDepth Optional. The maximum audio bit depth. - * @param audioBitRate Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. - * @param audioChannels Optional. Specify a specific number of audio channels to encode to, e.g. 2. - * @param maxAudioChannels Optional. Specify a maximum number of audio channels to encode to, e.g. 2. - * @param profile Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. - * @param level Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. - * @param framerate Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param maxFramerate Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param copyTimestamps Whether or not to copy timestamps when transcoding with an offset. Defaults to false. - * @param startTimeTicks Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. - * @param width Optional. The fixed horizontal resolution of the encoded video. - * @param height Optional. The fixed vertical resolution of the encoded video. - * @param maxWidth Optional. The maximum horizontal resolution of the encoded video. - * @param maxHeight Optional. The maximum vertical resolution of the encoded video. - * @param videoBitRate Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. - * @param subtitleStreamIndex Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. - * @param subtitleMethod Optional. Specify the subtitle delivery method. - * @param maxRefFrames Optional. - * @param maxVideoBitDepth Optional. The maximum video bit depth. - * @param requireAvc Optional. Whether to require avc. - * @param deInterlace Optional. Whether to deinterlace the video. - * @param requireNonAnamorphic Optional. Whether to require a non anamorphic stream. - * @param transcodingMaxAudioChannels Optional. The maximum number of audio channels to transcode. - * @param cpuCoreLimit Optional. The limit of how many cpu cores to use. - * @param liveStreamId The live stream id. - * @param enableMpegtsM2TsMode Optional. Whether to enable the MpegtsM2Ts mode. - * @param videoCodec Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url\'s extension. Options: h265, h264, mpeg4, theora, vp8, vp9, vpx (deprecated), wmv. - * @param subtitleCodec Optional. Specify a subtitle codec to encode to. - * @param transcodeReasons Optional. The transcoding reason. - * @param audioStreamIndex Optional. The index of the audio stream to use. If omitted the first audio stream will be used. - * @param videoStreamIndex Optional. The index of the video stream to use. If omitted the first video stream will be used. - * @param context Optional. The MediaBrowser.Model.Dlna.EncodingContext. - * @param streamOptions Optional. The streaming options. - */ - public async getHlsVideoSegment (itemId: string, playlistId: string, segmentId: number, container: string, runtimeTicks: number, actualSegmentLengthTicks: number, _static?: boolean, params?: string, tag?: string, deviceProfileId?: string, playSessionId?: string, segmentContainer?: string, segmentLength?: number, minSegments?: number, mediaSourceId?: string, deviceId?: string, audioCodec?: string, enableAutoStreamCopy?: boolean, allowVideoStreamCopy?: boolean, allowAudioStreamCopy?: boolean, breakOnNonKeyFrames?: boolean, audioSampleRate?: number, maxAudioBitDepth?: number, audioBitRate?: number, audioChannels?: number, maxAudioChannels?: number, profile?: string, level?: string, framerate?: number, maxFramerate?: number, copyTimestamps?: boolean, startTimeTicks?: number, width?: number, height?: number, maxWidth?: number, maxHeight?: number, videoBitRate?: number, subtitleStreamIndex?: number, subtitleMethod?: SubtitleDeliveryMethod, maxRefFrames?: number, maxVideoBitDepth?: number, requireAvc?: boolean, deInterlace?: boolean, requireNonAnamorphic?: boolean, transcodingMaxAudioChannels?: number, cpuCoreLimit?: number, liveStreamId?: string, enableMpegtsM2TsMode?: boolean, videoCodec?: string, subtitleCodec?: string, transcodeReasons?: string, audioStreamIndex?: number, videoStreamIndex?: number, context?: EncodingContext, streamOptions?: { [key: string]: string; }, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Videos/{itemId}/hls1/{playlistId}/{segmentId}.{container}' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))) - .replace('{' + 'playlistId' + '}', encodeURIComponent(String(playlistId))) - .replace('{' + 'segmentId' + '}', encodeURIComponent(String(segmentId))) - .replace('{' + 'container' + '}', encodeURIComponent(String(container))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['video/*']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getHlsVideoSegment.'); - } - - // verify required parameter 'playlistId' is not null or undefined - if (playlistId === null || playlistId === undefined) { - throw new Error('Required parameter playlistId was null or undefined when calling getHlsVideoSegment.'); - } - - // verify required parameter 'segmentId' is not null or undefined - if (segmentId === null || segmentId === undefined) { - throw new Error('Required parameter segmentId was null or undefined when calling getHlsVideoSegment.'); - } - - // verify required parameter 'container' is not null or undefined - if (container === null || container === undefined) { - throw new Error('Required parameter container was null or undefined when calling getHlsVideoSegment.'); - } - - // verify required parameter 'runtimeTicks' is not null or undefined - if (runtimeTicks === null || runtimeTicks === undefined) { - throw new Error('Required parameter runtimeTicks was null or undefined when calling getHlsVideoSegment.'); - } - - // verify required parameter 'actualSegmentLengthTicks' is not null or undefined - if (actualSegmentLengthTicks === null || actualSegmentLengthTicks === undefined) { - throw new Error('Required parameter actualSegmentLengthTicks was null or undefined when calling getHlsVideoSegment.'); - } - - if (runtimeTicks !== undefined) { - localVarQueryParameters['runtimeTicks'] = ObjectSerializer.serialize(runtimeTicks, "number"); - } - - if (actualSegmentLengthTicks !== undefined) { - localVarQueryParameters['actualSegmentLengthTicks'] = ObjectSerializer.serialize(actualSegmentLengthTicks, "number"); - } - - if (_static !== undefined) { - localVarQueryParameters['static'] = ObjectSerializer.serialize(_static, "boolean"); - } - - if (params !== undefined) { - localVarQueryParameters['params'] = ObjectSerializer.serialize(params, "string"); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (deviceProfileId !== undefined) { - localVarQueryParameters['deviceProfileId'] = ObjectSerializer.serialize(deviceProfileId, "string"); - } - - if (playSessionId !== undefined) { - localVarQueryParameters['playSessionId'] = ObjectSerializer.serialize(playSessionId, "string"); - } - - if (segmentContainer !== undefined) { - localVarQueryParameters['segmentContainer'] = ObjectSerializer.serialize(segmentContainer, "string"); - } - - if (segmentLength !== undefined) { - localVarQueryParameters['segmentLength'] = ObjectSerializer.serialize(segmentLength, "number"); - } - - if (minSegments !== undefined) { - localVarQueryParameters['minSegments'] = ObjectSerializer.serialize(minSegments, "number"); - } - - if (mediaSourceId !== undefined) { - localVarQueryParameters['mediaSourceId'] = ObjectSerializer.serialize(mediaSourceId, "string"); - } - - if (deviceId !== undefined) { - localVarQueryParameters['deviceId'] = ObjectSerializer.serialize(deviceId, "string"); - } - - if (audioCodec !== undefined) { - localVarQueryParameters['audioCodec'] = ObjectSerializer.serialize(audioCodec, "string"); - } - - if (enableAutoStreamCopy !== undefined) { - localVarQueryParameters['enableAutoStreamCopy'] = ObjectSerializer.serialize(enableAutoStreamCopy, "boolean"); - } - - if (allowVideoStreamCopy !== undefined) { - localVarQueryParameters['allowVideoStreamCopy'] = ObjectSerializer.serialize(allowVideoStreamCopy, "boolean"); - } - - if (allowAudioStreamCopy !== undefined) { - localVarQueryParameters['allowAudioStreamCopy'] = ObjectSerializer.serialize(allowAudioStreamCopy, "boolean"); - } - - if (breakOnNonKeyFrames !== undefined) { - localVarQueryParameters['breakOnNonKeyFrames'] = ObjectSerializer.serialize(breakOnNonKeyFrames, "boolean"); - } - - if (audioSampleRate !== undefined) { - localVarQueryParameters['audioSampleRate'] = ObjectSerializer.serialize(audioSampleRate, "number"); - } - - if (maxAudioBitDepth !== undefined) { - localVarQueryParameters['maxAudioBitDepth'] = ObjectSerializer.serialize(maxAudioBitDepth, "number"); - } - - if (audioBitRate !== undefined) { - localVarQueryParameters['audioBitRate'] = ObjectSerializer.serialize(audioBitRate, "number"); - } - - if (audioChannels !== undefined) { - localVarQueryParameters['audioChannels'] = ObjectSerializer.serialize(audioChannels, "number"); - } - - if (maxAudioChannels !== undefined) { - localVarQueryParameters['maxAudioChannels'] = ObjectSerializer.serialize(maxAudioChannels, "number"); - } - - if (profile !== undefined) { - localVarQueryParameters['profile'] = ObjectSerializer.serialize(profile, "string"); - } - - if (level !== undefined) { - localVarQueryParameters['level'] = ObjectSerializer.serialize(level, "string"); - } - - if (framerate !== undefined) { - localVarQueryParameters['framerate'] = ObjectSerializer.serialize(framerate, "number"); - } - - if (maxFramerate !== undefined) { - localVarQueryParameters['maxFramerate'] = ObjectSerializer.serialize(maxFramerate, "number"); - } - - if (copyTimestamps !== undefined) { - localVarQueryParameters['copyTimestamps'] = ObjectSerializer.serialize(copyTimestamps, "boolean"); - } - - if (startTimeTicks !== undefined) { - localVarQueryParameters['startTimeTicks'] = ObjectSerializer.serialize(startTimeTicks, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (videoBitRate !== undefined) { - localVarQueryParameters['videoBitRate'] = ObjectSerializer.serialize(videoBitRate, "number"); - } - - if (subtitleStreamIndex !== undefined) { - localVarQueryParameters['subtitleStreamIndex'] = ObjectSerializer.serialize(subtitleStreamIndex, "number"); - } - - if (subtitleMethod !== undefined) { - localVarQueryParameters['subtitleMethod'] = ObjectSerializer.serialize(subtitleMethod, "SubtitleDeliveryMethod"); - } - - if (maxRefFrames !== undefined) { - localVarQueryParameters['maxRefFrames'] = ObjectSerializer.serialize(maxRefFrames, "number"); - } - - if (maxVideoBitDepth !== undefined) { - localVarQueryParameters['maxVideoBitDepth'] = ObjectSerializer.serialize(maxVideoBitDepth, "number"); - } - - if (requireAvc !== undefined) { - localVarQueryParameters['requireAvc'] = ObjectSerializer.serialize(requireAvc, "boolean"); - } - - if (deInterlace !== undefined) { - localVarQueryParameters['deInterlace'] = ObjectSerializer.serialize(deInterlace, "boolean"); - } - - if (requireNonAnamorphic !== undefined) { - localVarQueryParameters['requireNonAnamorphic'] = ObjectSerializer.serialize(requireNonAnamorphic, "boolean"); - } - - if (transcodingMaxAudioChannels !== undefined) { - localVarQueryParameters['transcodingMaxAudioChannels'] = ObjectSerializer.serialize(transcodingMaxAudioChannels, "number"); - } - - if (cpuCoreLimit !== undefined) { - localVarQueryParameters['cpuCoreLimit'] = ObjectSerializer.serialize(cpuCoreLimit, "number"); - } - - if (liveStreamId !== undefined) { - localVarQueryParameters['liveStreamId'] = ObjectSerializer.serialize(liveStreamId, "string"); - } - - if (enableMpegtsM2TsMode !== undefined) { - localVarQueryParameters['enableMpegtsM2TsMode'] = ObjectSerializer.serialize(enableMpegtsM2TsMode, "boolean"); - } - - if (videoCodec !== undefined) { - localVarQueryParameters['videoCodec'] = ObjectSerializer.serialize(videoCodec, "string"); - } - - if (subtitleCodec !== undefined) { - localVarQueryParameters['subtitleCodec'] = ObjectSerializer.serialize(subtitleCodec, "string"); - } - - if (transcodeReasons !== undefined) { - localVarQueryParameters['transcodeReasons'] = ObjectSerializer.serialize(transcodeReasons, "string"); - } - - if (audioStreamIndex !== undefined) { - localVarQueryParameters['audioStreamIndex'] = ObjectSerializer.serialize(audioStreamIndex, "number"); - } - - if (videoStreamIndex !== undefined) { - localVarQueryParameters['videoStreamIndex'] = ObjectSerializer.serialize(videoStreamIndex, "number"); - } - - if (context !== undefined) { - localVarQueryParameters['context'] = ObjectSerializer.serialize(context, "EncodingContext"); - } - - if (streamOptions !== undefined) { - localVarQueryParameters['streamOptions'] = ObjectSerializer.serialize(streamOptions, "{ [key: string]: string; }"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a hls live stream. - * @param itemId The item id. - * @param container The audio container. - * @param _static Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. - * @param params The streaming parameters. - * @param tag The tag. - * @param deviceProfileId Optional. The dlna device profile id to utilize. - * @param playSessionId The play session id. - * @param segmentContainer The segment container. - * @param segmentLength The segment lenght. - * @param minSegments The minimum number of segments. - * @param mediaSourceId The media version id, if playing an alternate version. - * @param deviceId The device id of the client requesting. Used to stop encoding processes when needed. - * @param audioCodec Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url\'s extension. Options: aac, mp3, vorbis, wma. - * @param enableAutoStreamCopy Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. - * @param allowVideoStreamCopy Whether or not to allow copying of the video stream url. - * @param allowAudioStreamCopy Whether or not to allow copying of the audio stream url. - * @param breakOnNonKeyFrames Optional. Whether to break on non key frames. - * @param audioSampleRate Optional. Specify a specific audio sample rate, e.g. 44100. - * @param maxAudioBitDepth Optional. The maximum audio bit depth. - * @param audioBitRate Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. - * @param audioChannels Optional. Specify a specific number of audio channels to encode to, e.g. 2. - * @param maxAudioChannels Optional. Specify a maximum number of audio channels to encode to, e.g. 2. - * @param profile Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. - * @param level Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. - * @param framerate Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param maxFramerate Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param copyTimestamps Whether or not to copy timestamps when transcoding with an offset. Defaults to false. - * @param startTimeTicks Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. - * @param width Optional. The fixed horizontal resolution of the encoded video. - * @param height Optional. The fixed vertical resolution of the encoded video. - * @param videoBitRate Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. - * @param subtitleStreamIndex Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. - * @param subtitleMethod Optional. Specify the subtitle delivery method. - * @param maxRefFrames Optional. - * @param maxVideoBitDepth Optional. The maximum video bit depth. - * @param requireAvc Optional. Whether to require avc. - * @param deInterlace Optional. Whether to deinterlace the video. - * @param requireNonAnamorphic Optional. Whether to require a non anamorphic stream. - * @param transcodingMaxAudioChannels Optional. The maximum number of audio channels to transcode. - * @param cpuCoreLimit Optional. The limit of how many cpu cores to use. - * @param liveStreamId The live stream id. - * @param enableMpegtsM2TsMode Optional. Whether to enable the MpegtsM2Ts mode. - * @param videoCodec Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url\'s extension. Options: h265, h264, mpeg4, theora, vp8, vp9, vpx (deprecated), wmv. - * @param subtitleCodec Optional. Specify a subtitle codec to encode to. - * @param transcodeReasons Optional. The transcoding reason. - * @param audioStreamIndex Optional. The index of the audio stream to use. If omitted the first audio stream will be used. - * @param videoStreamIndex Optional. The index of the video stream to use. If omitted the first video stream will be used. - * @param context Optional. The MediaBrowser.Model.Dlna.EncodingContext. - * @param streamOptions Optional. The streaming options. - * @param maxWidth Optional. The max width. - * @param maxHeight Optional. The max height. - * @param enableSubtitlesInManifest Optional. Whether to enable subtitles in the manifest. - */ - public async getLiveHlsStream (itemId: string, container?: string, _static?: boolean, params?: string, tag?: string, deviceProfileId?: string, playSessionId?: string, segmentContainer?: string, segmentLength?: number, minSegments?: number, mediaSourceId?: string, deviceId?: string, audioCodec?: string, enableAutoStreamCopy?: boolean, allowVideoStreamCopy?: boolean, allowAudioStreamCopy?: boolean, breakOnNonKeyFrames?: boolean, audioSampleRate?: number, maxAudioBitDepth?: number, audioBitRate?: number, audioChannels?: number, maxAudioChannels?: number, profile?: string, level?: string, framerate?: number, maxFramerate?: number, copyTimestamps?: boolean, startTimeTicks?: number, width?: number, height?: number, videoBitRate?: number, subtitleStreamIndex?: number, subtitleMethod?: SubtitleDeliveryMethod, maxRefFrames?: number, maxVideoBitDepth?: number, requireAvc?: boolean, deInterlace?: boolean, requireNonAnamorphic?: boolean, transcodingMaxAudioChannels?: number, cpuCoreLimit?: number, liveStreamId?: string, enableMpegtsM2TsMode?: boolean, videoCodec?: string, subtitleCodec?: string, transcodeReasons?: string, audioStreamIndex?: number, videoStreamIndex?: number, context?: EncodingContext, streamOptions?: { [key: string]: string; }, maxWidth?: number, maxHeight?: number, enableSubtitlesInManifest?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Videos/{itemId}/live.m3u8' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/x-mpegURL']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getLiveHlsStream.'); - } - - if (container !== undefined) { - localVarQueryParameters['container'] = ObjectSerializer.serialize(container, "string"); - } - - if (_static !== undefined) { - localVarQueryParameters['static'] = ObjectSerializer.serialize(_static, "boolean"); - } - - if (params !== undefined) { - localVarQueryParameters['params'] = ObjectSerializer.serialize(params, "string"); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (deviceProfileId !== undefined) { - localVarQueryParameters['deviceProfileId'] = ObjectSerializer.serialize(deviceProfileId, "string"); - } - - if (playSessionId !== undefined) { - localVarQueryParameters['playSessionId'] = ObjectSerializer.serialize(playSessionId, "string"); - } - - if (segmentContainer !== undefined) { - localVarQueryParameters['segmentContainer'] = ObjectSerializer.serialize(segmentContainer, "string"); - } - - if (segmentLength !== undefined) { - localVarQueryParameters['segmentLength'] = ObjectSerializer.serialize(segmentLength, "number"); - } - - if (minSegments !== undefined) { - localVarQueryParameters['minSegments'] = ObjectSerializer.serialize(minSegments, "number"); - } - - if (mediaSourceId !== undefined) { - localVarQueryParameters['mediaSourceId'] = ObjectSerializer.serialize(mediaSourceId, "string"); - } - - if (deviceId !== undefined) { - localVarQueryParameters['deviceId'] = ObjectSerializer.serialize(deviceId, "string"); - } - - if (audioCodec !== undefined) { - localVarQueryParameters['audioCodec'] = ObjectSerializer.serialize(audioCodec, "string"); - } - - if (enableAutoStreamCopy !== undefined) { - localVarQueryParameters['enableAutoStreamCopy'] = ObjectSerializer.serialize(enableAutoStreamCopy, "boolean"); - } - - if (allowVideoStreamCopy !== undefined) { - localVarQueryParameters['allowVideoStreamCopy'] = ObjectSerializer.serialize(allowVideoStreamCopy, "boolean"); - } - - if (allowAudioStreamCopy !== undefined) { - localVarQueryParameters['allowAudioStreamCopy'] = ObjectSerializer.serialize(allowAudioStreamCopy, "boolean"); - } - - if (breakOnNonKeyFrames !== undefined) { - localVarQueryParameters['breakOnNonKeyFrames'] = ObjectSerializer.serialize(breakOnNonKeyFrames, "boolean"); - } - - if (audioSampleRate !== undefined) { - localVarQueryParameters['audioSampleRate'] = ObjectSerializer.serialize(audioSampleRate, "number"); - } - - if (maxAudioBitDepth !== undefined) { - localVarQueryParameters['maxAudioBitDepth'] = ObjectSerializer.serialize(maxAudioBitDepth, "number"); - } - - if (audioBitRate !== undefined) { - localVarQueryParameters['audioBitRate'] = ObjectSerializer.serialize(audioBitRate, "number"); - } - - if (audioChannels !== undefined) { - localVarQueryParameters['audioChannels'] = ObjectSerializer.serialize(audioChannels, "number"); - } - - if (maxAudioChannels !== undefined) { - localVarQueryParameters['maxAudioChannels'] = ObjectSerializer.serialize(maxAudioChannels, "number"); - } - - if (profile !== undefined) { - localVarQueryParameters['profile'] = ObjectSerializer.serialize(profile, "string"); - } - - if (level !== undefined) { - localVarQueryParameters['level'] = ObjectSerializer.serialize(level, "string"); - } - - if (framerate !== undefined) { - localVarQueryParameters['framerate'] = ObjectSerializer.serialize(framerate, "number"); - } - - if (maxFramerate !== undefined) { - localVarQueryParameters['maxFramerate'] = ObjectSerializer.serialize(maxFramerate, "number"); - } - - if (copyTimestamps !== undefined) { - localVarQueryParameters['copyTimestamps'] = ObjectSerializer.serialize(copyTimestamps, "boolean"); - } - - if (startTimeTicks !== undefined) { - localVarQueryParameters['startTimeTicks'] = ObjectSerializer.serialize(startTimeTicks, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (videoBitRate !== undefined) { - localVarQueryParameters['videoBitRate'] = ObjectSerializer.serialize(videoBitRate, "number"); - } - - if (subtitleStreamIndex !== undefined) { - localVarQueryParameters['subtitleStreamIndex'] = ObjectSerializer.serialize(subtitleStreamIndex, "number"); - } - - if (subtitleMethod !== undefined) { - localVarQueryParameters['subtitleMethod'] = ObjectSerializer.serialize(subtitleMethod, "SubtitleDeliveryMethod"); - } - - if (maxRefFrames !== undefined) { - localVarQueryParameters['maxRefFrames'] = ObjectSerializer.serialize(maxRefFrames, "number"); - } - - if (maxVideoBitDepth !== undefined) { - localVarQueryParameters['maxVideoBitDepth'] = ObjectSerializer.serialize(maxVideoBitDepth, "number"); - } - - if (requireAvc !== undefined) { - localVarQueryParameters['requireAvc'] = ObjectSerializer.serialize(requireAvc, "boolean"); - } - - if (deInterlace !== undefined) { - localVarQueryParameters['deInterlace'] = ObjectSerializer.serialize(deInterlace, "boolean"); - } - - if (requireNonAnamorphic !== undefined) { - localVarQueryParameters['requireNonAnamorphic'] = ObjectSerializer.serialize(requireNonAnamorphic, "boolean"); - } - - if (transcodingMaxAudioChannels !== undefined) { - localVarQueryParameters['transcodingMaxAudioChannels'] = ObjectSerializer.serialize(transcodingMaxAudioChannels, "number"); - } - - if (cpuCoreLimit !== undefined) { - localVarQueryParameters['cpuCoreLimit'] = ObjectSerializer.serialize(cpuCoreLimit, "number"); - } - - if (liveStreamId !== undefined) { - localVarQueryParameters['liveStreamId'] = ObjectSerializer.serialize(liveStreamId, "string"); - } - - if (enableMpegtsM2TsMode !== undefined) { - localVarQueryParameters['enableMpegtsM2TsMode'] = ObjectSerializer.serialize(enableMpegtsM2TsMode, "boolean"); - } - - if (videoCodec !== undefined) { - localVarQueryParameters['videoCodec'] = ObjectSerializer.serialize(videoCodec, "string"); - } - - if (subtitleCodec !== undefined) { - localVarQueryParameters['subtitleCodec'] = ObjectSerializer.serialize(subtitleCodec, "string"); - } - - if (transcodeReasons !== undefined) { - localVarQueryParameters['transcodeReasons'] = ObjectSerializer.serialize(transcodeReasons, "string"); - } - - if (audioStreamIndex !== undefined) { - localVarQueryParameters['audioStreamIndex'] = ObjectSerializer.serialize(audioStreamIndex, "number"); - } - - if (videoStreamIndex !== undefined) { - localVarQueryParameters['videoStreamIndex'] = ObjectSerializer.serialize(videoStreamIndex, "number"); - } - - if (context !== undefined) { - localVarQueryParameters['context'] = ObjectSerializer.serialize(context, "EncodingContext"); - } - - if (streamOptions !== undefined) { - localVarQueryParameters['streamOptions'] = ObjectSerializer.serialize(streamOptions, "{ [key: string]: string; }"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (enableSubtitlesInManifest !== undefined) { - localVarQueryParameters['enableSubtitlesInManifest'] = ObjectSerializer.serialize(enableSubtitlesInManifest, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets an audio hls playlist stream. - * @param itemId The item id. - * @param mediaSourceId The media version id, if playing an alternate version. - * @param _static Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. - * @param params The streaming parameters. - * @param tag The tag. - * @param deviceProfileId Optional. The dlna device profile id to utilize. - * @param playSessionId The play session id. - * @param segmentContainer The segment container. - * @param segmentLength The segment length. - * @param minSegments The minimum number of segments. - * @param deviceId The device id of the client requesting. Used to stop encoding processes when needed. - * @param audioCodec Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url\'s extension. Options: aac, mp3, vorbis, wma. - * @param enableAutoStreamCopy Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. - * @param allowVideoStreamCopy Whether or not to allow copying of the video stream url. - * @param allowAudioStreamCopy Whether or not to allow copying of the audio stream url. - * @param breakOnNonKeyFrames Optional. Whether to break on non key frames. - * @param audioSampleRate Optional. Specify a specific audio sample rate, e.g. 44100. - * @param maxAudioBitDepth Optional. The maximum audio bit depth. - * @param maxStreamingBitrate Optional. The maximum streaming bitrate. - * @param audioBitRate Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. - * @param audioChannels Optional. Specify a specific number of audio channels to encode to, e.g. 2. - * @param maxAudioChannels Optional. Specify a maximum number of audio channels to encode to, e.g. 2. - * @param profile Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. - * @param level Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. - * @param framerate Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param maxFramerate Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param copyTimestamps Whether or not to copy timestamps when transcoding with an offset. Defaults to false. - * @param startTimeTicks Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. - * @param width Optional. The fixed horizontal resolution of the encoded video. - * @param height Optional. The fixed vertical resolution of the encoded video. - * @param videoBitRate Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. - * @param subtitleStreamIndex Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. - * @param subtitleMethod Optional. Specify the subtitle delivery method. - * @param maxRefFrames Optional. - * @param maxVideoBitDepth Optional. The maximum video bit depth. - * @param requireAvc Optional. Whether to require avc. - * @param deInterlace Optional. Whether to deinterlace the video. - * @param requireNonAnamorphic Optional. Whether to require a non anamorphic stream. - * @param transcodingMaxAudioChannels Optional. The maximum number of audio channels to transcode. - * @param cpuCoreLimit Optional. The limit of how many cpu cores to use. - * @param liveStreamId The live stream id. - * @param enableMpegtsM2TsMode Optional. Whether to enable the MpegtsM2Ts mode. - * @param videoCodec Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url\'s extension. Options: h265, h264, mpeg4, theora, vp8, vp9, vpx (deprecated), wmv. - * @param subtitleCodec Optional. Specify a subtitle codec to encode to. - * @param transcodeReasons Optional. The transcoding reason. - * @param audioStreamIndex Optional. The index of the audio stream to use. If omitted the first audio stream will be used. - * @param videoStreamIndex Optional. The index of the video stream to use. If omitted the first video stream will be used. - * @param context Optional. The MediaBrowser.Model.Dlna.EncodingContext. - * @param streamOptions Optional. The streaming options. - * @param enableAdaptiveBitrateStreaming Enable adaptive bitrate streaming. - */ - public async getMasterHlsAudioPlaylist (itemId: string, mediaSourceId: string, _static?: boolean, params?: string, tag?: string, deviceProfileId?: string, playSessionId?: string, segmentContainer?: string, segmentLength?: number, minSegments?: number, deviceId?: string, audioCodec?: string, enableAutoStreamCopy?: boolean, allowVideoStreamCopy?: boolean, allowAudioStreamCopy?: boolean, breakOnNonKeyFrames?: boolean, audioSampleRate?: number, maxAudioBitDepth?: number, maxStreamingBitrate?: number, audioBitRate?: number, audioChannels?: number, maxAudioChannels?: number, profile?: string, level?: string, framerate?: number, maxFramerate?: number, copyTimestamps?: boolean, startTimeTicks?: number, width?: number, height?: number, videoBitRate?: number, subtitleStreamIndex?: number, subtitleMethod?: SubtitleDeliveryMethod, maxRefFrames?: number, maxVideoBitDepth?: number, requireAvc?: boolean, deInterlace?: boolean, requireNonAnamorphic?: boolean, transcodingMaxAudioChannels?: number, cpuCoreLimit?: number, liveStreamId?: string, enableMpegtsM2TsMode?: boolean, videoCodec?: string, subtitleCodec?: string, transcodeReasons?: string, audioStreamIndex?: number, videoStreamIndex?: number, context?: EncodingContext, streamOptions?: { [key: string]: string; }, enableAdaptiveBitrateStreaming?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Audio/{itemId}/master.m3u8' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/x-mpegURL']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getMasterHlsAudioPlaylist.'); - } - - // verify required parameter 'mediaSourceId' is not null or undefined - if (mediaSourceId === null || mediaSourceId === undefined) { - throw new Error('Required parameter mediaSourceId was null or undefined when calling getMasterHlsAudioPlaylist.'); - } - - if (_static !== undefined) { - localVarQueryParameters['static'] = ObjectSerializer.serialize(_static, "boolean"); - } - - if (params !== undefined) { - localVarQueryParameters['params'] = ObjectSerializer.serialize(params, "string"); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (deviceProfileId !== undefined) { - localVarQueryParameters['deviceProfileId'] = ObjectSerializer.serialize(deviceProfileId, "string"); - } - - if (playSessionId !== undefined) { - localVarQueryParameters['playSessionId'] = ObjectSerializer.serialize(playSessionId, "string"); - } - - if (segmentContainer !== undefined) { - localVarQueryParameters['segmentContainer'] = ObjectSerializer.serialize(segmentContainer, "string"); - } - - if (segmentLength !== undefined) { - localVarQueryParameters['segmentLength'] = ObjectSerializer.serialize(segmentLength, "number"); - } - - if (minSegments !== undefined) { - localVarQueryParameters['minSegments'] = ObjectSerializer.serialize(minSegments, "number"); - } - - if (mediaSourceId !== undefined) { - localVarQueryParameters['mediaSourceId'] = ObjectSerializer.serialize(mediaSourceId, "string"); - } - - if (deviceId !== undefined) { - localVarQueryParameters['deviceId'] = ObjectSerializer.serialize(deviceId, "string"); - } - - if (audioCodec !== undefined) { - localVarQueryParameters['audioCodec'] = ObjectSerializer.serialize(audioCodec, "string"); - } - - if (enableAutoStreamCopy !== undefined) { - localVarQueryParameters['enableAutoStreamCopy'] = ObjectSerializer.serialize(enableAutoStreamCopy, "boolean"); - } - - if (allowVideoStreamCopy !== undefined) { - localVarQueryParameters['allowVideoStreamCopy'] = ObjectSerializer.serialize(allowVideoStreamCopy, "boolean"); - } - - if (allowAudioStreamCopy !== undefined) { - localVarQueryParameters['allowAudioStreamCopy'] = ObjectSerializer.serialize(allowAudioStreamCopy, "boolean"); - } - - if (breakOnNonKeyFrames !== undefined) { - localVarQueryParameters['breakOnNonKeyFrames'] = ObjectSerializer.serialize(breakOnNonKeyFrames, "boolean"); - } - - if (audioSampleRate !== undefined) { - localVarQueryParameters['audioSampleRate'] = ObjectSerializer.serialize(audioSampleRate, "number"); - } - - if (maxAudioBitDepth !== undefined) { - localVarQueryParameters['maxAudioBitDepth'] = ObjectSerializer.serialize(maxAudioBitDepth, "number"); - } - - if (maxStreamingBitrate !== undefined) { - localVarQueryParameters['maxStreamingBitrate'] = ObjectSerializer.serialize(maxStreamingBitrate, "number"); - } - - if (audioBitRate !== undefined) { - localVarQueryParameters['audioBitRate'] = ObjectSerializer.serialize(audioBitRate, "number"); - } - - if (audioChannels !== undefined) { - localVarQueryParameters['audioChannels'] = ObjectSerializer.serialize(audioChannels, "number"); - } - - if (maxAudioChannels !== undefined) { - localVarQueryParameters['maxAudioChannels'] = ObjectSerializer.serialize(maxAudioChannels, "number"); - } - - if (profile !== undefined) { - localVarQueryParameters['profile'] = ObjectSerializer.serialize(profile, "string"); - } - - if (level !== undefined) { - localVarQueryParameters['level'] = ObjectSerializer.serialize(level, "string"); - } - - if (framerate !== undefined) { - localVarQueryParameters['framerate'] = ObjectSerializer.serialize(framerate, "number"); - } - - if (maxFramerate !== undefined) { - localVarQueryParameters['maxFramerate'] = ObjectSerializer.serialize(maxFramerate, "number"); - } - - if (copyTimestamps !== undefined) { - localVarQueryParameters['copyTimestamps'] = ObjectSerializer.serialize(copyTimestamps, "boolean"); - } - - if (startTimeTicks !== undefined) { - localVarQueryParameters['startTimeTicks'] = ObjectSerializer.serialize(startTimeTicks, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (videoBitRate !== undefined) { - localVarQueryParameters['videoBitRate'] = ObjectSerializer.serialize(videoBitRate, "number"); - } - - if (subtitleStreamIndex !== undefined) { - localVarQueryParameters['subtitleStreamIndex'] = ObjectSerializer.serialize(subtitleStreamIndex, "number"); - } - - if (subtitleMethod !== undefined) { - localVarQueryParameters['subtitleMethod'] = ObjectSerializer.serialize(subtitleMethod, "SubtitleDeliveryMethod"); - } - - if (maxRefFrames !== undefined) { - localVarQueryParameters['maxRefFrames'] = ObjectSerializer.serialize(maxRefFrames, "number"); - } - - if (maxVideoBitDepth !== undefined) { - localVarQueryParameters['maxVideoBitDepth'] = ObjectSerializer.serialize(maxVideoBitDepth, "number"); - } - - if (requireAvc !== undefined) { - localVarQueryParameters['requireAvc'] = ObjectSerializer.serialize(requireAvc, "boolean"); - } - - if (deInterlace !== undefined) { - localVarQueryParameters['deInterlace'] = ObjectSerializer.serialize(deInterlace, "boolean"); - } - - if (requireNonAnamorphic !== undefined) { - localVarQueryParameters['requireNonAnamorphic'] = ObjectSerializer.serialize(requireNonAnamorphic, "boolean"); - } - - if (transcodingMaxAudioChannels !== undefined) { - localVarQueryParameters['transcodingMaxAudioChannels'] = ObjectSerializer.serialize(transcodingMaxAudioChannels, "number"); - } - - if (cpuCoreLimit !== undefined) { - localVarQueryParameters['cpuCoreLimit'] = ObjectSerializer.serialize(cpuCoreLimit, "number"); - } - - if (liveStreamId !== undefined) { - localVarQueryParameters['liveStreamId'] = ObjectSerializer.serialize(liveStreamId, "string"); - } - - if (enableMpegtsM2TsMode !== undefined) { - localVarQueryParameters['enableMpegtsM2TsMode'] = ObjectSerializer.serialize(enableMpegtsM2TsMode, "boolean"); - } - - if (videoCodec !== undefined) { - localVarQueryParameters['videoCodec'] = ObjectSerializer.serialize(videoCodec, "string"); - } - - if (subtitleCodec !== undefined) { - localVarQueryParameters['subtitleCodec'] = ObjectSerializer.serialize(subtitleCodec, "string"); - } - - if (transcodeReasons !== undefined) { - localVarQueryParameters['transcodeReasons'] = ObjectSerializer.serialize(transcodeReasons, "string"); - } - - if (audioStreamIndex !== undefined) { - localVarQueryParameters['audioStreamIndex'] = ObjectSerializer.serialize(audioStreamIndex, "number"); - } - - if (videoStreamIndex !== undefined) { - localVarQueryParameters['videoStreamIndex'] = ObjectSerializer.serialize(videoStreamIndex, "number"); - } - - if (context !== undefined) { - localVarQueryParameters['context'] = ObjectSerializer.serialize(context, "EncodingContext"); - } - - if (streamOptions !== undefined) { - localVarQueryParameters['streamOptions'] = ObjectSerializer.serialize(streamOptions, "{ [key: string]: string; }"); - } - - if (enableAdaptiveBitrateStreaming !== undefined) { - localVarQueryParameters['enableAdaptiveBitrateStreaming'] = ObjectSerializer.serialize(enableAdaptiveBitrateStreaming, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a video hls playlist stream. - * @param itemId The item id. - * @param mediaSourceId The media version id, if playing an alternate version. - * @param _static Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. - * @param params The streaming parameters. - * @param tag The tag. - * @param deviceProfileId Optional. The dlna device profile id to utilize. - * @param playSessionId The play session id. - * @param segmentContainer The segment container. - * @param segmentLength The segment length. - * @param minSegments The minimum number of segments. - * @param deviceId The device id of the client requesting. Used to stop encoding processes when needed. - * @param audioCodec Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url\'s extension. Options: aac, mp3, vorbis, wma. - * @param enableAutoStreamCopy Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. - * @param allowVideoStreamCopy Whether or not to allow copying of the video stream url. - * @param allowAudioStreamCopy Whether or not to allow copying of the audio stream url. - * @param breakOnNonKeyFrames Optional. Whether to break on non key frames. - * @param audioSampleRate Optional. Specify a specific audio sample rate, e.g. 44100. - * @param maxAudioBitDepth Optional. The maximum audio bit depth. - * @param audioBitRate Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. - * @param audioChannels Optional. Specify a specific number of audio channels to encode to, e.g. 2. - * @param maxAudioChannels Optional. Specify a maximum number of audio channels to encode to, e.g. 2. - * @param profile Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. - * @param level Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. - * @param framerate Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param maxFramerate Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param copyTimestamps Whether or not to copy timestamps when transcoding with an offset. Defaults to false. - * @param startTimeTicks Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. - * @param width Optional. The fixed horizontal resolution of the encoded video. - * @param height Optional. The fixed vertical resolution of the encoded video. - * @param maxWidth Optional. The maximum horizontal resolution of the encoded video. - * @param maxHeight Optional. The maximum vertical resolution of the encoded video. - * @param videoBitRate Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. - * @param subtitleStreamIndex Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. - * @param subtitleMethod Optional. Specify the subtitle delivery method. - * @param maxRefFrames Optional. - * @param maxVideoBitDepth Optional. The maximum video bit depth. - * @param requireAvc Optional. Whether to require avc. - * @param deInterlace Optional. Whether to deinterlace the video. - * @param requireNonAnamorphic Optional. Whether to require a non anamorphic stream. - * @param transcodingMaxAudioChannels Optional. The maximum number of audio channels to transcode. - * @param cpuCoreLimit Optional. The limit of how many cpu cores to use. - * @param liveStreamId The live stream id. - * @param enableMpegtsM2TsMode Optional. Whether to enable the MpegtsM2Ts mode. - * @param videoCodec Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url\'s extension. Options: h265, h264, mpeg4, theora, vp8, vp9, vpx (deprecated), wmv. - * @param subtitleCodec Optional. Specify a subtitle codec to encode to. - * @param transcodeReasons Optional. The transcoding reason. - * @param audioStreamIndex Optional. The index of the audio stream to use. If omitted the first audio stream will be used. - * @param videoStreamIndex Optional. The index of the video stream to use. If omitted the first video stream will be used. - * @param context Optional. The MediaBrowser.Model.Dlna.EncodingContext. - * @param streamOptions Optional. The streaming options. - * @param enableAdaptiveBitrateStreaming Enable adaptive bitrate streaming. - */ - public async getMasterHlsVideoPlaylist (itemId: string, mediaSourceId: string, _static?: boolean, params?: string, tag?: string, deviceProfileId?: string, playSessionId?: string, segmentContainer?: string, segmentLength?: number, minSegments?: number, deviceId?: string, audioCodec?: string, enableAutoStreamCopy?: boolean, allowVideoStreamCopy?: boolean, allowAudioStreamCopy?: boolean, breakOnNonKeyFrames?: boolean, audioSampleRate?: number, maxAudioBitDepth?: number, audioBitRate?: number, audioChannels?: number, maxAudioChannels?: number, profile?: string, level?: string, framerate?: number, maxFramerate?: number, copyTimestamps?: boolean, startTimeTicks?: number, width?: number, height?: number, maxWidth?: number, maxHeight?: number, videoBitRate?: number, subtitleStreamIndex?: number, subtitleMethod?: SubtitleDeliveryMethod, maxRefFrames?: number, maxVideoBitDepth?: number, requireAvc?: boolean, deInterlace?: boolean, requireNonAnamorphic?: boolean, transcodingMaxAudioChannels?: number, cpuCoreLimit?: number, liveStreamId?: string, enableMpegtsM2TsMode?: boolean, videoCodec?: string, subtitleCodec?: string, transcodeReasons?: string, audioStreamIndex?: number, videoStreamIndex?: number, context?: EncodingContext, streamOptions?: { [key: string]: string; }, enableAdaptiveBitrateStreaming?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Videos/{itemId}/master.m3u8' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/x-mpegURL']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getMasterHlsVideoPlaylist.'); - } - - // verify required parameter 'mediaSourceId' is not null or undefined - if (mediaSourceId === null || mediaSourceId === undefined) { - throw new Error('Required parameter mediaSourceId was null or undefined when calling getMasterHlsVideoPlaylist.'); - } - - if (_static !== undefined) { - localVarQueryParameters['static'] = ObjectSerializer.serialize(_static, "boolean"); - } - - if (params !== undefined) { - localVarQueryParameters['params'] = ObjectSerializer.serialize(params, "string"); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (deviceProfileId !== undefined) { - localVarQueryParameters['deviceProfileId'] = ObjectSerializer.serialize(deviceProfileId, "string"); - } - - if (playSessionId !== undefined) { - localVarQueryParameters['playSessionId'] = ObjectSerializer.serialize(playSessionId, "string"); - } - - if (segmentContainer !== undefined) { - localVarQueryParameters['segmentContainer'] = ObjectSerializer.serialize(segmentContainer, "string"); - } - - if (segmentLength !== undefined) { - localVarQueryParameters['segmentLength'] = ObjectSerializer.serialize(segmentLength, "number"); - } - - if (minSegments !== undefined) { - localVarQueryParameters['minSegments'] = ObjectSerializer.serialize(minSegments, "number"); - } - - if (mediaSourceId !== undefined) { - localVarQueryParameters['mediaSourceId'] = ObjectSerializer.serialize(mediaSourceId, "string"); - } - - if (deviceId !== undefined) { - localVarQueryParameters['deviceId'] = ObjectSerializer.serialize(deviceId, "string"); - } - - if (audioCodec !== undefined) { - localVarQueryParameters['audioCodec'] = ObjectSerializer.serialize(audioCodec, "string"); - } - - if (enableAutoStreamCopy !== undefined) { - localVarQueryParameters['enableAutoStreamCopy'] = ObjectSerializer.serialize(enableAutoStreamCopy, "boolean"); - } - - if (allowVideoStreamCopy !== undefined) { - localVarQueryParameters['allowVideoStreamCopy'] = ObjectSerializer.serialize(allowVideoStreamCopy, "boolean"); - } - - if (allowAudioStreamCopy !== undefined) { - localVarQueryParameters['allowAudioStreamCopy'] = ObjectSerializer.serialize(allowAudioStreamCopy, "boolean"); - } - - if (breakOnNonKeyFrames !== undefined) { - localVarQueryParameters['breakOnNonKeyFrames'] = ObjectSerializer.serialize(breakOnNonKeyFrames, "boolean"); - } - - if (audioSampleRate !== undefined) { - localVarQueryParameters['audioSampleRate'] = ObjectSerializer.serialize(audioSampleRate, "number"); - } - - if (maxAudioBitDepth !== undefined) { - localVarQueryParameters['maxAudioBitDepth'] = ObjectSerializer.serialize(maxAudioBitDepth, "number"); - } - - if (audioBitRate !== undefined) { - localVarQueryParameters['audioBitRate'] = ObjectSerializer.serialize(audioBitRate, "number"); - } - - if (audioChannels !== undefined) { - localVarQueryParameters['audioChannels'] = ObjectSerializer.serialize(audioChannels, "number"); - } - - if (maxAudioChannels !== undefined) { - localVarQueryParameters['maxAudioChannels'] = ObjectSerializer.serialize(maxAudioChannels, "number"); - } - - if (profile !== undefined) { - localVarQueryParameters['profile'] = ObjectSerializer.serialize(profile, "string"); - } - - if (level !== undefined) { - localVarQueryParameters['level'] = ObjectSerializer.serialize(level, "string"); - } - - if (framerate !== undefined) { - localVarQueryParameters['framerate'] = ObjectSerializer.serialize(framerate, "number"); - } - - if (maxFramerate !== undefined) { - localVarQueryParameters['maxFramerate'] = ObjectSerializer.serialize(maxFramerate, "number"); - } - - if (copyTimestamps !== undefined) { - localVarQueryParameters['copyTimestamps'] = ObjectSerializer.serialize(copyTimestamps, "boolean"); - } - - if (startTimeTicks !== undefined) { - localVarQueryParameters['startTimeTicks'] = ObjectSerializer.serialize(startTimeTicks, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (videoBitRate !== undefined) { - localVarQueryParameters['videoBitRate'] = ObjectSerializer.serialize(videoBitRate, "number"); - } - - if (subtitleStreamIndex !== undefined) { - localVarQueryParameters['subtitleStreamIndex'] = ObjectSerializer.serialize(subtitleStreamIndex, "number"); - } - - if (subtitleMethod !== undefined) { - localVarQueryParameters['subtitleMethod'] = ObjectSerializer.serialize(subtitleMethod, "SubtitleDeliveryMethod"); - } - - if (maxRefFrames !== undefined) { - localVarQueryParameters['maxRefFrames'] = ObjectSerializer.serialize(maxRefFrames, "number"); - } - - if (maxVideoBitDepth !== undefined) { - localVarQueryParameters['maxVideoBitDepth'] = ObjectSerializer.serialize(maxVideoBitDepth, "number"); - } - - if (requireAvc !== undefined) { - localVarQueryParameters['requireAvc'] = ObjectSerializer.serialize(requireAvc, "boolean"); - } - - if (deInterlace !== undefined) { - localVarQueryParameters['deInterlace'] = ObjectSerializer.serialize(deInterlace, "boolean"); - } - - if (requireNonAnamorphic !== undefined) { - localVarQueryParameters['requireNonAnamorphic'] = ObjectSerializer.serialize(requireNonAnamorphic, "boolean"); - } - - if (transcodingMaxAudioChannels !== undefined) { - localVarQueryParameters['transcodingMaxAudioChannels'] = ObjectSerializer.serialize(transcodingMaxAudioChannels, "number"); - } - - if (cpuCoreLimit !== undefined) { - localVarQueryParameters['cpuCoreLimit'] = ObjectSerializer.serialize(cpuCoreLimit, "number"); - } - - if (liveStreamId !== undefined) { - localVarQueryParameters['liveStreamId'] = ObjectSerializer.serialize(liveStreamId, "string"); - } - - if (enableMpegtsM2TsMode !== undefined) { - localVarQueryParameters['enableMpegtsM2TsMode'] = ObjectSerializer.serialize(enableMpegtsM2TsMode, "boolean"); - } - - if (videoCodec !== undefined) { - localVarQueryParameters['videoCodec'] = ObjectSerializer.serialize(videoCodec, "string"); - } - - if (subtitleCodec !== undefined) { - localVarQueryParameters['subtitleCodec'] = ObjectSerializer.serialize(subtitleCodec, "string"); - } - - if (transcodeReasons !== undefined) { - localVarQueryParameters['transcodeReasons'] = ObjectSerializer.serialize(transcodeReasons, "string"); - } - - if (audioStreamIndex !== undefined) { - localVarQueryParameters['audioStreamIndex'] = ObjectSerializer.serialize(audioStreamIndex, "number"); - } - - if (videoStreamIndex !== undefined) { - localVarQueryParameters['videoStreamIndex'] = ObjectSerializer.serialize(videoStreamIndex, "number"); - } - - if (context !== undefined) { - localVarQueryParameters['context'] = ObjectSerializer.serialize(context, "EncodingContext"); - } - - if (streamOptions !== undefined) { - localVarQueryParameters['streamOptions'] = ObjectSerializer.serialize(streamOptions, "{ [key: string]: string; }"); - } - - if (enableAdaptiveBitrateStreaming !== undefined) { - localVarQueryParameters['enableAdaptiveBitrateStreaming'] = ObjectSerializer.serialize(enableAdaptiveBitrateStreaming, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets an audio stream using HTTP live streaming. - * @param itemId The item id. - * @param _static Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. - * @param params The streaming parameters. - * @param tag The tag. - * @param deviceProfileId Optional. The dlna device profile id to utilize. - * @param playSessionId The play session id. - * @param segmentContainer The segment container. - * @param segmentLength The segment length. - * @param minSegments The minimum number of segments. - * @param mediaSourceId The media version id, if playing an alternate version. - * @param deviceId The device id of the client requesting. Used to stop encoding processes when needed. - * @param audioCodec Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url\'s extension. Options: aac, mp3, vorbis, wma. - * @param enableAutoStreamCopy Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. - * @param allowVideoStreamCopy Whether or not to allow copying of the video stream url. - * @param allowAudioStreamCopy Whether or not to allow copying of the audio stream url. - * @param breakOnNonKeyFrames Optional. Whether to break on non key frames. - * @param audioSampleRate Optional. Specify a specific audio sample rate, e.g. 44100. - * @param maxAudioBitDepth Optional. The maximum audio bit depth. - * @param maxStreamingBitrate Optional. The maximum streaming bitrate. - * @param audioBitRate Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. - * @param audioChannels Optional. Specify a specific number of audio channels to encode to, e.g. 2. - * @param maxAudioChannels Optional. Specify a maximum number of audio channels to encode to, e.g. 2. - * @param profile Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. - * @param level Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. - * @param framerate Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param maxFramerate Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param copyTimestamps Whether or not to copy timestamps when transcoding with an offset. Defaults to false. - * @param startTimeTicks Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. - * @param width Optional. The fixed horizontal resolution of the encoded video. - * @param height Optional. The fixed vertical resolution of the encoded video. - * @param videoBitRate Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. - * @param subtitleStreamIndex Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. - * @param subtitleMethod Optional. Specify the subtitle delivery method. - * @param maxRefFrames Optional. - * @param maxVideoBitDepth Optional. The maximum video bit depth. - * @param requireAvc Optional. Whether to require avc. - * @param deInterlace Optional. Whether to deinterlace the video. - * @param requireNonAnamorphic Optional. Whether to require a non anamorphic stream. - * @param transcodingMaxAudioChannels Optional. The maximum number of audio channels to transcode. - * @param cpuCoreLimit Optional. The limit of how many cpu cores to use. - * @param liveStreamId The live stream id. - * @param enableMpegtsM2TsMode Optional. Whether to enable the MpegtsM2Ts mode. - * @param videoCodec Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url\'s extension. Options: h265, h264, mpeg4, theora, vpx, wmv. - * @param subtitleCodec Optional. Specify a subtitle codec to encode to. - * @param transcodeReasons Optional. The transcoding reason. - * @param audioStreamIndex Optional. The index of the audio stream to use. If omitted the first audio stream will be used. - * @param videoStreamIndex Optional. The index of the video stream to use. If omitted the first video stream will be used. - * @param context Optional. The MediaBrowser.Model.Dlna.EncodingContext. - * @param streamOptions Optional. The streaming options. - */ - public async getVariantHlsAudioPlaylist (itemId: string, _static?: boolean, params?: string, tag?: string, deviceProfileId?: string, playSessionId?: string, segmentContainer?: string, segmentLength?: number, minSegments?: number, mediaSourceId?: string, deviceId?: string, audioCodec?: string, enableAutoStreamCopy?: boolean, allowVideoStreamCopy?: boolean, allowAudioStreamCopy?: boolean, breakOnNonKeyFrames?: boolean, audioSampleRate?: number, maxAudioBitDepth?: number, maxStreamingBitrate?: number, audioBitRate?: number, audioChannels?: number, maxAudioChannels?: number, profile?: string, level?: string, framerate?: number, maxFramerate?: number, copyTimestamps?: boolean, startTimeTicks?: number, width?: number, height?: number, videoBitRate?: number, subtitleStreamIndex?: number, subtitleMethod?: SubtitleDeliveryMethod, maxRefFrames?: number, maxVideoBitDepth?: number, requireAvc?: boolean, deInterlace?: boolean, requireNonAnamorphic?: boolean, transcodingMaxAudioChannels?: number, cpuCoreLimit?: number, liveStreamId?: string, enableMpegtsM2TsMode?: boolean, videoCodec?: string, subtitleCodec?: string, transcodeReasons?: string, audioStreamIndex?: number, videoStreamIndex?: number, context?: EncodingContext, streamOptions?: { [key: string]: string; }, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Audio/{itemId}/main.m3u8' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/x-mpegURL']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getVariantHlsAudioPlaylist.'); - } - - if (_static !== undefined) { - localVarQueryParameters['static'] = ObjectSerializer.serialize(_static, "boolean"); - } - - if (params !== undefined) { - localVarQueryParameters['params'] = ObjectSerializer.serialize(params, "string"); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (deviceProfileId !== undefined) { - localVarQueryParameters['deviceProfileId'] = ObjectSerializer.serialize(deviceProfileId, "string"); - } - - if (playSessionId !== undefined) { - localVarQueryParameters['playSessionId'] = ObjectSerializer.serialize(playSessionId, "string"); - } - - if (segmentContainer !== undefined) { - localVarQueryParameters['segmentContainer'] = ObjectSerializer.serialize(segmentContainer, "string"); - } - - if (segmentLength !== undefined) { - localVarQueryParameters['segmentLength'] = ObjectSerializer.serialize(segmentLength, "number"); - } - - if (minSegments !== undefined) { - localVarQueryParameters['minSegments'] = ObjectSerializer.serialize(minSegments, "number"); - } - - if (mediaSourceId !== undefined) { - localVarQueryParameters['mediaSourceId'] = ObjectSerializer.serialize(mediaSourceId, "string"); - } - - if (deviceId !== undefined) { - localVarQueryParameters['deviceId'] = ObjectSerializer.serialize(deviceId, "string"); - } - - if (audioCodec !== undefined) { - localVarQueryParameters['audioCodec'] = ObjectSerializer.serialize(audioCodec, "string"); - } - - if (enableAutoStreamCopy !== undefined) { - localVarQueryParameters['enableAutoStreamCopy'] = ObjectSerializer.serialize(enableAutoStreamCopy, "boolean"); - } - - if (allowVideoStreamCopy !== undefined) { - localVarQueryParameters['allowVideoStreamCopy'] = ObjectSerializer.serialize(allowVideoStreamCopy, "boolean"); - } - - if (allowAudioStreamCopy !== undefined) { - localVarQueryParameters['allowAudioStreamCopy'] = ObjectSerializer.serialize(allowAudioStreamCopy, "boolean"); - } - - if (breakOnNonKeyFrames !== undefined) { - localVarQueryParameters['breakOnNonKeyFrames'] = ObjectSerializer.serialize(breakOnNonKeyFrames, "boolean"); - } - - if (audioSampleRate !== undefined) { - localVarQueryParameters['audioSampleRate'] = ObjectSerializer.serialize(audioSampleRate, "number"); - } - - if (maxAudioBitDepth !== undefined) { - localVarQueryParameters['maxAudioBitDepth'] = ObjectSerializer.serialize(maxAudioBitDepth, "number"); - } - - if (maxStreamingBitrate !== undefined) { - localVarQueryParameters['maxStreamingBitrate'] = ObjectSerializer.serialize(maxStreamingBitrate, "number"); - } - - if (audioBitRate !== undefined) { - localVarQueryParameters['audioBitRate'] = ObjectSerializer.serialize(audioBitRate, "number"); - } - - if (audioChannels !== undefined) { - localVarQueryParameters['audioChannels'] = ObjectSerializer.serialize(audioChannels, "number"); - } - - if (maxAudioChannels !== undefined) { - localVarQueryParameters['maxAudioChannels'] = ObjectSerializer.serialize(maxAudioChannels, "number"); - } - - if (profile !== undefined) { - localVarQueryParameters['profile'] = ObjectSerializer.serialize(profile, "string"); - } - - if (level !== undefined) { - localVarQueryParameters['level'] = ObjectSerializer.serialize(level, "string"); - } - - if (framerate !== undefined) { - localVarQueryParameters['framerate'] = ObjectSerializer.serialize(framerate, "number"); - } - - if (maxFramerate !== undefined) { - localVarQueryParameters['maxFramerate'] = ObjectSerializer.serialize(maxFramerate, "number"); - } - - if (copyTimestamps !== undefined) { - localVarQueryParameters['copyTimestamps'] = ObjectSerializer.serialize(copyTimestamps, "boolean"); - } - - if (startTimeTicks !== undefined) { - localVarQueryParameters['startTimeTicks'] = ObjectSerializer.serialize(startTimeTicks, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (videoBitRate !== undefined) { - localVarQueryParameters['videoBitRate'] = ObjectSerializer.serialize(videoBitRate, "number"); - } - - if (subtitleStreamIndex !== undefined) { - localVarQueryParameters['subtitleStreamIndex'] = ObjectSerializer.serialize(subtitleStreamIndex, "number"); - } - - if (subtitleMethod !== undefined) { - localVarQueryParameters['subtitleMethod'] = ObjectSerializer.serialize(subtitleMethod, "SubtitleDeliveryMethod"); - } - - if (maxRefFrames !== undefined) { - localVarQueryParameters['maxRefFrames'] = ObjectSerializer.serialize(maxRefFrames, "number"); - } - - if (maxVideoBitDepth !== undefined) { - localVarQueryParameters['maxVideoBitDepth'] = ObjectSerializer.serialize(maxVideoBitDepth, "number"); - } - - if (requireAvc !== undefined) { - localVarQueryParameters['requireAvc'] = ObjectSerializer.serialize(requireAvc, "boolean"); - } - - if (deInterlace !== undefined) { - localVarQueryParameters['deInterlace'] = ObjectSerializer.serialize(deInterlace, "boolean"); - } - - if (requireNonAnamorphic !== undefined) { - localVarQueryParameters['requireNonAnamorphic'] = ObjectSerializer.serialize(requireNonAnamorphic, "boolean"); - } - - if (transcodingMaxAudioChannels !== undefined) { - localVarQueryParameters['transcodingMaxAudioChannels'] = ObjectSerializer.serialize(transcodingMaxAudioChannels, "number"); - } - - if (cpuCoreLimit !== undefined) { - localVarQueryParameters['cpuCoreLimit'] = ObjectSerializer.serialize(cpuCoreLimit, "number"); - } - - if (liveStreamId !== undefined) { - localVarQueryParameters['liveStreamId'] = ObjectSerializer.serialize(liveStreamId, "string"); - } - - if (enableMpegtsM2TsMode !== undefined) { - localVarQueryParameters['enableMpegtsM2TsMode'] = ObjectSerializer.serialize(enableMpegtsM2TsMode, "boolean"); - } - - if (videoCodec !== undefined) { - localVarQueryParameters['videoCodec'] = ObjectSerializer.serialize(videoCodec, "string"); - } - - if (subtitleCodec !== undefined) { - localVarQueryParameters['subtitleCodec'] = ObjectSerializer.serialize(subtitleCodec, "string"); - } - - if (transcodeReasons !== undefined) { - localVarQueryParameters['transcodeReasons'] = ObjectSerializer.serialize(transcodeReasons, "string"); - } - - if (audioStreamIndex !== undefined) { - localVarQueryParameters['audioStreamIndex'] = ObjectSerializer.serialize(audioStreamIndex, "number"); - } - - if (videoStreamIndex !== undefined) { - localVarQueryParameters['videoStreamIndex'] = ObjectSerializer.serialize(videoStreamIndex, "number"); - } - - if (context !== undefined) { - localVarQueryParameters['context'] = ObjectSerializer.serialize(context, "EncodingContext"); - } - - if (streamOptions !== undefined) { - localVarQueryParameters['streamOptions'] = ObjectSerializer.serialize(streamOptions, "{ [key: string]: string; }"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a video stream using HTTP live streaming. - * @param itemId The item id. - * @param _static Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. - * @param params The streaming parameters. - * @param tag The tag. - * @param deviceProfileId Optional. The dlna device profile id to utilize. - * @param playSessionId The play session id. - * @param segmentContainer The segment container. - * @param segmentLength The segment length. - * @param minSegments The minimum number of segments. - * @param mediaSourceId The media version id, if playing an alternate version. - * @param deviceId The device id of the client requesting. Used to stop encoding processes when needed. - * @param audioCodec Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url\'s extension. Options: aac, mp3, vorbis, wma. - * @param enableAutoStreamCopy Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. - * @param allowVideoStreamCopy Whether or not to allow copying of the video stream url. - * @param allowAudioStreamCopy Whether or not to allow copying of the audio stream url. - * @param breakOnNonKeyFrames Optional. Whether to break on non key frames. - * @param audioSampleRate Optional. Specify a specific audio sample rate, e.g. 44100. - * @param maxAudioBitDepth Optional. The maximum audio bit depth. - * @param audioBitRate Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. - * @param audioChannels Optional. Specify a specific number of audio channels to encode to, e.g. 2. - * @param maxAudioChannels Optional. Specify a maximum number of audio channels to encode to, e.g. 2. - * @param profile Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. - * @param level Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. - * @param framerate Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param maxFramerate Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param copyTimestamps Whether or not to copy timestamps when transcoding with an offset. Defaults to false. - * @param startTimeTicks Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. - * @param width Optional. The fixed horizontal resolution of the encoded video. - * @param height Optional. The fixed vertical resolution of the encoded video. - * @param maxWidth Optional. The maximum horizontal resolution of the encoded video. - * @param maxHeight Optional. The maximum vertical resolution of the encoded video. - * @param videoBitRate Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. - * @param subtitleStreamIndex Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. - * @param subtitleMethod Optional. Specify the subtitle delivery method. - * @param maxRefFrames Optional. - * @param maxVideoBitDepth Optional. The maximum video bit depth. - * @param requireAvc Optional. Whether to require avc. - * @param deInterlace Optional. Whether to deinterlace the video. - * @param requireNonAnamorphic Optional. Whether to require a non anamorphic stream. - * @param transcodingMaxAudioChannels Optional. The maximum number of audio channels to transcode. - * @param cpuCoreLimit Optional. The limit of how many cpu cores to use. - * @param liveStreamId The live stream id. - * @param enableMpegtsM2TsMode Optional. Whether to enable the MpegtsM2Ts mode. - * @param videoCodec Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url\'s extension. Options: h265, h264, mpeg4, theora, vp8, vp9, vpx (deprecated), wmv. - * @param subtitleCodec Optional. Specify a subtitle codec to encode to. - * @param transcodeReasons Optional. The transcoding reason. - * @param audioStreamIndex Optional. The index of the audio stream to use. If omitted the first audio stream will be used. - * @param videoStreamIndex Optional. The index of the video stream to use. If omitted the first video stream will be used. - * @param context Optional. The MediaBrowser.Model.Dlna.EncodingContext. - * @param streamOptions Optional. The streaming options. - */ - public async getVariantHlsVideoPlaylist (itemId: string, _static?: boolean, params?: string, tag?: string, deviceProfileId?: string, playSessionId?: string, segmentContainer?: string, segmentLength?: number, minSegments?: number, mediaSourceId?: string, deviceId?: string, audioCodec?: string, enableAutoStreamCopy?: boolean, allowVideoStreamCopy?: boolean, allowAudioStreamCopy?: boolean, breakOnNonKeyFrames?: boolean, audioSampleRate?: number, maxAudioBitDepth?: number, audioBitRate?: number, audioChannels?: number, maxAudioChannels?: number, profile?: string, level?: string, framerate?: number, maxFramerate?: number, copyTimestamps?: boolean, startTimeTicks?: number, width?: number, height?: number, maxWidth?: number, maxHeight?: number, videoBitRate?: number, subtitleStreamIndex?: number, subtitleMethod?: SubtitleDeliveryMethod, maxRefFrames?: number, maxVideoBitDepth?: number, requireAvc?: boolean, deInterlace?: boolean, requireNonAnamorphic?: boolean, transcodingMaxAudioChannels?: number, cpuCoreLimit?: number, liveStreamId?: string, enableMpegtsM2TsMode?: boolean, videoCodec?: string, subtitleCodec?: string, transcodeReasons?: string, audioStreamIndex?: number, videoStreamIndex?: number, context?: EncodingContext, streamOptions?: { [key: string]: string; }, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Videos/{itemId}/main.m3u8' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/x-mpegURL']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getVariantHlsVideoPlaylist.'); - } - - if (_static !== undefined) { - localVarQueryParameters['static'] = ObjectSerializer.serialize(_static, "boolean"); - } - - if (params !== undefined) { - localVarQueryParameters['params'] = ObjectSerializer.serialize(params, "string"); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (deviceProfileId !== undefined) { - localVarQueryParameters['deviceProfileId'] = ObjectSerializer.serialize(deviceProfileId, "string"); - } - - if (playSessionId !== undefined) { - localVarQueryParameters['playSessionId'] = ObjectSerializer.serialize(playSessionId, "string"); - } - - if (segmentContainer !== undefined) { - localVarQueryParameters['segmentContainer'] = ObjectSerializer.serialize(segmentContainer, "string"); - } - - if (segmentLength !== undefined) { - localVarQueryParameters['segmentLength'] = ObjectSerializer.serialize(segmentLength, "number"); - } - - if (minSegments !== undefined) { - localVarQueryParameters['minSegments'] = ObjectSerializer.serialize(minSegments, "number"); - } - - if (mediaSourceId !== undefined) { - localVarQueryParameters['mediaSourceId'] = ObjectSerializer.serialize(mediaSourceId, "string"); - } - - if (deviceId !== undefined) { - localVarQueryParameters['deviceId'] = ObjectSerializer.serialize(deviceId, "string"); - } - - if (audioCodec !== undefined) { - localVarQueryParameters['audioCodec'] = ObjectSerializer.serialize(audioCodec, "string"); - } - - if (enableAutoStreamCopy !== undefined) { - localVarQueryParameters['enableAutoStreamCopy'] = ObjectSerializer.serialize(enableAutoStreamCopy, "boolean"); - } - - if (allowVideoStreamCopy !== undefined) { - localVarQueryParameters['allowVideoStreamCopy'] = ObjectSerializer.serialize(allowVideoStreamCopy, "boolean"); - } - - if (allowAudioStreamCopy !== undefined) { - localVarQueryParameters['allowAudioStreamCopy'] = ObjectSerializer.serialize(allowAudioStreamCopy, "boolean"); - } - - if (breakOnNonKeyFrames !== undefined) { - localVarQueryParameters['breakOnNonKeyFrames'] = ObjectSerializer.serialize(breakOnNonKeyFrames, "boolean"); - } - - if (audioSampleRate !== undefined) { - localVarQueryParameters['audioSampleRate'] = ObjectSerializer.serialize(audioSampleRate, "number"); - } - - if (maxAudioBitDepth !== undefined) { - localVarQueryParameters['maxAudioBitDepth'] = ObjectSerializer.serialize(maxAudioBitDepth, "number"); - } - - if (audioBitRate !== undefined) { - localVarQueryParameters['audioBitRate'] = ObjectSerializer.serialize(audioBitRate, "number"); - } - - if (audioChannels !== undefined) { - localVarQueryParameters['audioChannels'] = ObjectSerializer.serialize(audioChannels, "number"); - } - - if (maxAudioChannels !== undefined) { - localVarQueryParameters['maxAudioChannels'] = ObjectSerializer.serialize(maxAudioChannels, "number"); - } - - if (profile !== undefined) { - localVarQueryParameters['profile'] = ObjectSerializer.serialize(profile, "string"); - } - - if (level !== undefined) { - localVarQueryParameters['level'] = ObjectSerializer.serialize(level, "string"); - } - - if (framerate !== undefined) { - localVarQueryParameters['framerate'] = ObjectSerializer.serialize(framerate, "number"); - } - - if (maxFramerate !== undefined) { - localVarQueryParameters['maxFramerate'] = ObjectSerializer.serialize(maxFramerate, "number"); - } - - if (copyTimestamps !== undefined) { - localVarQueryParameters['copyTimestamps'] = ObjectSerializer.serialize(copyTimestamps, "boolean"); - } - - if (startTimeTicks !== undefined) { - localVarQueryParameters['startTimeTicks'] = ObjectSerializer.serialize(startTimeTicks, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (videoBitRate !== undefined) { - localVarQueryParameters['videoBitRate'] = ObjectSerializer.serialize(videoBitRate, "number"); - } - - if (subtitleStreamIndex !== undefined) { - localVarQueryParameters['subtitleStreamIndex'] = ObjectSerializer.serialize(subtitleStreamIndex, "number"); - } - - if (subtitleMethod !== undefined) { - localVarQueryParameters['subtitleMethod'] = ObjectSerializer.serialize(subtitleMethod, "SubtitleDeliveryMethod"); - } - - if (maxRefFrames !== undefined) { - localVarQueryParameters['maxRefFrames'] = ObjectSerializer.serialize(maxRefFrames, "number"); - } - - if (maxVideoBitDepth !== undefined) { - localVarQueryParameters['maxVideoBitDepth'] = ObjectSerializer.serialize(maxVideoBitDepth, "number"); - } - - if (requireAvc !== undefined) { - localVarQueryParameters['requireAvc'] = ObjectSerializer.serialize(requireAvc, "boolean"); - } - - if (deInterlace !== undefined) { - localVarQueryParameters['deInterlace'] = ObjectSerializer.serialize(deInterlace, "boolean"); - } - - if (requireNonAnamorphic !== undefined) { - localVarQueryParameters['requireNonAnamorphic'] = ObjectSerializer.serialize(requireNonAnamorphic, "boolean"); - } - - if (transcodingMaxAudioChannels !== undefined) { - localVarQueryParameters['transcodingMaxAudioChannels'] = ObjectSerializer.serialize(transcodingMaxAudioChannels, "number"); - } - - if (cpuCoreLimit !== undefined) { - localVarQueryParameters['cpuCoreLimit'] = ObjectSerializer.serialize(cpuCoreLimit, "number"); - } - - if (liveStreamId !== undefined) { - localVarQueryParameters['liveStreamId'] = ObjectSerializer.serialize(liveStreamId, "string"); - } - - if (enableMpegtsM2TsMode !== undefined) { - localVarQueryParameters['enableMpegtsM2TsMode'] = ObjectSerializer.serialize(enableMpegtsM2TsMode, "boolean"); - } - - if (videoCodec !== undefined) { - localVarQueryParameters['videoCodec'] = ObjectSerializer.serialize(videoCodec, "string"); - } - - if (subtitleCodec !== undefined) { - localVarQueryParameters['subtitleCodec'] = ObjectSerializer.serialize(subtitleCodec, "string"); - } - - if (transcodeReasons !== undefined) { - localVarQueryParameters['transcodeReasons'] = ObjectSerializer.serialize(transcodeReasons, "string"); - } - - if (audioStreamIndex !== undefined) { - localVarQueryParameters['audioStreamIndex'] = ObjectSerializer.serialize(audioStreamIndex, "number"); - } - - if (videoStreamIndex !== undefined) { - localVarQueryParameters['videoStreamIndex'] = ObjectSerializer.serialize(videoStreamIndex, "number"); - } - - if (context !== undefined) { - localVarQueryParameters['context'] = ObjectSerializer.serialize(context, "EncodingContext"); - } - - if (streamOptions !== undefined) { - localVarQueryParameters['streamOptions'] = ObjectSerializer.serialize(streamOptions, "{ [key: string]: string; }"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets an audio hls playlist stream. - * @param itemId The item id. - * @param mediaSourceId The media version id, if playing an alternate version. - * @param _static Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. - * @param params The streaming parameters. - * @param tag The tag. - * @param deviceProfileId Optional. The dlna device profile id to utilize. - * @param playSessionId The play session id. - * @param segmentContainer The segment container. - * @param segmentLength The segment length. - * @param minSegments The minimum number of segments. - * @param deviceId The device id of the client requesting. Used to stop encoding processes when needed. - * @param audioCodec Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url\'s extension. Options: aac, mp3, vorbis, wma. - * @param enableAutoStreamCopy Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. - * @param allowVideoStreamCopy Whether or not to allow copying of the video stream url. - * @param allowAudioStreamCopy Whether or not to allow copying of the audio stream url. - * @param breakOnNonKeyFrames Optional. Whether to break on non key frames. - * @param audioSampleRate Optional. Specify a specific audio sample rate, e.g. 44100. - * @param maxAudioBitDepth Optional. The maximum audio bit depth. - * @param maxStreamingBitrate Optional. The maximum streaming bitrate. - * @param audioBitRate Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. - * @param audioChannels Optional. Specify a specific number of audio channels to encode to, e.g. 2. - * @param maxAudioChannels Optional. Specify a maximum number of audio channels to encode to, e.g. 2. - * @param profile Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. - * @param level Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. - * @param framerate Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param maxFramerate Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param copyTimestamps Whether or not to copy timestamps when transcoding with an offset. Defaults to false. - * @param startTimeTicks Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. - * @param width Optional. The fixed horizontal resolution of the encoded video. - * @param height Optional. The fixed vertical resolution of the encoded video. - * @param videoBitRate Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. - * @param subtitleStreamIndex Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. - * @param subtitleMethod Optional. Specify the subtitle delivery method. - * @param maxRefFrames Optional. - * @param maxVideoBitDepth Optional. The maximum video bit depth. - * @param requireAvc Optional. Whether to require avc. - * @param deInterlace Optional. Whether to deinterlace the video. - * @param requireNonAnamorphic Optional. Whether to require a non anamorphic stream. - * @param transcodingMaxAudioChannels Optional. The maximum number of audio channels to transcode. - * @param cpuCoreLimit Optional. The limit of how many cpu cores to use. - * @param liveStreamId The live stream id. - * @param enableMpegtsM2TsMode Optional. Whether to enable the MpegtsM2Ts mode. - * @param videoCodec Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url\'s extension. Options: h265, h264, mpeg4, theora, vp8, vp9, vpx (deprecated), wmv. - * @param subtitleCodec Optional. Specify a subtitle codec to encode to. - * @param transcodeReasons Optional. The transcoding reason. - * @param audioStreamIndex Optional. The index of the audio stream to use. If omitted the first audio stream will be used. - * @param videoStreamIndex Optional. The index of the video stream to use. If omitted the first video stream will be used. - * @param context Optional. The MediaBrowser.Model.Dlna.EncodingContext. - * @param streamOptions Optional. The streaming options. - * @param enableAdaptiveBitrateStreaming Enable adaptive bitrate streaming. - */ - public async headMasterHlsAudioPlaylist (itemId: string, mediaSourceId: string, _static?: boolean, params?: string, tag?: string, deviceProfileId?: string, playSessionId?: string, segmentContainer?: string, segmentLength?: number, minSegments?: number, deviceId?: string, audioCodec?: string, enableAutoStreamCopy?: boolean, allowVideoStreamCopy?: boolean, allowAudioStreamCopy?: boolean, breakOnNonKeyFrames?: boolean, audioSampleRate?: number, maxAudioBitDepth?: number, maxStreamingBitrate?: number, audioBitRate?: number, audioChannels?: number, maxAudioChannels?: number, profile?: string, level?: string, framerate?: number, maxFramerate?: number, copyTimestamps?: boolean, startTimeTicks?: number, width?: number, height?: number, videoBitRate?: number, subtitleStreamIndex?: number, subtitleMethod?: SubtitleDeliveryMethod, maxRefFrames?: number, maxVideoBitDepth?: number, requireAvc?: boolean, deInterlace?: boolean, requireNonAnamorphic?: boolean, transcodingMaxAudioChannels?: number, cpuCoreLimit?: number, liveStreamId?: string, enableMpegtsM2TsMode?: boolean, videoCodec?: string, subtitleCodec?: string, transcodeReasons?: string, audioStreamIndex?: number, videoStreamIndex?: number, context?: EncodingContext, streamOptions?: { [key: string]: string; }, enableAdaptiveBitrateStreaming?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Audio/{itemId}/master.m3u8' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/x-mpegURL']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling headMasterHlsAudioPlaylist.'); - } - - // verify required parameter 'mediaSourceId' is not null or undefined - if (mediaSourceId === null || mediaSourceId === undefined) { - throw new Error('Required parameter mediaSourceId was null or undefined when calling headMasterHlsAudioPlaylist.'); - } - - if (_static !== undefined) { - localVarQueryParameters['static'] = ObjectSerializer.serialize(_static, "boolean"); - } - - if (params !== undefined) { - localVarQueryParameters['params'] = ObjectSerializer.serialize(params, "string"); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (deviceProfileId !== undefined) { - localVarQueryParameters['deviceProfileId'] = ObjectSerializer.serialize(deviceProfileId, "string"); - } - - if (playSessionId !== undefined) { - localVarQueryParameters['playSessionId'] = ObjectSerializer.serialize(playSessionId, "string"); - } - - if (segmentContainer !== undefined) { - localVarQueryParameters['segmentContainer'] = ObjectSerializer.serialize(segmentContainer, "string"); - } - - if (segmentLength !== undefined) { - localVarQueryParameters['segmentLength'] = ObjectSerializer.serialize(segmentLength, "number"); - } - - if (minSegments !== undefined) { - localVarQueryParameters['minSegments'] = ObjectSerializer.serialize(minSegments, "number"); - } - - if (mediaSourceId !== undefined) { - localVarQueryParameters['mediaSourceId'] = ObjectSerializer.serialize(mediaSourceId, "string"); - } - - if (deviceId !== undefined) { - localVarQueryParameters['deviceId'] = ObjectSerializer.serialize(deviceId, "string"); - } - - if (audioCodec !== undefined) { - localVarQueryParameters['audioCodec'] = ObjectSerializer.serialize(audioCodec, "string"); - } - - if (enableAutoStreamCopy !== undefined) { - localVarQueryParameters['enableAutoStreamCopy'] = ObjectSerializer.serialize(enableAutoStreamCopy, "boolean"); - } - - if (allowVideoStreamCopy !== undefined) { - localVarQueryParameters['allowVideoStreamCopy'] = ObjectSerializer.serialize(allowVideoStreamCopy, "boolean"); - } - - if (allowAudioStreamCopy !== undefined) { - localVarQueryParameters['allowAudioStreamCopy'] = ObjectSerializer.serialize(allowAudioStreamCopy, "boolean"); - } - - if (breakOnNonKeyFrames !== undefined) { - localVarQueryParameters['breakOnNonKeyFrames'] = ObjectSerializer.serialize(breakOnNonKeyFrames, "boolean"); - } - - if (audioSampleRate !== undefined) { - localVarQueryParameters['audioSampleRate'] = ObjectSerializer.serialize(audioSampleRate, "number"); - } - - if (maxAudioBitDepth !== undefined) { - localVarQueryParameters['maxAudioBitDepth'] = ObjectSerializer.serialize(maxAudioBitDepth, "number"); - } - - if (maxStreamingBitrate !== undefined) { - localVarQueryParameters['maxStreamingBitrate'] = ObjectSerializer.serialize(maxStreamingBitrate, "number"); - } - - if (audioBitRate !== undefined) { - localVarQueryParameters['audioBitRate'] = ObjectSerializer.serialize(audioBitRate, "number"); - } - - if (audioChannels !== undefined) { - localVarQueryParameters['audioChannels'] = ObjectSerializer.serialize(audioChannels, "number"); - } - - if (maxAudioChannels !== undefined) { - localVarQueryParameters['maxAudioChannels'] = ObjectSerializer.serialize(maxAudioChannels, "number"); - } - - if (profile !== undefined) { - localVarQueryParameters['profile'] = ObjectSerializer.serialize(profile, "string"); - } - - if (level !== undefined) { - localVarQueryParameters['level'] = ObjectSerializer.serialize(level, "string"); - } - - if (framerate !== undefined) { - localVarQueryParameters['framerate'] = ObjectSerializer.serialize(framerate, "number"); - } - - if (maxFramerate !== undefined) { - localVarQueryParameters['maxFramerate'] = ObjectSerializer.serialize(maxFramerate, "number"); - } - - if (copyTimestamps !== undefined) { - localVarQueryParameters['copyTimestamps'] = ObjectSerializer.serialize(copyTimestamps, "boolean"); - } - - if (startTimeTicks !== undefined) { - localVarQueryParameters['startTimeTicks'] = ObjectSerializer.serialize(startTimeTicks, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (videoBitRate !== undefined) { - localVarQueryParameters['videoBitRate'] = ObjectSerializer.serialize(videoBitRate, "number"); - } - - if (subtitleStreamIndex !== undefined) { - localVarQueryParameters['subtitleStreamIndex'] = ObjectSerializer.serialize(subtitleStreamIndex, "number"); - } - - if (subtitleMethod !== undefined) { - localVarQueryParameters['subtitleMethod'] = ObjectSerializer.serialize(subtitleMethod, "SubtitleDeliveryMethod"); - } - - if (maxRefFrames !== undefined) { - localVarQueryParameters['maxRefFrames'] = ObjectSerializer.serialize(maxRefFrames, "number"); - } - - if (maxVideoBitDepth !== undefined) { - localVarQueryParameters['maxVideoBitDepth'] = ObjectSerializer.serialize(maxVideoBitDepth, "number"); - } - - if (requireAvc !== undefined) { - localVarQueryParameters['requireAvc'] = ObjectSerializer.serialize(requireAvc, "boolean"); - } - - if (deInterlace !== undefined) { - localVarQueryParameters['deInterlace'] = ObjectSerializer.serialize(deInterlace, "boolean"); - } - - if (requireNonAnamorphic !== undefined) { - localVarQueryParameters['requireNonAnamorphic'] = ObjectSerializer.serialize(requireNonAnamorphic, "boolean"); - } - - if (transcodingMaxAudioChannels !== undefined) { - localVarQueryParameters['transcodingMaxAudioChannels'] = ObjectSerializer.serialize(transcodingMaxAudioChannels, "number"); - } - - if (cpuCoreLimit !== undefined) { - localVarQueryParameters['cpuCoreLimit'] = ObjectSerializer.serialize(cpuCoreLimit, "number"); - } - - if (liveStreamId !== undefined) { - localVarQueryParameters['liveStreamId'] = ObjectSerializer.serialize(liveStreamId, "string"); - } - - if (enableMpegtsM2TsMode !== undefined) { - localVarQueryParameters['enableMpegtsM2TsMode'] = ObjectSerializer.serialize(enableMpegtsM2TsMode, "boolean"); - } - - if (videoCodec !== undefined) { - localVarQueryParameters['videoCodec'] = ObjectSerializer.serialize(videoCodec, "string"); - } - - if (subtitleCodec !== undefined) { - localVarQueryParameters['subtitleCodec'] = ObjectSerializer.serialize(subtitleCodec, "string"); - } - - if (transcodeReasons !== undefined) { - localVarQueryParameters['transcodeReasons'] = ObjectSerializer.serialize(transcodeReasons, "string"); - } - - if (audioStreamIndex !== undefined) { - localVarQueryParameters['audioStreamIndex'] = ObjectSerializer.serialize(audioStreamIndex, "number"); - } - - if (videoStreamIndex !== undefined) { - localVarQueryParameters['videoStreamIndex'] = ObjectSerializer.serialize(videoStreamIndex, "number"); - } - - if (context !== undefined) { - localVarQueryParameters['context'] = ObjectSerializer.serialize(context, "EncodingContext"); - } - - if (streamOptions !== undefined) { - localVarQueryParameters['streamOptions'] = ObjectSerializer.serialize(streamOptions, "{ [key: string]: string; }"); - } - - if (enableAdaptiveBitrateStreaming !== undefined) { - localVarQueryParameters['enableAdaptiveBitrateStreaming'] = ObjectSerializer.serialize(enableAdaptiveBitrateStreaming, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'HEAD', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a video hls playlist stream. - * @param itemId The item id. - * @param mediaSourceId The media version id, if playing an alternate version. - * @param _static Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. - * @param params The streaming parameters. - * @param tag The tag. - * @param deviceProfileId Optional. The dlna device profile id to utilize. - * @param playSessionId The play session id. - * @param segmentContainer The segment container. - * @param segmentLength The segment length. - * @param minSegments The minimum number of segments. - * @param deviceId The device id of the client requesting. Used to stop encoding processes when needed. - * @param audioCodec Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url\'s extension. Options: aac, mp3, vorbis, wma. - * @param enableAutoStreamCopy Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. - * @param allowVideoStreamCopy Whether or not to allow copying of the video stream url. - * @param allowAudioStreamCopy Whether or not to allow copying of the audio stream url. - * @param breakOnNonKeyFrames Optional. Whether to break on non key frames. - * @param audioSampleRate Optional. Specify a specific audio sample rate, e.g. 44100. - * @param maxAudioBitDepth Optional. The maximum audio bit depth. - * @param audioBitRate Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. - * @param audioChannels Optional. Specify a specific number of audio channels to encode to, e.g. 2. - * @param maxAudioChannels Optional. Specify a maximum number of audio channels to encode to, e.g. 2. - * @param profile Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. - * @param level Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. - * @param framerate Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param maxFramerate Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param copyTimestamps Whether or not to copy timestamps when transcoding with an offset. Defaults to false. - * @param startTimeTicks Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. - * @param width Optional. The fixed horizontal resolution of the encoded video. - * @param height Optional. The fixed vertical resolution of the encoded video. - * @param maxWidth Optional. The maximum horizontal resolution of the encoded video. - * @param maxHeight Optional. The maximum vertical resolution of the encoded video. - * @param videoBitRate Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. - * @param subtitleStreamIndex Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. - * @param subtitleMethod Optional. Specify the subtitle delivery method. - * @param maxRefFrames Optional. - * @param maxVideoBitDepth Optional. The maximum video bit depth. - * @param requireAvc Optional. Whether to require avc. - * @param deInterlace Optional. Whether to deinterlace the video. - * @param requireNonAnamorphic Optional. Whether to require a non anamorphic stream. - * @param transcodingMaxAudioChannels Optional. The maximum number of audio channels to transcode. - * @param cpuCoreLimit Optional. The limit of how many cpu cores to use. - * @param liveStreamId The live stream id. - * @param enableMpegtsM2TsMode Optional. Whether to enable the MpegtsM2Ts mode. - * @param videoCodec Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url\'s extension. Options: h265, h264, mpeg4, theora, vp8, vp9, vpx (deprecated), wmv. - * @param subtitleCodec Optional. Specify a subtitle codec to encode to. - * @param transcodeReasons Optional. The transcoding reason. - * @param audioStreamIndex Optional. The index of the audio stream to use. If omitted the first audio stream will be used. - * @param videoStreamIndex Optional. The index of the video stream to use. If omitted the first video stream will be used. - * @param context Optional. The MediaBrowser.Model.Dlna.EncodingContext. - * @param streamOptions Optional. The streaming options. - * @param enableAdaptiveBitrateStreaming Enable adaptive bitrate streaming. - */ - public async headMasterHlsVideoPlaylist (itemId: string, mediaSourceId: string, _static?: boolean, params?: string, tag?: string, deviceProfileId?: string, playSessionId?: string, segmentContainer?: string, segmentLength?: number, minSegments?: number, deviceId?: string, audioCodec?: string, enableAutoStreamCopy?: boolean, allowVideoStreamCopy?: boolean, allowAudioStreamCopy?: boolean, breakOnNonKeyFrames?: boolean, audioSampleRate?: number, maxAudioBitDepth?: number, audioBitRate?: number, audioChannels?: number, maxAudioChannels?: number, profile?: string, level?: string, framerate?: number, maxFramerate?: number, copyTimestamps?: boolean, startTimeTicks?: number, width?: number, height?: number, maxWidth?: number, maxHeight?: number, videoBitRate?: number, subtitleStreamIndex?: number, subtitleMethod?: SubtitleDeliveryMethod, maxRefFrames?: number, maxVideoBitDepth?: number, requireAvc?: boolean, deInterlace?: boolean, requireNonAnamorphic?: boolean, transcodingMaxAudioChannels?: number, cpuCoreLimit?: number, liveStreamId?: string, enableMpegtsM2TsMode?: boolean, videoCodec?: string, subtitleCodec?: string, transcodeReasons?: string, audioStreamIndex?: number, videoStreamIndex?: number, context?: EncodingContext, streamOptions?: { [key: string]: string; }, enableAdaptiveBitrateStreaming?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Videos/{itemId}/master.m3u8' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/x-mpegURL']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling headMasterHlsVideoPlaylist.'); - } - - // verify required parameter 'mediaSourceId' is not null or undefined - if (mediaSourceId === null || mediaSourceId === undefined) { - throw new Error('Required parameter mediaSourceId was null or undefined when calling headMasterHlsVideoPlaylist.'); - } - - if (_static !== undefined) { - localVarQueryParameters['static'] = ObjectSerializer.serialize(_static, "boolean"); - } - - if (params !== undefined) { - localVarQueryParameters['params'] = ObjectSerializer.serialize(params, "string"); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (deviceProfileId !== undefined) { - localVarQueryParameters['deviceProfileId'] = ObjectSerializer.serialize(deviceProfileId, "string"); - } - - if (playSessionId !== undefined) { - localVarQueryParameters['playSessionId'] = ObjectSerializer.serialize(playSessionId, "string"); - } - - if (segmentContainer !== undefined) { - localVarQueryParameters['segmentContainer'] = ObjectSerializer.serialize(segmentContainer, "string"); - } - - if (segmentLength !== undefined) { - localVarQueryParameters['segmentLength'] = ObjectSerializer.serialize(segmentLength, "number"); - } - - if (minSegments !== undefined) { - localVarQueryParameters['minSegments'] = ObjectSerializer.serialize(minSegments, "number"); - } - - if (mediaSourceId !== undefined) { - localVarQueryParameters['mediaSourceId'] = ObjectSerializer.serialize(mediaSourceId, "string"); - } - - if (deviceId !== undefined) { - localVarQueryParameters['deviceId'] = ObjectSerializer.serialize(deviceId, "string"); - } - - if (audioCodec !== undefined) { - localVarQueryParameters['audioCodec'] = ObjectSerializer.serialize(audioCodec, "string"); - } - - if (enableAutoStreamCopy !== undefined) { - localVarQueryParameters['enableAutoStreamCopy'] = ObjectSerializer.serialize(enableAutoStreamCopy, "boolean"); - } - - if (allowVideoStreamCopy !== undefined) { - localVarQueryParameters['allowVideoStreamCopy'] = ObjectSerializer.serialize(allowVideoStreamCopy, "boolean"); - } - - if (allowAudioStreamCopy !== undefined) { - localVarQueryParameters['allowAudioStreamCopy'] = ObjectSerializer.serialize(allowAudioStreamCopy, "boolean"); - } - - if (breakOnNonKeyFrames !== undefined) { - localVarQueryParameters['breakOnNonKeyFrames'] = ObjectSerializer.serialize(breakOnNonKeyFrames, "boolean"); - } - - if (audioSampleRate !== undefined) { - localVarQueryParameters['audioSampleRate'] = ObjectSerializer.serialize(audioSampleRate, "number"); - } - - if (maxAudioBitDepth !== undefined) { - localVarQueryParameters['maxAudioBitDepth'] = ObjectSerializer.serialize(maxAudioBitDepth, "number"); - } - - if (audioBitRate !== undefined) { - localVarQueryParameters['audioBitRate'] = ObjectSerializer.serialize(audioBitRate, "number"); - } - - if (audioChannels !== undefined) { - localVarQueryParameters['audioChannels'] = ObjectSerializer.serialize(audioChannels, "number"); - } - - if (maxAudioChannels !== undefined) { - localVarQueryParameters['maxAudioChannels'] = ObjectSerializer.serialize(maxAudioChannels, "number"); - } - - if (profile !== undefined) { - localVarQueryParameters['profile'] = ObjectSerializer.serialize(profile, "string"); - } - - if (level !== undefined) { - localVarQueryParameters['level'] = ObjectSerializer.serialize(level, "string"); - } - - if (framerate !== undefined) { - localVarQueryParameters['framerate'] = ObjectSerializer.serialize(framerate, "number"); - } - - if (maxFramerate !== undefined) { - localVarQueryParameters['maxFramerate'] = ObjectSerializer.serialize(maxFramerate, "number"); - } - - if (copyTimestamps !== undefined) { - localVarQueryParameters['copyTimestamps'] = ObjectSerializer.serialize(copyTimestamps, "boolean"); - } - - if (startTimeTicks !== undefined) { - localVarQueryParameters['startTimeTicks'] = ObjectSerializer.serialize(startTimeTicks, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (videoBitRate !== undefined) { - localVarQueryParameters['videoBitRate'] = ObjectSerializer.serialize(videoBitRate, "number"); - } - - if (subtitleStreamIndex !== undefined) { - localVarQueryParameters['subtitleStreamIndex'] = ObjectSerializer.serialize(subtitleStreamIndex, "number"); - } - - if (subtitleMethod !== undefined) { - localVarQueryParameters['subtitleMethod'] = ObjectSerializer.serialize(subtitleMethod, "SubtitleDeliveryMethod"); - } - - if (maxRefFrames !== undefined) { - localVarQueryParameters['maxRefFrames'] = ObjectSerializer.serialize(maxRefFrames, "number"); - } - - if (maxVideoBitDepth !== undefined) { - localVarQueryParameters['maxVideoBitDepth'] = ObjectSerializer.serialize(maxVideoBitDepth, "number"); - } - - if (requireAvc !== undefined) { - localVarQueryParameters['requireAvc'] = ObjectSerializer.serialize(requireAvc, "boolean"); - } - - if (deInterlace !== undefined) { - localVarQueryParameters['deInterlace'] = ObjectSerializer.serialize(deInterlace, "boolean"); - } - - if (requireNonAnamorphic !== undefined) { - localVarQueryParameters['requireNonAnamorphic'] = ObjectSerializer.serialize(requireNonAnamorphic, "boolean"); - } - - if (transcodingMaxAudioChannels !== undefined) { - localVarQueryParameters['transcodingMaxAudioChannels'] = ObjectSerializer.serialize(transcodingMaxAudioChannels, "number"); - } - - if (cpuCoreLimit !== undefined) { - localVarQueryParameters['cpuCoreLimit'] = ObjectSerializer.serialize(cpuCoreLimit, "number"); - } - - if (liveStreamId !== undefined) { - localVarQueryParameters['liveStreamId'] = ObjectSerializer.serialize(liveStreamId, "string"); - } - - if (enableMpegtsM2TsMode !== undefined) { - localVarQueryParameters['enableMpegtsM2TsMode'] = ObjectSerializer.serialize(enableMpegtsM2TsMode, "boolean"); - } - - if (videoCodec !== undefined) { - localVarQueryParameters['videoCodec'] = ObjectSerializer.serialize(videoCodec, "string"); - } - - if (subtitleCodec !== undefined) { - localVarQueryParameters['subtitleCodec'] = ObjectSerializer.serialize(subtitleCodec, "string"); - } - - if (transcodeReasons !== undefined) { - localVarQueryParameters['transcodeReasons'] = ObjectSerializer.serialize(transcodeReasons, "string"); - } - - if (audioStreamIndex !== undefined) { - localVarQueryParameters['audioStreamIndex'] = ObjectSerializer.serialize(audioStreamIndex, "number"); - } - - if (videoStreamIndex !== undefined) { - localVarQueryParameters['videoStreamIndex'] = ObjectSerializer.serialize(videoStreamIndex, "number"); - } - - if (context !== undefined) { - localVarQueryParameters['context'] = ObjectSerializer.serialize(context, "EncodingContext"); - } - - if (streamOptions !== undefined) { - localVarQueryParameters['streamOptions'] = ObjectSerializer.serialize(streamOptions, "{ [key: string]: string; }"); - } - - if (enableAdaptiveBitrateStreaming !== undefined) { - localVarQueryParameters['enableAdaptiveBitrateStreaming'] = ObjectSerializer.serialize(enableAdaptiveBitrateStreaming, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'HEAD', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/environmentApi.ts b/jellyfin/api/environmentApi.ts deleted file mode 100644 index 4e63646..0000000 --- a/jellyfin/api/environmentApi.ts +++ /dev/null @@ -1,521 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { DefaultDirectoryBrowserInfoDto } from '../model/defaultDirectoryBrowserInfoDto'; -import { FileSystemEntryInfo } from '../model/fileSystemEntryInfo'; -import { ProblemDetails } from '../model/problemDetails'; -import { ValidatePathRequest } from '../model/validatePathRequest'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum EnvironmentApiApiKeys { - CustomAuthentication, -} - -export class EnvironmentApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: EnvironmentApiApiKeys, value: string) { - (this.authentications as any)[EnvironmentApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Get Default directory browser. - */ - public async getDefaultDirectoryBrowser (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: DefaultDirectoryBrowserInfoDto; }> { - const localVarPath = this.basePath + '/Environment/DefaultDirectoryBrowser'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: DefaultDirectoryBrowserInfoDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "DefaultDirectoryBrowserInfoDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets the contents of a given directory in the file system. - * @param path The path. - * @param includeFiles An optional filter to include or exclude files from the results. true/false. - * @param includeDirectories An optional filter to include or exclude folders from the results. true/false. - */ - public async getDirectoryContents (path: string, includeFiles?: boolean, includeDirectories?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Environment/DirectoryContents'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'path' is not null or undefined - if (path === null || path === undefined) { - throw new Error('Required parameter path was null or undefined when calling getDirectoryContents.'); - } - - if (path !== undefined) { - localVarQueryParameters['path'] = ObjectSerializer.serialize(path, "string"); - } - - if (includeFiles !== undefined) { - localVarQueryParameters['includeFiles'] = ObjectSerializer.serialize(includeFiles, "boolean"); - } - - if (includeDirectories !== undefined) { - localVarQueryParameters['includeDirectories'] = ObjectSerializer.serialize(includeDirectories, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets available drives from the server\'s file system. - */ - public async getDrives (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Environment/Drives'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets network paths. - */ - public async getNetworkShares (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Environment/NetworkShares'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets the parent path of a given path. - * @param path The path. - */ - public async getParentPath (path: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: string; }> { - const localVarPath = this.basePath + '/Environment/ParentPath'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'path' is not null or undefined - if (path === null || path === undefined) { - throw new Error('Required parameter path was null or undefined when calling getParentPath.'); - } - - if (path !== undefined) { - localVarQueryParameters['path'] = ObjectSerializer.serialize(path, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: string; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "string"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Validates path. - * @param validatePathRequest Validate request object. - */ - public async validatePath (validatePathRequest: ValidatePathRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Environment/ValidatePath'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'validatePathRequest' is not null or undefined - if (validatePathRequest === null || validatePathRequest === undefined) { - throw new Error('Required parameter validatePathRequest was null or undefined when calling validatePath.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(validatePathRequest, "ValidatePathRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/filterApi.ts b/jellyfin/api/filterApi.ts deleted file mode 100644 index 121bb9a..0000000 --- a/jellyfin/api/filterApi.ts +++ /dev/null @@ -1,294 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { BaseItemKind } from '../model/baseItemKind'; -import { QueryFilters } from '../model/queryFilters'; -import { QueryFiltersLegacy } from '../model/queryFiltersLegacy'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum FilterApiApiKeys { - CustomAuthentication, -} - -export class FilterApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: FilterApiApiKeys, value: string) { - (this.authentications as any)[FilterApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Gets query filters. - * @param userId Optional. User id. - * @param parentId Optional. Specify this to localize the search to a specific item or folder. Omit to use the root. - * @param includeItemTypes Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. - * @param isAiring Optional. Is item airing. - * @param isMovie Optional. Is item movie. - * @param isSports Optional. Is item sports. - * @param isKids Optional. Is item kids. - * @param isNews Optional. Is item news. - * @param isSeries Optional. Is item series. - * @param recursive Optional. Search recursive. - */ - public async getQueryFilters (userId?: string, parentId?: string, includeItemTypes?: Array, isAiring?: boolean, isMovie?: boolean, isSports?: boolean, isKids?: boolean, isNews?: boolean, isSeries?: boolean, recursive?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: QueryFilters; }> { - const localVarPath = this.basePath + '/Items/Filters2'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (parentId !== undefined) { - localVarQueryParameters['parentId'] = ObjectSerializer.serialize(parentId, "string"); - } - - if (includeItemTypes !== undefined) { - localVarQueryParameters['includeItemTypes'] = ObjectSerializer.serialize(includeItemTypes, "Array"); - } - - if (isAiring !== undefined) { - localVarQueryParameters['isAiring'] = ObjectSerializer.serialize(isAiring, "boolean"); - } - - if (isMovie !== undefined) { - localVarQueryParameters['isMovie'] = ObjectSerializer.serialize(isMovie, "boolean"); - } - - if (isSports !== undefined) { - localVarQueryParameters['isSports'] = ObjectSerializer.serialize(isSports, "boolean"); - } - - if (isKids !== undefined) { - localVarQueryParameters['isKids'] = ObjectSerializer.serialize(isKids, "boolean"); - } - - if (isNews !== undefined) { - localVarQueryParameters['isNews'] = ObjectSerializer.serialize(isNews, "boolean"); - } - - if (isSeries !== undefined) { - localVarQueryParameters['isSeries'] = ObjectSerializer.serialize(isSeries, "boolean"); - } - - if (recursive !== undefined) { - localVarQueryParameters['recursive'] = ObjectSerializer.serialize(recursive, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: QueryFilters; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "QueryFilters"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets legacy query filters. - * @param userId Optional. User id. - * @param parentId Optional. Parent id. - * @param includeItemTypes Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. - * @param mediaTypes Optional. Filter by MediaType. Allows multiple, comma delimited. - */ - public async getQueryFiltersLegacy (userId?: string, parentId?: string, includeItemTypes?: Array, mediaTypes?: Array, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: QueryFiltersLegacy; }> { - const localVarPath = this.basePath + '/Items/Filters'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (parentId !== undefined) { - localVarQueryParameters['parentId'] = ObjectSerializer.serialize(parentId, "string"); - } - - if (includeItemTypes !== undefined) { - localVarQueryParameters['includeItemTypes'] = ObjectSerializer.serialize(includeItemTypes, "Array"); - } - - if (mediaTypes !== undefined) { - localVarQueryParameters['mediaTypes'] = ObjectSerializer.serialize(mediaTypes, "Array"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: QueryFiltersLegacy; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "QueryFiltersLegacy"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/genresApi.ts b/jellyfin/api/genresApi.ts deleted file mode 100644 index 0f5cfb2..0000000 --- a/jellyfin/api/genresApi.ts +++ /dev/null @@ -1,329 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { BaseItemDto } from '../model/baseItemDto'; -import { BaseItemDtoQueryResult } from '../model/baseItemDtoQueryResult'; -import { BaseItemKind } from '../model/baseItemKind'; -import { ImageType } from '../model/imageType'; -import { ItemFields } from '../model/itemFields'; -import { SortOrder } from '../model/sortOrder'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum GenresApiApiKeys { - CustomAuthentication, -} - -export class GenresApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: GenresApiApiKeys, value: string) { - (this.authentications as any)[GenresApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Gets a genre, by name. - * @param genreName The genre name. - * @param userId The user id. - */ - public async getGenre (genreName: string, userId?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDto; }> { - const localVarPath = this.basePath + '/Genres/{genreName}' - .replace('{' + 'genreName' + '}', encodeURIComponent(String(genreName))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'genreName' is not null or undefined - if (genreName === null || genreName === undefined) { - throw new Error('Required parameter genreName was null or undefined when calling getGenre.'); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets all genres from a given item, folder, or the entire library. - * @param startIndex Optional. The record index to start at. All items with a lower index will be dropped from the results. - * @param limit Optional. The maximum number of records to return. - * @param searchTerm The search term. - * @param parentId Specify this to localize the search to a specific item or folder. Omit to use the root. - * @param fields Optional. Specify additional fields of information to return in the output. - * @param excludeItemTypes Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited. - * @param includeItemTypes Optional. If specified, results will be filtered in based on item type. This allows multiple, comma delimited. - * @param isFavorite Optional filter by items that are marked as favorite, or not. - * @param imageTypeLimit Optional, the max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - * @param userId User id. - * @param nameStartsWithOrGreater Optional filter by items whose name is sorted equally or greater than a given input string. - * @param nameStartsWith Optional filter by items whose name is sorted equally than a given input string. - * @param nameLessThan Optional filter by items whose name is equally or lesser than a given input string. - * @param sortBy Optional. Specify one or more sort orders, comma delimited. - * @param sortOrder Sort Order - Ascending,Descending. - * @param enableImages Optional, include image information in output. - * @param enableTotalRecordCount Optional. Include total record count. - */ - public async getGenres (startIndex?: number, limit?: number, searchTerm?: string, parentId?: string, fields?: Array, excludeItemTypes?: Array, includeItemTypes?: Array, isFavorite?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, userId?: string, nameStartsWithOrGreater?: string, nameStartsWith?: string, nameLessThan?: string, sortBy?: Array, sortOrder?: Array, enableImages?: boolean, enableTotalRecordCount?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Genres'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (startIndex !== undefined) { - localVarQueryParameters['startIndex'] = ObjectSerializer.serialize(startIndex, "number"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (searchTerm !== undefined) { - localVarQueryParameters['searchTerm'] = ObjectSerializer.serialize(searchTerm, "string"); - } - - if (parentId !== undefined) { - localVarQueryParameters['parentId'] = ObjectSerializer.serialize(parentId, "string"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (excludeItemTypes !== undefined) { - localVarQueryParameters['excludeItemTypes'] = ObjectSerializer.serialize(excludeItemTypes, "Array"); - } - - if (includeItemTypes !== undefined) { - localVarQueryParameters['includeItemTypes'] = ObjectSerializer.serialize(includeItemTypes, "Array"); - } - - if (isFavorite !== undefined) { - localVarQueryParameters['isFavorite'] = ObjectSerializer.serialize(isFavorite, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (nameStartsWithOrGreater !== undefined) { - localVarQueryParameters['nameStartsWithOrGreater'] = ObjectSerializer.serialize(nameStartsWithOrGreater, "string"); - } - - if (nameStartsWith !== undefined) { - localVarQueryParameters['nameStartsWith'] = ObjectSerializer.serialize(nameStartsWith, "string"); - } - - if (nameLessThan !== undefined) { - localVarQueryParameters['nameLessThan'] = ObjectSerializer.serialize(nameLessThan, "string"); - } - - if (sortBy !== undefined) { - localVarQueryParameters['sortBy'] = ObjectSerializer.serialize(sortBy, "Array"); - } - - if (sortOrder !== undefined) { - localVarQueryParameters['sortOrder'] = ObjectSerializer.serialize(sortOrder, "Array"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - if (enableTotalRecordCount !== undefined) { - localVarQueryParameters['enableTotalRecordCount'] = ObjectSerializer.serialize(enableTotalRecordCount, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/hlsSegmentApi.ts b/jellyfin/api/hlsSegmentApi.ts deleted file mode 100644 index 7b18b5c..0000000 --- a/jellyfin/api/hlsSegmentApi.ts +++ /dev/null @@ -1,490 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { ProblemDetails } from '../model/problemDetails'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum HlsSegmentApiApiKeys { - CustomAuthentication, -} - -export class HlsSegmentApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: HlsSegmentApiApiKeys, value: string) { - (this.authentications as any)[HlsSegmentApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Gets the specified audio segment for an audio item. - * @param itemId The item id. - * @param segmentId The segment id. - */ - public async getHlsAudioSegmentLegacyAac (itemId: string, segmentId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Audio/{itemId}/hls/{segmentId}/stream.aac' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))) - .replace('{' + 'segmentId' + '}', encodeURIComponent(String(segmentId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['audio/*']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getHlsAudioSegmentLegacyAac.'); - } - - // verify required parameter 'segmentId' is not null or undefined - if (segmentId === null || segmentId === undefined) { - throw new Error('Required parameter segmentId was null or undefined when calling getHlsAudioSegmentLegacyAac.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets the specified audio segment for an audio item. - * @param itemId The item id. - * @param segmentId The segment id. - */ - public async getHlsAudioSegmentLegacyMp3 (itemId: string, segmentId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Audio/{itemId}/hls/{segmentId}/stream.mp3' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))) - .replace('{' + 'segmentId' + '}', encodeURIComponent(String(segmentId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['audio/*']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getHlsAudioSegmentLegacyMp3.'); - } - - // verify required parameter 'segmentId' is not null or undefined - if (segmentId === null || segmentId === undefined) { - throw new Error('Required parameter segmentId was null or undefined when calling getHlsAudioSegmentLegacyMp3.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a hls video playlist. - * @param itemId The video id. - * @param playlistId The playlist id. - */ - public async getHlsPlaylistLegacy (itemId: string, playlistId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Videos/{itemId}/hls/{playlistId}/stream.m3u8' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))) - .replace('{' + 'playlistId' + '}', encodeURIComponent(String(playlistId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/x-mpegURL']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getHlsPlaylistLegacy.'); - } - - // verify required parameter 'playlistId' is not null or undefined - if (playlistId === null || playlistId === undefined) { - throw new Error('Required parameter playlistId was null or undefined when calling getHlsPlaylistLegacy.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a hls video segment. - * @param itemId The item id. - * @param playlistId The playlist id. - * @param segmentId The segment id. - * @param segmentContainer The segment container. - */ - public async getHlsVideoSegmentLegacy (itemId: string, playlistId: string, segmentId: string, segmentContainer: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Videos/{itemId}/hls/{playlistId}/{segmentId}.{segmentContainer}' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))) - .replace('{' + 'playlistId' + '}', encodeURIComponent(String(playlistId))) - .replace('{' + 'segmentId' + '}', encodeURIComponent(String(segmentId))) - .replace('{' + 'segmentContainer' + '}', encodeURIComponent(String(segmentContainer))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['video/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getHlsVideoSegmentLegacy.'); - } - - // verify required parameter 'playlistId' is not null or undefined - if (playlistId === null || playlistId === undefined) { - throw new Error('Required parameter playlistId was null or undefined when calling getHlsVideoSegmentLegacy.'); - } - - // verify required parameter 'segmentId' is not null or undefined - if (segmentId === null || segmentId === undefined) { - throw new Error('Required parameter segmentId was null or undefined when calling getHlsVideoSegmentLegacy.'); - } - - // verify required parameter 'segmentContainer' is not null or undefined - if (segmentContainer === null || segmentContainer === undefined) { - throw new Error('Required parameter segmentContainer was null or undefined when calling getHlsVideoSegmentLegacy.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Stops an active encoding. - * @param deviceId The device id of the client requesting. Used to stop encoding processes when needed. - * @param playSessionId The play session id. - */ - public async stopEncodingProcess (deviceId: string, playSessionId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Videos/ActiveEncodings'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'deviceId' is not null or undefined - if (deviceId === null || deviceId === undefined) { - throw new Error('Required parameter deviceId was null or undefined when calling stopEncodingProcess.'); - } - - // verify required parameter 'playSessionId' is not null or undefined - if (playSessionId === null || playSessionId === undefined) { - throw new Error('Required parameter playSessionId was null or undefined when calling stopEncodingProcess.'); - } - - if (deviceId !== undefined) { - localVarQueryParameters['deviceId'] = ObjectSerializer.serialize(deviceId, "string"); - } - - if (playSessionId !== undefined) { - localVarQueryParameters['playSessionId'] = ObjectSerializer.serialize(playSessionId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/imageApi.ts b/jellyfin/api/imageApi.ts deleted file mode 100644 index 3010428..0000000 --- a/jellyfin/api/imageApi.ts +++ /dev/null @@ -1,5746 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { ImageFormat } from '../model/imageFormat'; -import { ImageInfo } from '../model/imageInfo'; -import { ImageType } from '../model/imageType'; -import { ProblemDetails } from '../model/problemDetails'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum ImageApiApiKeys { - CustomAuthentication, -} - -export class ImageApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: ImageApiApiKeys, value: string) { - (this.authentications as any)[ImageApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Delete a custom splashscreen. - */ - public async deleteCustomSplashscreen (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Branding/Splashscreen'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Delete an item\'s image. - * @param itemId Item id. - * @param imageType Image type. - * @param imageIndex The image index. - */ - public async deleteItemImage (itemId: string, imageType: ImageType, imageIndex?: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Items/{itemId}/Images/{imageType}' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling deleteItemImage.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling deleteItemImage.'); - } - - if (imageIndex !== undefined) { - localVarQueryParameters['imageIndex'] = ObjectSerializer.serialize(imageIndex, "number"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Delete an item\'s image. - * @param itemId Item id. - * @param imageType Image type. - * @param imageIndex The image index. - */ - public async deleteItemImageByIndex (itemId: string, imageType: ImageType, imageIndex: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Items/{itemId}/Images/{imageType}/{imageIndex}' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))) - .replace('{' + 'imageIndex' + '}', encodeURIComponent(String(imageIndex))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling deleteItemImageByIndex.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling deleteItemImageByIndex.'); - } - - // verify required parameter 'imageIndex' is not null or undefined - if (imageIndex === null || imageIndex === undefined) { - throw new Error('Required parameter imageIndex was null or undefined when calling deleteItemImageByIndex.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Delete the user\'s image. - * @param userId User Id. - * @param imageType (Unused) Image type. - * @param index (Unused) Image index. - */ - public async deleteUserImage (userId: string, imageType: ImageType, index?: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Users/{userId}/Images/{imageType}' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling deleteUserImage.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling deleteUserImage.'); - } - - if (index !== undefined) { - localVarQueryParameters['index'] = ObjectSerializer.serialize(index, "number"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Delete the user\'s image. - * @param userId User Id. - * @param imageType (Unused) Image type. - * @param index (Unused) Image index. - */ - public async deleteUserImageByIndex (userId: string, imageType: ImageType, index: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Users/{userId}/Images/{imageType}/{index}' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))) - .replace('{' + 'index' + '}', encodeURIComponent(String(index))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling deleteUserImageByIndex.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling deleteUserImageByIndex.'); - } - - // verify required parameter 'index' is not null or undefined - if (index === null || index === undefined) { - throw new Error('Required parameter index was null or undefined when calling deleteUserImageByIndex.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get artist image by name. - * @param name Artist name. - * @param imageType Image type. - * @param imageIndex Image index. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param format Determines the output format of the image - original,gif,jpg,png. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - */ - public async getArtistImage (name: string, imageType: ImageType, imageIndex: number, tag?: string, format?: ImageFormat, maxWidth?: number, maxHeight?: number, percentPlayed?: number, unplayedCount?: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, cropWhitespace?: boolean, addPlayedIndicator?: boolean, blur?: number, backgroundColor?: string, foregroundLayer?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Artists/{name}/Images/{imageType}/{imageIndex}' - .replace('{' + 'name' + '}', encodeURIComponent(String(name))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))) - .replace('{' + 'imageIndex' + '}', encodeURIComponent(String(imageIndex))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling getArtistImage.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling getArtistImage.'); - } - - // verify required parameter 'imageIndex' is not null or undefined - if (imageIndex === null || imageIndex === undefined) { - throw new Error('Required parameter imageIndex was null or undefined when calling getArtistImage.'); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "ImageFormat"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (percentPlayed !== undefined) { - localVarQueryParameters['percentPlayed'] = ObjectSerializer.serialize(percentPlayed, "number"); - } - - if (unplayedCount !== undefined) { - localVarQueryParameters['unplayedCount'] = ObjectSerializer.serialize(unplayedCount, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get genre image by name. - * @param name Genre name. - * @param imageType Image type. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param format Determines the output format of the image - original,gif,jpg,png. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - * @param imageIndex Image index. - */ - public async getGenreImage (name: string, imageType: ImageType, tag?: string, format?: ImageFormat, maxWidth?: number, maxHeight?: number, percentPlayed?: number, unplayedCount?: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, cropWhitespace?: boolean, addPlayedIndicator?: boolean, blur?: number, backgroundColor?: string, foregroundLayer?: string, imageIndex?: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Genres/{name}/Images/{imageType}' - .replace('{' + 'name' + '}', encodeURIComponent(String(name))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling getGenreImage.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling getGenreImage.'); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "ImageFormat"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (percentPlayed !== undefined) { - localVarQueryParameters['percentPlayed'] = ObjectSerializer.serialize(percentPlayed, "number"); - } - - if (unplayedCount !== undefined) { - localVarQueryParameters['unplayedCount'] = ObjectSerializer.serialize(unplayedCount, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - if (imageIndex !== undefined) { - localVarQueryParameters['imageIndex'] = ObjectSerializer.serialize(imageIndex, "number"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get genre image by name. - * @param name Genre name. - * @param imageType Image type. - * @param imageIndex Image index. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param format Determines the output format of the image - original,gif,jpg,png. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - */ - public async getGenreImageByIndex (name: string, imageType: ImageType, imageIndex: number, tag?: string, format?: ImageFormat, maxWidth?: number, maxHeight?: number, percentPlayed?: number, unplayedCount?: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, cropWhitespace?: boolean, addPlayedIndicator?: boolean, blur?: number, backgroundColor?: string, foregroundLayer?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Genres/{name}/Images/{imageType}/{imageIndex}' - .replace('{' + 'name' + '}', encodeURIComponent(String(name))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))) - .replace('{' + 'imageIndex' + '}', encodeURIComponent(String(imageIndex))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling getGenreImageByIndex.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling getGenreImageByIndex.'); - } - - // verify required parameter 'imageIndex' is not null or undefined - if (imageIndex === null || imageIndex === undefined) { - throw new Error('Required parameter imageIndex was null or undefined when calling getGenreImageByIndex.'); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "ImageFormat"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (percentPlayed !== undefined) { - localVarQueryParameters['percentPlayed'] = ObjectSerializer.serialize(percentPlayed, "number"); - } - - if (unplayedCount !== undefined) { - localVarQueryParameters['unplayedCount'] = ObjectSerializer.serialize(unplayedCount, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets the item\'s image. - * @param itemId Item id. - * @param imageType Image type. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param format Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - * @param imageIndex Image index. - */ - public async getItemImage (itemId: string, imageType: ImageType, maxWidth?: number, maxHeight?: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, tag?: string, cropWhitespace?: boolean, format?: ImageFormat, addPlayedIndicator?: boolean, percentPlayed?: number, unplayedCount?: number, blur?: number, backgroundColor?: string, foregroundLayer?: string, imageIndex?: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Items/{itemId}/Images/{imageType}' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getItemImage.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling getItemImage.'); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "ImageFormat"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (percentPlayed !== undefined) { - localVarQueryParameters['percentPlayed'] = ObjectSerializer.serialize(percentPlayed, "number"); - } - - if (unplayedCount !== undefined) { - localVarQueryParameters['unplayedCount'] = ObjectSerializer.serialize(unplayedCount, "number"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - if (imageIndex !== undefined) { - localVarQueryParameters['imageIndex'] = ObjectSerializer.serialize(imageIndex, "number"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets the item\'s image. - * @param itemId Item id. - * @param imageType Image type. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param format Determines the output format of the image - original,gif,jpg,png. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param imageIndex Image index. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - */ - public async getItemImage2 (itemId: string, imageType: ImageType, maxWidth: number, maxHeight: number, tag: string, format: ImageFormat, percentPlayed: number, unplayedCount: number, imageIndex: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, cropWhitespace?: boolean, addPlayedIndicator?: boolean, blur?: number, backgroundColor?: string, foregroundLayer?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Items/{itemId}/Images/{imageType}/{imageIndex}/{tag}/{format}/{maxWidth}/{maxHeight}/{percentPlayed}/{unplayedCount}' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))) - .replace('{' + 'maxWidth' + '}', encodeURIComponent(String(maxWidth))) - .replace('{' + 'maxHeight' + '}', encodeURIComponent(String(maxHeight))) - .replace('{' + 'tag' + '}', encodeURIComponent(String(tag))) - .replace('{' + 'format' + '}', encodeURIComponent(String(format))) - .replace('{' + 'percentPlayed' + '}', encodeURIComponent(String(percentPlayed))) - .replace('{' + 'unplayedCount' + '}', encodeURIComponent(String(unplayedCount))) - .replace('{' + 'imageIndex' + '}', encodeURIComponent(String(imageIndex))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getItemImage2.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling getItemImage2.'); - } - - // verify required parameter 'maxWidth' is not null or undefined - if (maxWidth === null || maxWidth === undefined) { - throw new Error('Required parameter maxWidth was null or undefined when calling getItemImage2.'); - } - - // verify required parameter 'maxHeight' is not null or undefined - if (maxHeight === null || maxHeight === undefined) { - throw new Error('Required parameter maxHeight was null or undefined when calling getItemImage2.'); - } - - // verify required parameter 'tag' is not null or undefined - if (tag === null || tag === undefined) { - throw new Error('Required parameter tag was null or undefined when calling getItemImage2.'); - } - - // verify required parameter 'format' is not null or undefined - if (format === null || format === undefined) { - throw new Error('Required parameter format was null or undefined when calling getItemImage2.'); - } - - // verify required parameter 'percentPlayed' is not null or undefined - if (percentPlayed === null || percentPlayed === undefined) { - throw new Error('Required parameter percentPlayed was null or undefined when calling getItemImage2.'); - } - - // verify required parameter 'unplayedCount' is not null or undefined - if (unplayedCount === null || unplayedCount === undefined) { - throw new Error('Required parameter unplayedCount was null or undefined when calling getItemImage2.'); - } - - // verify required parameter 'imageIndex' is not null or undefined - if (imageIndex === null || imageIndex === undefined) { - throw new Error('Required parameter imageIndex was null or undefined when calling getItemImage2.'); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets the item\'s image. - * @param itemId Item id. - * @param imageType Image type. - * @param imageIndex Image index. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param format Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - */ - public async getItemImageByIndex (itemId: string, imageType: ImageType, imageIndex: number, maxWidth?: number, maxHeight?: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, tag?: string, cropWhitespace?: boolean, format?: ImageFormat, addPlayedIndicator?: boolean, percentPlayed?: number, unplayedCount?: number, blur?: number, backgroundColor?: string, foregroundLayer?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Items/{itemId}/Images/{imageType}/{imageIndex}' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))) - .replace('{' + 'imageIndex' + '}', encodeURIComponent(String(imageIndex))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getItemImageByIndex.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling getItemImageByIndex.'); - } - - // verify required parameter 'imageIndex' is not null or undefined - if (imageIndex === null || imageIndex === undefined) { - throw new Error('Required parameter imageIndex was null or undefined when calling getItemImageByIndex.'); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "ImageFormat"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (percentPlayed !== undefined) { - localVarQueryParameters['percentPlayed'] = ObjectSerializer.serialize(percentPlayed, "number"); - } - - if (unplayedCount !== undefined) { - localVarQueryParameters['unplayedCount'] = ObjectSerializer.serialize(unplayedCount, "number"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get item image infos. - * @param itemId Item id. - */ - public async getItemImageInfos (itemId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Items/{itemId}/Images' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getItemImageInfos.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get music genre image by name. - * @param name Music genre name. - * @param imageType Image type. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param format Determines the output format of the image - original,gif,jpg,png. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - * @param imageIndex Image index. - */ - public async getMusicGenreImage (name: string, imageType: ImageType, tag?: string, format?: ImageFormat, maxWidth?: number, maxHeight?: number, percentPlayed?: number, unplayedCount?: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, cropWhitespace?: boolean, addPlayedIndicator?: boolean, blur?: number, backgroundColor?: string, foregroundLayer?: string, imageIndex?: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/MusicGenres/{name}/Images/{imageType}' - .replace('{' + 'name' + '}', encodeURIComponent(String(name))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling getMusicGenreImage.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling getMusicGenreImage.'); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "ImageFormat"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (percentPlayed !== undefined) { - localVarQueryParameters['percentPlayed'] = ObjectSerializer.serialize(percentPlayed, "number"); - } - - if (unplayedCount !== undefined) { - localVarQueryParameters['unplayedCount'] = ObjectSerializer.serialize(unplayedCount, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - if (imageIndex !== undefined) { - localVarQueryParameters['imageIndex'] = ObjectSerializer.serialize(imageIndex, "number"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get music genre image by name. - * @param name Music genre name. - * @param imageType Image type. - * @param imageIndex Image index. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param format Determines the output format of the image - original,gif,jpg,png. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - */ - public async getMusicGenreImageByIndex (name: string, imageType: ImageType, imageIndex: number, tag?: string, format?: ImageFormat, maxWidth?: number, maxHeight?: number, percentPlayed?: number, unplayedCount?: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, cropWhitespace?: boolean, addPlayedIndicator?: boolean, blur?: number, backgroundColor?: string, foregroundLayer?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/MusicGenres/{name}/Images/{imageType}/{imageIndex}' - .replace('{' + 'name' + '}', encodeURIComponent(String(name))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))) - .replace('{' + 'imageIndex' + '}', encodeURIComponent(String(imageIndex))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling getMusicGenreImageByIndex.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling getMusicGenreImageByIndex.'); - } - - // verify required parameter 'imageIndex' is not null or undefined - if (imageIndex === null || imageIndex === undefined) { - throw new Error('Required parameter imageIndex was null or undefined when calling getMusicGenreImageByIndex.'); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "ImageFormat"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (percentPlayed !== undefined) { - localVarQueryParameters['percentPlayed'] = ObjectSerializer.serialize(percentPlayed, "number"); - } - - if (unplayedCount !== undefined) { - localVarQueryParameters['unplayedCount'] = ObjectSerializer.serialize(unplayedCount, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get person image by name. - * @param name Person name. - * @param imageType Image type. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param format Determines the output format of the image - original,gif,jpg,png. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - * @param imageIndex Image index. - */ - public async getPersonImage (name: string, imageType: ImageType, tag?: string, format?: ImageFormat, maxWidth?: number, maxHeight?: number, percentPlayed?: number, unplayedCount?: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, cropWhitespace?: boolean, addPlayedIndicator?: boolean, blur?: number, backgroundColor?: string, foregroundLayer?: string, imageIndex?: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Persons/{name}/Images/{imageType}' - .replace('{' + 'name' + '}', encodeURIComponent(String(name))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling getPersonImage.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling getPersonImage.'); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "ImageFormat"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (percentPlayed !== undefined) { - localVarQueryParameters['percentPlayed'] = ObjectSerializer.serialize(percentPlayed, "number"); - } - - if (unplayedCount !== undefined) { - localVarQueryParameters['unplayedCount'] = ObjectSerializer.serialize(unplayedCount, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - if (imageIndex !== undefined) { - localVarQueryParameters['imageIndex'] = ObjectSerializer.serialize(imageIndex, "number"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get person image by name. - * @param name Person name. - * @param imageType Image type. - * @param imageIndex Image index. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param format Determines the output format of the image - original,gif,jpg,png. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - */ - public async getPersonImageByIndex (name: string, imageType: ImageType, imageIndex: number, tag?: string, format?: ImageFormat, maxWidth?: number, maxHeight?: number, percentPlayed?: number, unplayedCount?: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, cropWhitespace?: boolean, addPlayedIndicator?: boolean, blur?: number, backgroundColor?: string, foregroundLayer?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Persons/{name}/Images/{imageType}/{imageIndex}' - .replace('{' + 'name' + '}', encodeURIComponent(String(name))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))) - .replace('{' + 'imageIndex' + '}', encodeURIComponent(String(imageIndex))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling getPersonImageByIndex.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling getPersonImageByIndex.'); - } - - // verify required parameter 'imageIndex' is not null or undefined - if (imageIndex === null || imageIndex === undefined) { - throw new Error('Required parameter imageIndex was null or undefined when calling getPersonImageByIndex.'); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "ImageFormat"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (percentPlayed !== undefined) { - localVarQueryParameters['percentPlayed'] = ObjectSerializer.serialize(percentPlayed, "number"); - } - - if (unplayedCount !== undefined) { - localVarQueryParameters['unplayedCount'] = ObjectSerializer.serialize(unplayedCount, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Generates or gets the splashscreen. - * @param tag Supply the cache tag from the item object to receive strong caching headers. - * @param format Determines the output format of the image - original,gif,jpg,png. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param blur Blur image. - * @param backgroundColor Apply a background color for transparent images. - * @param foregroundLayer Apply a foreground layer on top of the image. - * @param quality Quality setting, from 0-100. - */ - public async getSplashscreen (tag?: string, format?: ImageFormat, maxWidth?: number, maxHeight?: number, width?: number, height?: number, fillWidth?: number, fillHeight?: number, blur?: number, backgroundColor?: string, foregroundLayer?: string, quality?: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Branding/Splashscreen'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "ImageFormat"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get studio image by name. - * @param name Studio name. - * @param imageType Image type. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param format Determines the output format of the image - original,gif,jpg,png. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - * @param imageIndex Image index. - */ - public async getStudioImage (name: string, imageType: ImageType, tag?: string, format?: ImageFormat, maxWidth?: number, maxHeight?: number, percentPlayed?: number, unplayedCount?: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, cropWhitespace?: boolean, addPlayedIndicator?: boolean, blur?: number, backgroundColor?: string, foregroundLayer?: string, imageIndex?: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Studios/{name}/Images/{imageType}' - .replace('{' + 'name' + '}', encodeURIComponent(String(name))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling getStudioImage.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling getStudioImage.'); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "ImageFormat"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (percentPlayed !== undefined) { - localVarQueryParameters['percentPlayed'] = ObjectSerializer.serialize(percentPlayed, "number"); - } - - if (unplayedCount !== undefined) { - localVarQueryParameters['unplayedCount'] = ObjectSerializer.serialize(unplayedCount, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - if (imageIndex !== undefined) { - localVarQueryParameters['imageIndex'] = ObjectSerializer.serialize(imageIndex, "number"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get studio image by name. - * @param name Studio name. - * @param imageType Image type. - * @param imageIndex Image index. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param format Determines the output format of the image - original,gif,jpg,png. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - */ - public async getStudioImageByIndex (name: string, imageType: ImageType, imageIndex: number, tag?: string, format?: ImageFormat, maxWidth?: number, maxHeight?: number, percentPlayed?: number, unplayedCount?: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, cropWhitespace?: boolean, addPlayedIndicator?: boolean, blur?: number, backgroundColor?: string, foregroundLayer?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Studios/{name}/Images/{imageType}/{imageIndex}' - .replace('{' + 'name' + '}', encodeURIComponent(String(name))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))) - .replace('{' + 'imageIndex' + '}', encodeURIComponent(String(imageIndex))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling getStudioImageByIndex.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling getStudioImageByIndex.'); - } - - // verify required parameter 'imageIndex' is not null or undefined - if (imageIndex === null || imageIndex === undefined) { - throw new Error('Required parameter imageIndex was null or undefined when calling getStudioImageByIndex.'); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "ImageFormat"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (percentPlayed !== undefined) { - localVarQueryParameters['percentPlayed'] = ObjectSerializer.serialize(percentPlayed, "number"); - } - - if (unplayedCount !== undefined) { - localVarQueryParameters['unplayedCount'] = ObjectSerializer.serialize(unplayedCount, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get user profile image. - * @param userId User id. - * @param imageType Image type. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param format Determines the output format of the image - original,gif,jpg,png. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - * @param imageIndex Image index. - */ - public async getUserImage (userId: string, imageType: ImageType, tag?: string, format?: ImageFormat, maxWidth?: number, maxHeight?: number, percentPlayed?: number, unplayedCount?: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, cropWhitespace?: boolean, addPlayedIndicator?: boolean, blur?: number, backgroundColor?: string, foregroundLayer?: string, imageIndex?: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Users/{userId}/Images/{imageType}' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling getUserImage.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling getUserImage.'); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "ImageFormat"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (percentPlayed !== undefined) { - localVarQueryParameters['percentPlayed'] = ObjectSerializer.serialize(percentPlayed, "number"); - } - - if (unplayedCount !== undefined) { - localVarQueryParameters['unplayedCount'] = ObjectSerializer.serialize(unplayedCount, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - if (imageIndex !== undefined) { - localVarQueryParameters['imageIndex'] = ObjectSerializer.serialize(imageIndex, "number"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get user profile image. - * @param userId User id. - * @param imageType Image type. - * @param imageIndex Image index. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param format Determines the output format of the image - original,gif,jpg,png. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - */ - public async getUserImageByIndex (userId: string, imageType: ImageType, imageIndex: number, tag?: string, format?: ImageFormat, maxWidth?: number, maxHeight?: number, percentPlayed?: number, unplayedCount?: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, cropWhitespace?: boolean, addPlayedIndicator?: boolean, blur?: number, backgroundColor?: string, foregroundLayer?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Users/{userId}/Images/{imageType}/{imageIndex}' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))) - .replace('{' + 'imageIndex' + '}', encodeURIComponent(String(imageIndex))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling getUserImageByIndex.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling getUserImageByIndex.'); - } - - // verify required parameter 'imageIndex' is not null or undefined - if (imageIndex === null || imageIndex === undefined) { - throw new Error('Required parameter imageIndex was null or undefined when calling getUserImageByIndex.'); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "ImageFormat"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (percentPlayed !== undefined) { - localVarQueryParameters['percentPlayed'] = ObjectSerializer.serialize(percentPlayed, "number"); - } - - if (unplayedCount !== undefined) { - localVarQueryParameters['unplayedCount'] = ObjectSerializer.serialize(unplayedCount, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get artist image by name. - * @param name Artist name. - * @param imageType Image type. - * @param imageIndex Image index. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param format Determines the output format of the image - original,gif,jpg,png. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - */ - public async headArtistImage (name: string, imageType: ImageType, imageIndex: number, tag?: string, format?: ImageFormat, maxWidth?: number, maxHeight?: number, percentPlayed?: number, unplayedCount?: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, cropWhitespace?: boolean, addPlayedIndicator?: boolean, blur?: number, backgroundColor?: string, foregroundLayer?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Artists/{name}/Images/{imageType}/{imageIndex}' - .replace('{' + 'name' + '}', encodeURIComponent(String(name))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))) - .replace('{' + 'imageIndex' + '}', encodeURIComponent(String(imageIndex))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling headArtistImage.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling headArtistImage.'); - } - - // verify required parameter 'imageIndex' is not null or undefined - if (imageIndex === null || imageIndex === undefined) { - throw new Error('Required parameter imageIndex was null or undefined when calling headArtistImage.'); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "ImageFormat"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (percentPlayed !== undefined) { - localVarQueryParameters['percentPlayed'] = ObjectSerializer.serialize(percentPlayed, "number"); - } - - if (unplayedCount !== undefined) { - localVarQueryParameters['unplayedCount'] = ObjectSerializer.serialize(unplayedCount, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'HEAD', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get genre image by name. - * @param name Genre name. - * @param imageType Image type. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param format Determines the output format of the image - original,gif,jpg,png. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - * @param imageIndex Image index. - */ - public async headGenreImage (name: string, imageType: ImageType, tag?: string, format?: ImageFormat, maxWidth?: number, maxHeight?: number, percentPlayed?: number, unplayedCount?: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, cropWhitespace?: boolean, addPlayedIndicator?: boolean, blur?: number, backgroundColor?: string, foregroundLayer?: string, imageIndex?: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Genres/{name}/Images/{imageType}' - .replace('{' + 'name' + '}', encodeURIComponent(String(name))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling headGenreImage.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling headGenreImage.'); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "ImageFormat"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (percentPlayed !== undefined) { - localVarQueryParameters['percentPlayed'] = ObjectSerializer.serialize(percentPlayed, "number"); - } - - if (unplayedCount !== undefined) { - localVarQueryParameters['unplayedCount'] = ObjectSerializer.serialize(unplayedCount, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - if (imageIndex !== undefined) { - localVarQueryParameters['imageIndex'] = ObjectSerializer.serialize(imageIndex, "number"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'HEAD', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get genre image by name. - * @param name Genre name. - * @param imageType Image type. - * @param imageIndex Image index. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param format Determines the output format of the image - original,gif,jpg,png. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - */ - public async headGenreImageByIndex (name: string, imageType: ImageType, imageIndex: number, tag?: string, format?: ImageFormat, maxWidth?: number, maxHeight?: number, percentPlayed?: number, unplayedCount?: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, cropWhitespace?: boolean, addPlayedIndicator?: boolean, blur?: number, backgroundColor?: string, foregroundLayer?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Genres/{name}/Images/{imageType}/{imageIndex}' - .replace('{' + 'name' + '}', encodeURIComponent(String(name))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))) - .replace('{' + 'imageIndex' + '}', encodeURIComponent(String(imageIndex))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling headGenreImageByIndex.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling headGenreImageByIndex.'); - } - - // verify required parameter 'imageIndex' is not null or undefined - if (imageIndex === null || imageIndex === undefined) { - throw new Error('Required parameter imageIndex was null or undefined when calling headGenreImageByIndex.'); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "ImageFormat"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (percentPlayed !== undefined) { - localVarQueryParameters['percentPlayed'] = ObjectSerializer.serialize(percentPlayed, "number"); - } - - if (unplayedCount !== undefined) { - localVarQueryParameters['unplayedCount'] = ObjectSerializer.serialize(unplayedCount, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'HEAD', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets the item\'s image. - * @param itemId Item id. - * @param imageType Image type. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param format Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - * @param imageIndex Image index. - */ - public async headItemImage (itemId: string, imageType: ImageType, maxWidth?: number, maxHeight?: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, tag?: string, cropWhitespace?: boolean, format?: ImageFormat, addPlayedIndicator?: boolean, percentPlayed?: number, unplayedCount?: number, blur?: number, backgroundColor?: string, foregroundLayer?: string, imageIndex?: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Items/{itemId}/Images/{imageType}' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling headItemImage.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling headItemImage.'); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "ImageFormat"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (percentPlayed !== undefined) { - localVarQueryParameters['percentPlayed'] = ObjectSerializer.serialize(percentPlayed, "number"); - } - - if (unplayedCount !== undefined) { - localVarQueryParameters['unplayedCount'] = ObjectSerializer.serialize(unplayedCount, "number"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - if (imageIndex !== undefined) { - localVarQueryParameters['imageIndex'] = ObjectSerializer.serialize(imageIndex, "number"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'HEAD', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets the item\'s image. - * @param itemId Item id. - * @param imageType Image type. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param format Determines the output format of the image - original,gif,jpg,png. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param imageIndex Image index. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - */ - public async headItemImage2 (itemId: string, imageType: ImageType, maxWidth: number, maxHeight: number, tag: string, format: ImageFormat, percentPlayed: number, unplayedCount: number, imageIndex: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, cropWhitespace?: boolean, addPlayedIndicator?: boolean, blur?: number, backgroundColor?: string, foregroundLayer?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Items/{itemId}/Images/{imageType}/{imageIndex}/{tag}/{format}/{maxWidth}/{maxHeight}/{percentPlayed}/{unplayedCount}' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))) - .replace('{' + 'maxWidth' + '}', encodeURIComponent(String(maxWidth))) - .replace('{' + 'maxHeight' + '}', encodeURIComponent(String(maxHeight))) - .replace('{' + 'tag' + '}', encodeURIComponent(String(tag))) - .replace('{' + 'format' + '}', encodeURIComponent(String(format))) - .replace('{' + 'percentPlayed' + '}', encodeURIComponent(String(percentPlayed))) - .replace('{' + 'unplayedCount' + '}', encodeURIComponent(String(unplayedCount))) - .replace('{' + 'imageIndex' + '}', encodeURIComponent(String(imageIndex))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling headItemImage2.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling headItemImage2.'); - } - - // verify required parameter 'maxWidth' is not null or undefined - if (maxWidth === null || maxWidth === undefined) { - throw new Error('Required parameter maxWidth was null or undefined when calling headItemImage2.'); - } - - // verify required parameter 'maxHeight' is not null or undefined - if (maxHeight === null || maxHeight === undefined) { - throw new Error('Required parameter maxHeight was null or undefined when calling headItemImage2.'); - } - - // verify required parameter 'tag' is not null or undefined - if (tag === null || tag === undefined) { - throw new Error('Required parameter tag was null or undefined when calling headItemImage2.'); - } - - // verify required parameter 'format' is not null or undefined - if (format === null || format === undefined) { - throw new Error('Required parameter format was null or undefined when calling headItemImage2.'); - } - - // verify required parameter 'percentPlayed' is not null or undefined - if (percentPlayed === null || percentPlayed === undefined) { - throw new Error('Required parameter percentPlayed was null or undefined when calling headItemImage2.'); - } - - // verify required parameter 'unplayedCount' is not null or undefined - if (unplayedCount === null || unplayedCount === undefined) { - throw new Error('Required parameter unplayedCount was null or undefined when calling headItemImage2.'); - } - - // verify required parameter 'imageIndex' is not null or undefined - if (imageIndex === null || imageIndex === undefined) { - throw new Error('Required parameter imageIndex was null or undefined when calling headItemImage2.'); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'HEAD', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets the item\'s image. - * @param itemId Item id. - * @param imageType Image type. - * @param imageIndex Image index. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param format Optional. The MediaBrowser.Model.Drawing.ImageFormat of the returned image. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - */ - public async headItemImageByIndex (itemId: string, imageType: ImageType, imageIndex: number, maxWidth?: number, maxHeight?: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, tag?: string, cropWhitespace?: boolean, format?: ImageFormat, addPlayedIndicator?: boolean, percentPlayed?: number, unplayedCount?: number, blur?: number, backgroundColor?: string, foregroundLayer?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Items/{itemId}/Images/{imageType}/{imageIndex}' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))) - .replace('{' + 'imageIndex' + '}', encodeURIComponent(String(imageIndex))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling headItemImageByIndex.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling headItemImageByIndex.'); - } - - // verify required parameter 'imageIndex' is not null or undefined - if (imageIndex === null || imageIndex === undefined) { - throw new Error('Required parameter imageIndex was null or undefined when calling headItemImageByIndex.'); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "ImageFormat"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (percentPlayed !== undefined) { - localVarQueryParameters['percentPlayed'] = ObjectSerializer.serialize(percentPlayed, "number"); - } - - if (unplayedCount !== undefined) { - localVarQueryParameters['unplayedCount'] = ObjectSerializer.serialize(unplayedCount, "number"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'HEAD', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get music genre image by name. - * @param name Music genre name. - * @param imageType Image type. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param format Determines the output format of the image - original,gif,jpg,png. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - * @param imageIndex Image index. - */ - public async headMusicGenreImage (name: string, imageType: ImageType, tag?: string, format?: ImageFormat, maxWidth?: number, maxHeight?: number, percentPlayed?: number, unplayedCount?: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, cropWhitespace?: boolean, addPlayedIndicator?: boolean, blur?: number, backgroundColor?: string, foregroundLayer?: string, imageIndex?: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/MusicGenres/{name}/Images/{imageType}' - .replace('{' + 'name' + '}', encodeURIComponent(String(name))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling headMusicGenreImage.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling headMusicGenreImage.'); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "ImageFormat"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (percentPlayed !== undefined) { - localVarQueryParameters['percentPlayed'] = ObjectSerializer.serialize(percentPlayed, "number"); - } - - if (unplayedCount !== undefined) { - localVarQueryParameters['unplayedCount'] = ObjectSerializer.serialize(unplayedCount, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - if (imageIndex !== undefined) { - localVarQueryParameters['imageIndex'] = ObjectSerializer.serialize(imageIndex, "number"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'HEAD', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get music genre image by name. - * @param name Music genre name. - * @param imageType Image type. - * @param imageIndex Image index. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param format Determines the output format of the image - original,gif,jpg,png. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - */ - public async headMusicGenreImageByIndex (name: string, imageType: ImageType, imageIndex: number, tag?: string, format?: ImageFormat, maxWidth?: number, maxHeight?: number, percentPlayed?: number, unplayedCount?: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, cropWhitespace?: boolean, addPlayedIndicator?: boolean, blur?: number, backgroundColor?: string, foregroundLayer?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/MusicGenres/{name}/Images/{imageType}/{imageIndex}' - .replace('{' + 'name' + '}', encodeURIComponent(String(name))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))) - .replace('{' + 'imageIndex' + '}', encodeURIComponent(String(imageIndex))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling headMusicGenreImageByIndex.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling headMusicGenreImageByIndex.'); - } - - // verify required parameter 'imageIndex' is not null or undefined - if (imageIndex === null || imageIndex === undefined) { - throw new Error('Required parameter imageIndex was null or undefined when calling headMusicGenreImageByIndex.'); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "ImageFormat"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (percentPlayed !== undefined) { - localVarQueryParameters['percentPlayed'] = ObjectSerializer.serialize(percentPlayed, "number"); - } - - if (unplayedCount !== undefined) { - localVarQueryParameters['unplayedCount'] = ObjectSerializer.serialize(unplayedCount, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'HEAD', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get person image by name. - * @param name Person name. - * @param imageType Image type. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param format Determines the output format of the image - original,gif,jpg,png. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - * @param imageIndex Image index. - */ - public async headPersonImage (name: string, imageType: ImageType, tag?: string, format?: ImageFormat, maxWidth?: number, maxHeight?: number, percentPlayed?: number, unplayedCount?: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, cropWhitespace?: boolean, addPlayedIndicator?: boolean, blur?: number, backgroundColor?: string, foregroundLayer?: string, imageIndex?: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Persons/{name}/Images/{imageType}' - .replace('{' + 'name' + '}', encodeURIComponent(String(name))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling headPersonImage.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling headPersonImage.'); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "ImageFormat"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (percentPlayed !== undefined) { - localVarQueryParameters['percentPlayed'] = ObjectSerializer.serialize(percentPlayed, "number"); - } - - if (unplayedCount !== undefined) { - localVarQueryParameters['unplayedCount'] = ObjectSerializer.serialize(unplayedCount, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - if (imageIndex !== undefined) { - localVarQueryParameters['imageIndex'] = ObjectSerializer.serialize(imageIndex, "number"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'HEAD', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get person image by name. - * @param name Person name. - * @param imageType Image type. - * @param imageIndex Image index. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param format Determines the output format of the image - original,gif,jpg,png. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - */ - public async headPersonImageByIndex (name: string, imageType: ImageType, imageIndex: number, tag?: string, format?: ImageFormat, maxWidth?: number, maxHeight?: number, percentPlayed?: number, unplayedCount?: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, cropWhitespace?: boolean, addPlayedIndicator?: boolean, blur?: number, backgroundColor?: string, foregroundLayer?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Persons/{name}/Images/{imageType}/{imageIndex}' - .replace('{' + 'name' + '}', encodeURIComponent(String(name))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))) - .replace('{' + 'imageIndex' + '}', encodeURIComponent(String(imageIndex))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling headPersonImageByIndex.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling headPersonImageByIndex.'); - } - - // verify required parameter 'imageIndex' is not null or undefined - if (imageIndex === null || imageIndex === undefined) { - throw new Error('Required parameter imageIndex was null or undefined when calling headPersonImageByIndex.'); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "ImageFormat"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (percentPlayed !== undefined) { - localVarQueryParameters['percentPlayed'] = ObjectSerializer.serialize(percentPlayed, "number"); - } - - if (unplayedCount !== undefined) { - localVarQueryParameters['unplayedCount'] = ObjectSerializer.serialize(unplayedCount, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'HEAD', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get studio image by name. - * @param name Studio name. - * @param imageType Image type. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param format Determines the output format of the image - original,gif,jpg,png. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - * @param imageIndex Image index. - */ - public async headStudioImage (name: string, imageType: ImageType, tag?: string, format?: ImageFormat, maxWidth?: number, maxHeight?: number, percentPlayed?: number, unplayedCount?: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, cropWhitespace?: boolean, addPlayedIndicator?: boolean, blur?: number, backgroundColor?: string, foregroundLayer?: string, imageIndex?: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Studios/{name}/Images/{imageType}' - .replace('{' + 'name' + '}', encodeURIComponent(String(name))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling headStudioImage.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling headStudioImage.'); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "ImageFormat"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (percentPlayed !== undefined) { - localVarQueryParameters['percentPlayed'] = ObjectSerializer.serialize(percentPlayed, "number"); - } - - if (unplayedCount !== undefined) { - localVarQueryParameters['unplayedCount'] = ObjectSerializer.serialize(unplayedCount, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - if (imageIndex !== undefined) { - localVarQueryParameters['imageIndex'] = ObjectSerializer.serialize(imageIndex, "number"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'HEAD', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get studio image by name. - * @param name Studio name. - * @param imageType Image type. - * @param imageIndex Image index. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param format Determines the output format of the image - original,gif,jpg,png. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - */ - public async headStudioImageByIndex (name: string, imageType: ImageType, imageIndex: number, tag?: string, format?: ImageFormat, maxWidth?: number, maxHeight?: number, percentPlayed?: number, unplayedCount?: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, cropWhitespace?: boolean, addPlayedIndicator?: boolean, blur?: number, backgroundColor?: string, foregroundLayer?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Studios/{name}/Images/{imageType}/{imageIndex}' - .replace('{' + 'name' + '}', encodeURIComponent(String(name))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))) - .replace('{' + 'imageIndex' + '}', encodeURIComponent(String(imageIndex))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling headStudioImageByIndex.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling headStudioImageByIndex.'); - } - - // verify required parameter 'imageIndex' is not null or undefined - if (imageIndex === null || imageIndex === undefined) { - throw new Error('Required parameter imageIndex was null or undefined when calling headStudioImageByIndex.'); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "ImageFormat"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (percentPlayed !== undefined) { - localVarQueryParameters['percentPlayed'] = ObjectSerializer.serialize(percentPlayed, "number"); - } - - if (unplayedCount !== undefined) { - localVarQueryParameters['unplayedCount'] = ObjectSerializer.serialize(unplayedCount, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'HEAD', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get user profile image. - * @param userId User id. - * @param imageType Image type. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param format Determines the output format of the image - original,gif,jpg,png. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - * @param imageIndex Image index. - */ - public async headUserImage (userId: string, imageType: ImageType, tag?: string, format?: ImageFormat, maxWidth?: number, maxHeight?: number, percentPlayed?: number, unplayedCount?: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, cropWhitespace?: boolean, addPlayedIndicator?: boolean, blur?: number, backgroundColor?: string, foregroundLayer?: string, imageIndex?: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Users/{userId}/Images/{imageType}' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling headUserImage.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling headUserImage.'); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "ImageFormat"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (percentPlayed !== undefined) { - localVarQueryParameters['percentPlayed'] = ObjectSerializer.serialize(percentPlayed, "number"); - } - - if (unplayedCount !== undefined) { - localVarQueryParameters['unplayedCount'] = ObjectSerializer.serialize(unplayedCount, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - if (imageIndex !== undefined) { - localVarQueryParameters['imageIndex'] = ObjectSerializer.serialize(imageIndex, "number"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'HEAD', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get user profile image. - * @param userId User id. - * @param imageType Image type. - * @param imageIndex Image index. - * @param tag Optional. Supply the cache tag from the item object to receive strong caching headers. - * @param format Determines the output format of the image - original,gif,jpg,png. - * @param maxWidth The maximum image width to return. - * @param maxHeight The maximum image height to return. - * @param percentPlayed Optional. Percent to render for the percent played overlay. - * @param unplayedCount Optional. Unplayed count overlay to render. - * @param width The fixed image width to return. - * @param height The fixed image height to return. - * @param quality Optional. Quality setting, from 0-100. Defaults to 90 and should suffice in most cases. - * @param fillWidth Width of box to fill. - * @param fillHeight Height of box to fill. - * @param cropWhitespace Optional. Specify if whitespace should be cropped out of the image. True/False. If unspecified, whitespace will be cropped from logos and clear art. - * @param addPlayedIndicator Optional. Add a played indicator. - * @param blur Optional. Blur image. - * @param backgroundColor Optional. Apply a background color for transparent images. - * @param foregroundLayer Optional. Apply a foreground layer on top of the image. - */ - public async headUserImageByIndex (userId: string, imageType: ImageType, imageIndex: number, tag?: string, format?: ImageFormat, maxWidth?: number, maxHeight?: number, percentPlayed?: number, unplayedCount?: number, width?: number, height?: number, quality?: number, fillWidth?: number, fillHeight?: number, cropWhitespace?: boolean, addPlayedIndicator?: boolean, blur?: number, backgroundColor?: string, foregroundLayer?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Users/{userId}/Images/{imageType}/{imageIndex}' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))) - .replace('{' + 'imageIndex' + '}', encodeURIComponent(String(imageIndex))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling headUserImageByIndex.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling headUserImageByIndex.'); - } - - // verify required parameter 'imageIndex' is not null or undefined - if (imageIndex === null || imageIndex === undefined) { - throw new Error('Required parameter imageIndex was null or undefined when calling headUserImageByIndex.'); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "ImageFormat"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (percentPlayed !== undefined) { - localVarQueryParameters['percentPlayed'] = ObjectSerializer.serialize(percentPlayed, "number"); - } - - if (unplayedCount !== undefined) { - localVarQueryParameters['unplayedCount'] = ObjectSerializer.serialize(unplayedCount, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (quality !== undefined) { - localVarQueryParameters['quality'] = ObjectSerializer.serialize(quality, "number"); - } - - if (fillWidth !== undefined) { - localVarQueryParameters['fillWidth'] = ObjectSerializer.serialize(fillWidth, "number"); - } - - if (fillHeight !== undefined) { - localVarQueryParameters['fillHeight'] = ObjectSerializer.serialize(fillHeight, "number"); - } - - if (cropWhitespace !== undefined) { - localVarQueryParameters['cropWhitespace'] = ObjectSerializer.serialize(cropWhitespace, "boolean"); - } - - if (addPlayedIndicator !== undefined) { - localVarQueryParameters['addPlayedIndicator'] = ObjectSerializer.serialize(addPlayedIndicator, "boolean"); - } - - if (blur !== undefined) { - localVarQueryParameters['blur'] = ObjectSerializer.serialize(blur, "number"); - } - - if (backgroundColor !== undefined) { - localVarQueryParameters['backgroundColor'] = ObjectSerializer.serialize(backgroundColor, "string"); - } - - if (foregroundLayer !== undefined) { - localVarQueryParameters['foregroundLayer'] = ObjectSerializer.serialize(foregroundLayer, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'HEAD', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Sets the user image. - * @param userId User Id. - * @param imageType (Unused) Image type. - * @param index (Unused) Image index. - * @param body - */ - public async postUserImage (userId: string, imageType: ImageType, index?: number, body?: RequestFile, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Users/{userId}/Images/{imageType}' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling postUserImage.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling postUserImage.'); - } - - if (index !== undefined) { - localVarQueryParameters['index'] = ObjectSerializer.serialize(index, "number"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(body, "RequestFile") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Sets the user image. - * @param userId User Id. - * @param imageType (Unused) Image type. - * @param index (Unused) Image index. - * @param body - */ - public async postUserImageByIndex (userId: string, imageType: ImageType, index: number, body?: RequestFile, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Users/{userId}/Images/{imageType}/{index}' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))) - .replace('{' + 'index' + '}', encodeURIComponent(String(index))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling postUserImageByIndex.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling postUserImageByIndex.'); - } - - // verify required parameter 'index' is not null or undefined - if (index === null || index === undefined) { - throw new Error('Required parameter index was null or undefined when calling postUserImageByIndex.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(body, "RequestFile") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Set item image. - * @param itemId Item id. - * @param imageType Image type. - * @param body - */ - public async setItemImage (itemId: string, imageType: ImageType, body?: RequestFile, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Items/{itemId}/Images/{imageType}' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling setItemImage.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling setItemImage.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(body, "RequestFile") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Set item image. - * @param itemId Item id. - * @param imageType Image type. - * @param imageIndex (Unused) Image index. - * @param body - */ - public async setItemImageByIndex (itemId: string, imageType: ImageType, imageIndex: number, body?: RequestFile, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Items/{itemId}/Images/{imageType}/{imageIndex}' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))) - .replace('{' + 'imageIndex' + '}', encodeURIComponent(String(imageIndex))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling setItemImageByIndex.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling setItemImageByIndex.'); - } - - // verify required parameter 'imageIndex' is not null or undefined - if (imageIndex === null || imageIndex === undefined) { - throw new Error('Required parameter imageIndex was null or undefined when calling setItemImageByIndex.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(body, "RequestFile") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Updates the index for an item image. - * @param itemId Item id. - * @param imageType Image type. - * @param imageIndex Old image index. - * @param newIndex New image index. - */ - public async updateItemImageIndex (itemId: string, imageType: ImageType, imageIndex: number, newIndex: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Items/{itemId}/Images/{imageType}/{imageIndex}/Index' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))) - .replace('{' + 'imageType' + '}', encodeURIComponent(String(imageType))) - .replace('{' + 'imageIndex' + '}', encodeURIComponent(String(imageIndex))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling updateItemImageIndex.'); - } - - // verify required parameter 'imageType' is not null or undefined - if (imageType === null || imageType === undefined) { - throw new Error('Required parameter imageType was null or undefined when calling updateItemImageIndex.'); - } - - // verify required parameter 'imageIndex' is not null or undefined - if (imageIndex === null || imageIndex === undefined) { - throw new Error('Required parameter imageIndex was null or undefined when calling updateItemImageIndex.'); - } - - // verify required parameter 'newIndex' is not null or undefined - if (newIndex === null || newIndex === undefined) { - throw new Error('Required parameter newIndex was null or undefined when calling updateItemImageIndex.'); - } - - if (newIndex !== undefined) { - localVarQueryParameters['newIndex'] = ObjectSerializer.serialize(newIndex, "number"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Uploads a custom splashscreen. The body is expected to the image contents base64 encoded. - * @param body - */ - public async uploadCustomSplashscreen (body?: RequestFile, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Branding/Splashscreen'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(body, "RequestFile") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/imageByNameApi.ts b/jellyfin/api/imageByNameApi.ts deleted file mode 100644 index 5bdda1e..0000000 --- a/jellyfin/api/imageByNameApi.ts +++ /dev/null @@ -1,516 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { ImageByNameInfo } from '../model/imageByNameInfo'; -import { ProblemDetails } from '../model/problemDetails'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum ImageByNameApiApiKeys { - CustomAuthentication, -} - -export class ImageByNameApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: ImageByNameApiApiKeys, value: string) { - (this.authentications as any)[ImageByNameApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Get General Image. - * @param name The name of the image. - * @param type Image Type (primary, backdrop, logo, etc). - */ - public async getGeneralImage (name: string, type: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Images/General/{name}/{type}' - .replace('{' + 'name' + '}', encodeURIComponent(String(name))) - .replace('{' + 'type' + '}', encodeURIComponent(String(type))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/octet-stream', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling getGeneralImage.'); - } - - // verify required parameter 'type' is not null or undefined - if (type === null || type === undefined) { - throw new Error('Required parameter type was null or undefined when calling getGeneralImage.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get all general images. - */ - public async getGeneralImages (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Images/General'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get media info image. - * @param theme The theme to get the image from. - * @param name The name of the image. - */ - public async getMediaInfoImage (theme: string, name: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Images/MediaInfo/{theme}/{name}' - .replace('{' + 'theme' + '}', encodeURIComponent(String(theme))) - .replace('{' + 'name' + '}', encodeURIComponent(String(name))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/octet-stream', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'theme' is not null or undefined - if (theme === null || theme === undefined) { - throw new Error('Required parameter theme was null or undefined when calling getMediaInfoImage.'); - } - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling getMediaInfoImage.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get all media info images. - */ - public async getMediaInfoImages (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Images/MediaInfo'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get rating image. - * @param theme The theme to get the image from. - * @param name The name of the image. - */ - public async getRatingImage (theme: string, name: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Images/Ratings/{theme}/{name}' - .replace('{' + 'theme' + '}', encodeURIComponent(String(theme))) - .replace('{' + 'name' + '}', encodeURIComponent(String(name))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/octet-stream', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'theme' is not null or undefined - if (theme === null || theme === undefined) { - throw new Error('Required parameter theme was null or undefined when calling getRatingImage.'); - } - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling getRatingImage.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get all general images. - */ - public async getRatingImages (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Images/Ratings'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/instantMixApi.ts b/jellyfin/api/instantMixApi.ts deleted file mode 100644 index 73d93c1..0000000 --- a/jellyfin/api/instantMixApi.ts +++ /dev/null @@ -1,956 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { BaseItemDtoQueryResult } from '../model/baseItemDtoQueryResult'; -import { ImageType } from '../model/imageType'; -import { ItemFields } from '../model/itemFields'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum InstantMixApiApiKeys { - CustomAuthentication, -} - -export class InstantMixApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: InstantMixApiApiKeys, value: string) { - (this.authentications as any)[InstantMixApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Creates an instant playlist based on a given album. - * @param id The item id. - * @param userId Optional. Filter by user id, and attach user data. - * @param limit Optional. The maximum number of records to return. - * @param fields Optional. Specify additional fields of information to return in the output. - * @param enableImages Optional. Include image information in output. - * @param enableUserData Optional. Include user data. - * @param imageTypeLimit Optional. The max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - */ - public async getInstantMixFromAlbum (id: string, userId?: string, limit?: number, fields?: Array, enableImages?: boolean, enableUserData?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Albums/{id}/InstantMix' - .replace('{' + 'id' + '}', encodeURIComponent(String(id))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'id' is not null or undefined - if (id === null || id === undefined) { - throw new Error('Required parameter id was null or undefined when calling getInstantMixFromAlbum.'); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Creates an instant playlist based on a given artist. - * @param id The item id. - * @param userId Optional. Filter by user id, and attach user data. - * @param limit Optional. The maximum number of records to return. - * @param fields Optional. Specify additional fields of information to return in the output. - * @param enableImages Optional. Include image information in output. - * @param enableUserData Optional. Include user data. - * @param imageTypeLimit Optional. The max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - */ - public async getInstantMixFromArtists (id: string, userId?: string, limit?: number, fields?: Array, enableImages?: boolean, enableUserData?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Artists/{id}/InstantMix' - .replace('{' + 'id' + '}', encodeURIComponent(String(id))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'id' is not null or undefined - if (id === null || id === undefined) { - throw new Error('Required parameter id was null or undefined when calling getInstantMixFromArtists.'); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Creates an instant playlist based on a given artist. - * @param id The item id. - * @param userId Optional. Filter by user id, and attach user data. - * @param limit Optional. The maximum number of records to return. - * @param fields Optional. Specify additional fields of information to return in the output. - * @param enableImages Optional. Include image information in output. - * @param enableUserData Optional. Include user data. - * @param imageTypeLimit Optional. The max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - */ - public async getInstantMixFromArtists2 (id: string, userId?: string, limit?: number, fields?: Array, enableImages?: boolean, enableUserData?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Artists/InstantMix'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'id' is not null or undefined - if (id === null || id === undefined) { - throw new Error('Required parameter id was null or undefined when calling getInstantMixFromArtists2.'); - } - - if (id !== undefined) { - localVarQueryParameters['id'] = ObjectSerializer.serialize(id, "string"); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Creates an instant playlist based on a given item. - * @param id The item id. - * @param userId Optional. Filter by user id, and attach user data. - * @param limit Optional. The maximum number of records to return. - * @param fields Optional. Specify additional fields of information to return in the output. - * @param enableImages Optional. Include image information in output. - * @param enableUserData Optional. Include user data. - * @param imageTypeLimit Optional. The max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - */ - public async getInstantMixFromItem (id: string, userId?: string, limit?: number, fields?: Array, enableImages?: boolean, enableUserData?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Items/{id}/InstantMix' - .replace('{' + 'id' + '}', encodeURIComponent(String(id))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'id' is not null or undefined - if (id === null || id === undefined) { - throw new Error('Required parameter id was null or undefined when calling getInstantMixFromItem.'); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Creates an instant playlist based on a given genre. - * @param id The item id. - * @param userId Optional. Filter by user id, and attach user data. - * @param limit Optional. The maximum number of records to return. - * @param fields Optional. Specify additional fields of information to return in the output. - * @param enableImages Optional. Include image information in output. - * @param enableUserData Optional. Include user data. - * @param imageTypeLimit Optional. The max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - */ - public async getInstantMixFromMusicGenreById (id: string, userId?: string, limit?: number, fields?: Array, enableImages?: boolean, enableUserData?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/MusicGenres/InstantMix'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'id' is not null or undefined - if (id === null || id === undefined) { - throw new Error('Required parameter id was null or undefined when calling getInstantMixFromMusicGenreById.'); - } - - if (id !== undefined) { - localVarQueryParameters['id'] = ObjectSerializer.serialize(id, "string"); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Creates an instant playlist based on a given genre. - * @param name The genre name. - * @param userId Optional. Filter by user id, and attach user data. - * @param limit Optional. The maximum number of records to return. - * @param fields Optional. Specify additional fields of information to return in the output. - * @param enableImages Optional. Include image information in output. - * @param enableUserData Optional. Include user data. - * @param imageTypeLimit Optional. The max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - */ - public async getInstantMixFromMusicGenreByName (name: string, userId?: string, limit?: number, fields?: Array, enableImages?: boolean, enableUserData?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/MusicGenres/{name}/InstantMix' - .replace('{' + 'name' + '}', encodeURIComponent(String(name))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling getInstantMixFromMusicGenreByName.'); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Creates an instant playlist based on a given playlist. - * @param id The item id. - * @param userId Optional. Filter by user id, and attach user data. - * @param limit Optional. The maximum number of records to return. - * @param fields Optional. Specify additional fields of information to return in the output. - * @param enableImages Optional. Include image information in output. - * @param enableUserData Optional. Include user data. - * @param imageTypeLimit Optional. The max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - */ - public async getInstantMixFromPlaylist (id: string, userId?: string, limit?: number, fields?: Array, enableImages?: boolean, enableUserData?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Playlists/{id}/InstantMix' - .replace('{' + 'id' + '}', encodeURIComponent(String(id))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'id' is not null or undefined - if (id === null || id === undefined) { - throw new Error('Required parameter id was null or undefined when calling getInstantMixFromPlaylist.'); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Creates an instant playlist based on a given song. - * @param id The item id. - * @param userId Optional. Filter by user id, and attach user data. - * @param limit Optional. The maximum number of records to return. - * @param fields Optional. Specify additional fields of information to return in the output. - * @param enableImages Optional. Include image information in output. - * @param enableUserData Optional. Include user data. - * @param imageTypeLimit Optional. The max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - */ - public async getInstantMixFromSong (id: string, userId?: string, limit?: number, fields?: Array, enableImages?: boolean, enableUserData?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Songs/{id}/InstantMix' - .replace('{' + 'id' + '}', encodeURIComponent(String(id))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'id' is not null or undefined - if (id === null || id === undefined) { - throw new Error('Required parameter id was null or undefined when calling getInstantMixFromSong.'); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/itemLookupApi.ts b/jellyfin/api/itemLookupApi.ts deleted file mode 100644 index ad40b5f..0000000 --- a/jellyfin/api/itemLookupApi.ts +++ /dev/null @@ -1,900 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { ApplySearchCriteriaRequest } from '../model/applySearchCriteriaRequest'; -import { ExternalIdInfo } from '../model/externalIdInfo'; -import { GetBookRemoteSearchResultsRequest } from '../model/getBookRemoteSearchResultsRequest'; -import { GetBoxSetRemoteSearchResultsRequest } from '../model/getBoxSetRemoteSearchResultsRequest'; -import { GetMovieRemoteSearchResultsRequest } from '../model/getMovieRemoteSearchResultsRequest'; -import { GetMusicAlbumRemoteSearchResultsRequest } from '../model/getMusicAlbumRemoteSearchResultsRequest'; -import { GetMusicArtistRemoteSearchResultsRequest } from '../model/getMusicArtistRemoteSearchResultsRequest'; -import { GetMusicVideoRemoteSearchResultsRequest } from '../model/getMusicVideoRemoteSearchResultsRequest'; -import { GetPersonRemoteSearchResultsRequest } from '../model/getPersonRemoteSearchResultsRequest'; -import { GetSeriesRemoteSearchResultsRequest } from '../model/getSeriesRemoteSearchResultsRequest'; -import { GetTrailerRemoteSearchResultsRequest } from '../model/getTrailerRemoteSearchResultsRequest'; -import { ProblemDetails } from '../model/problemDetails'; -import { RemoteSearchResult } from '../model/remoteSearchResult'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum ItemLookupApiApiKeys { - CustomAuthentication, -} - -export class ItemLookupApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: ItemLookupApiApiKeys, value: string) { - (this.authentications as any)[ItemLookupApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Applies search criteria to an item and refreshes metadata. - * @param itemId Item id. - * @param applySearchCriteriaRequest The remote search result. - * @param replaceAllImages Optional. Whether or not to replace all images. Default: True. - */ - public async applySearchCriteria (itemId: string, applySearchCriteriaRequest: ApplySearchCriteriaRequest, replaceAllImages?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Items/RemoteSearch/Apply/{itemId}' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling applySearchCriteria.'); - } - - // verify required parameter 'applySearchCriteriaRequest' is not null or undefined - if (applySearchCriteriaRequest === null || applySearchCriteriaRequest === undefined) { - throw new Error('Required parameter applySearchCriteriaRequest was null or undefined when calling applySearchCriteria.'); - } - - if (replaceAllImages !== undefined) { - localVarQueryParameters['replaceAllImages'] = ObjectSerializer.serialize(replaceAllImages, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(applySearchCriteriaRequest, "ApplySearchCriteriaRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get book remote search. - * @param getBookRemoteSearchResultsRequest Remote search query. - */ - public async getBookRemoteSearchResults (getBookRemoteSearchResultsRequest: GetBookRemoteSearchResultsRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Items/RemoteSearch/Book'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'getBookRemoteSearchResultsRequest' is not null or undefined - if (getBookRemoteSearchResultsRequest === null || getBookRemoteSearchResultsRequest === undefined) { - throw new Error('Required parameter getBookRemoteSearchResultsRequest was null or undefined when calling getBookRemoteSearchResults.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(getBookRemoteSearchResultsRequest, "GetBookRemoteSearchResultsRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get box set remote search. - * @param getBoxSetRemoteSearchResultsRequest Remote search query. - */ - public async getBoxSetRemoteSearchResults (getBoxSetRemoteSearchResultsRequest: GetBoxSetRemoteSearchResultsRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Items/RemoteSearch/BoxSet'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'getBoxSetRemoteSearchResultsRequest' is not null or undefined - if (getBoxSetRemoteSearchResultsRequest === null || getBoxSetRemoteSearchResultsRequest === undefined) { - throw new Error('Required parameter getBoxSetRemoteSearchResultsRequest was null or undefined when calling getBoxSetRemoteSearchResults.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(getBoxSetRemoteSearchResultsRequest, "GetBoxSetRemoteSearchResultsRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get the item\'s external id info. - * @param itemId Item id. - */ - public async getExternalIdInfos (itemId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Items/{itemId}/ExternalIdInfos' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getExternalIdInfos.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get movie remote search. - * @param getMovieRemoteSearchResultsRequest Remote search query. - */ - public async getMovieRemoteSearchResults (getMovieRemoteSearchResultsRequest: GetMovieRemoteSearchResultsRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Items/RemoteSearch/Movie'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'getMovieRemoteSearchResultsRequest' is not null or undefined - if (getMovieRemoteSearchResultsRequest === null || getMovieRemoteSearchResultsRequest === undefined) { - throw new Error('Required parameter getMovieRemoteSearchResultsRequest was null or undefined when calling getMovieRemoteSearchResults.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(getMovieRemoteSearchResultsRequest, "GetMovieRemoteSearchResultsRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get music album remote search. - * @param getMusicAlbumRemoteSearchResultsRequest Remote search query. - */ - public async getMusicAlbumRemoteSearchResults (getMusicAlbumRemoteSearchResultsRequest: GetMusicAlbumRemoteSearchResultsRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Items/RemoteSearch/MusicAlbum'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'getMusicAlbumRemoteSearchResultsRequest' is not null or undefined - if (getMusicAlbumRemoteSearchResultsRequest === null || getMusicAlbumRemoteSearchResultsRequest === undefined) { - throw new Error('Required parameter getMusicAlbumRemoteSearchResultsRequest was null or undefined when calling getMusicAlbumRemoteSearchResults.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(getMusicAlbumRemoteSearchResultsRequest, "GetMusicAlbumRemoteSearchResultsRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get music artist remote search. - * @param getMusicArtistRemoteSearchResultsRequest Remote search query. - */ - public async getMusicArtistRemoteSearchResults (getMusicArtistRemoteSearchResultsRequest: GetMusicArtistRemoteSearchResultsRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Items/RemoteSearch/MusicArtist'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'getMusicArtistRemoteSearchResultsRequest' is not null or undefined - if (getMusicArtistRemoteSearchResultsRequest === null || getMusicArtistRemoteSearchResultsRequest === undefined) { - throw new Error('Required parameter getMusicArtistRemoteSearchResultsRequest was null or undefined when calling getMusicArtistRemoteSearchResults.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(getMusicArtistRemoteSearchResultsRequest, "GetMusicArtistRemoteSearchResultsRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get music video remote search. - * @param getMusicVideoRemoteSearchResultsRequest Remote search query. - */ - public async getMusicVideoRemoteSearchResults (getMusicVideoRemoteSearchResultsRequest: GetMusicVideoRemoteSearchResultsRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Items/RemoteSearch/MusicVideo'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'getMusicVideoRemoteSearchResultsRequest' is not null or undefined - if (getMusicVideoRemoteSearchResultsRequest === null || getMusicVideoRemoteSearchResultsRequest === undefined) { - throw new Error('Required parameter getMusicVideoRemoteSearchResultsRequest was null or undefined when calling getMusicVideoRemoteSearchResults.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(getMusicVideoRemoteSearchResultsRequest, "GetMusicVideoRemoteSearchResultsRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get person remote search. - * @param getPersonRemoteSearchResultsRequest Remote search query. - */ - public async getPersonRemoteSearchResults (getPersonRemoteSearchResultsRequest: GetPersonRemoteSearchResultsRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Items/RemoteSearch/Person'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'getPersonRemoteSearchResultsRequest' is not null or undefined - if (getPersonRemoteSearchResultsRequest === null || getPersonRemoteSearchResultsRequest === undefined) { - throw new Error('Required parameter getPersonRemoteSearchResultsRequest was null or undefined when calling getPersonRemoteSearchResults.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(getPersonRemoteSearchResultsRequest, "GetPersonRemoteSearchResultsRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get series remote search. - * @param getSeriesRemoteSearchResultsRequest Remote search query. - */ - public async getSeriesRemoteSearchResults (getSeriesRemoteSearchResultsRequest: GetSeriesRemoteSearchResultsRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Items/RemoteSearch/Series'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'getSeriesRemoteSearchResultsRequest' is not null or undefined - if (getSeriesRemoteSearchResultsRequest === null || getSeriesRemoteSearchResultsRequest === undefined) { - throw new Error('Required parameter getSeriesRemoteSearchResultsRequest was null or undefined when calling getSeriesRemoteSearchResults.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(getSeriesRemoteSearchResultsRequest, "GetSeriesRemoteSearchResultsRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get trailer remote search. - * @param getTrailerRemoteSearchResultsRequest Remote search query. - */ - public async getTrailerRemoteSearchResults (getTrailerRemoteSearchResultsRequest: GetTrailerRemoteSearchResultsRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Items/RemoteSearch/Trailer'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'getTrailerRemoteSearchResultsRequest' is not null or undefined - if (getTrailerRemoteSearchResultsRequest === null || getTrailerRemoteSearchResultsRequest === undefined) { - throw new Error('Required parameter getTrailerRemoteSearchResultsRequest was null or undefined when calling getTrailerRemoteSearchResults.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(getTrailerRemoteSearchResultsRequest, "GetTrailerRemoteSearchResultsRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/itemRefreshApi.ts b/jellyfin/api/itemRefreshApi.ts deleted file mode 100644 index d345eff..0000000 --- a/jellyfin/api/itemRefreshApi.ts +++ /dev/null @@ -1,184 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { MetadataRefreshMode } from '../model/metadataRefreshMode'; -import { ProblemDetails } from '../model/problemDetails'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum ItemRefreshApiApiKeys { - CustomAuthentication, -} - -export class ItemRefreshApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: ItemRefreshApiApiKeys, value: string) { - (this.authentications as any)[ItemRefreshApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Refreshes metadata for an item. - * @param itemId Item id. - * @param metadataRefreshMode (Optional) Specifies the metadata refresh mode. - * @param imageRefreshMode (Optional) Specifies the image refresh mode. - * @param replaceAllMetadata (Optional) Determines if metadata should be replaced. Only applicable if mode is FullRefresh. - * @param replaceAllImages (Optional) Determines if images should be replaced. Only applicable if mode is FullRefresh. - */ - public async refreshItem (itemId: string, metadataRefreshMode?: MetadataRefreshMode, imageRefreshMode?: MetadataRefreshMode, replaceAllMetadata?: boolean, replaceAllImages?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Items/{itemId}/Refresh' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling refreshItem.'); - } - - if (metadataRefreshMode !== undefined) { - localVarQueryParameters['metadataRefreshMode'] = ObjectSerializer.serialize(metadataRefreshMode, "MetadataRefreshMode"); - } - - if (imageRefreshMode !== undefined) { - localVarQueryParameters['imageRefreshMode'] = ObjectSerializer.serialize(imageRefreshMode, "MetadataRefreshMode"); - } - - if (replaceAllMetadata !== undefined) { - localVarQueryParameters['replaceAllMetadata'] = ObjectSerializer.serialize(replaceAllMetadata, "boolean"); - } - - if (replaceAllImages !== undefined) { - localVarQueryParameters['replaceAllImages'] = ObjectSerializer.serialize(replaceAllImages, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/itemUpdateApi.ts b/jellyfin/api/itemUpdateApi.ts deleted file mode 100644 index d98ee26..0000000 --- a/jellyfin/api/itemUpdateApi.ts +++ /dev/null @@ -1,320 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { MetadataEditorInfo } from '../model/metadataEditorInfo'; -import { ProblemDetails } from '../model/problemDetails'; -import { UpdateItemRequest } from '../model/updateItemRequest'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum ItemUpdateApiApiKeys { - CustomAuthentication, -} - -export class ItemUpdateApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: ItemUpdateApiApiKeys, value: string) { - (this.authentications as any)[ItemUpdateApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Gets metadata editor info for an item. - * @param itemId The item id. - */ - public async getMetadataEditorInfo (itemId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: MetadataEditorInfo; }> { - const localVarPath = this.basePath + '/Items/{itemId}/MetadataEditor' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getMetadataEditorInfo.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: MetadataEditorInfo; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "MetadataEditorInfo"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Updates an item. - * @param itemId The item id. - * @param updateItemRequest The new item properties. - */ - public async updateItem (itemId: string, updateItemRequest: UpdateItemRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Items/{itemId}' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling updateItem.'); - } - - // verify required parameter 'updateItemRequest' is not null or undefined - if (updateItemRequest === null || updateItemRequest === undefined) { - throw new Error('Required parameter updateItemRequest was null or undefined when calling updateItem.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(updateItemRequest, "UpdateItemRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Updates an item\'s content type. - * @param itemId The item id. - * @param contentType The content type of the item. - */ - public async updateItemContentType (itemId: string, contentType?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Items/{itemId}/ContentType' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling updateItemContentType.'); - } - - if (contentType !== undefined) { - localVarQueryParameters['contentType'] = ObjectSerializer.serialize(contentType, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/itemsApi.ts b/jellyfin/api/itemsApi.ts deleted file mode 100644 index 6851e4a..0000000 --- a/jellyfin/api/itemsApi.ts +++ /dev/null @@ -1,1224 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { BaseItemDtoQueryResult } from '../model/baseItemDtoQueryResult'; -import { BaseItemKind } from '../model/baseItemKind'; -import { ImageType } from '../model/imageType'; -import { ItemFields } from '../model/itemFields'; -import { ItemFilter } from '../model/itemFilter'; -import { LocationType } from '../model/locationType'; -import { SeriesStatus } from '../model/seriesStatus'; -import { SortOrder } from '../model/sortOrder'; -import { VideoType } from '../model/videoType'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum ItemsApiApiKeys { - CustomAuthentication, -} - -export class ItemsApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: ItemsApiApiKeys, value: string) { - (this.authentications as any)[ItemsApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Gets items based on a query. - * @param userId The user id supplied as query parameter. - * @param maxOfficialRating Optional filter by maximum official rating (PG, PG-13, TV-MA, etc). - * @param hasThemeSong Optional filter by items with theme songs. - * @param hasThemeVideo Optional filter by items with theme videos. - * @param hasSubtitles Optional filter by items with subtitles. - * @param hasSpecialFeature Optional filter by items with special features. - * @param hasTrailer Optional filter by items with trailers. - * @param adjacentTo Optional. Return items that are siblings of a supplied item. - * @param parentIndexNumber Optional filter by parent index number. - * @param hasParentalRating Optional filter by items that have or do not have a parental rating. - * @param isHd Optional filter by items that are HD or not. - * @param is4K Optional filter by items that are 4K or not. - * @param locationTypes Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimited. - * @param excludeLocationTypes Optional. If specified, results will be filtered based on the LocationType. This allows multiple, comma delimited. - * @param isMissing Optional filter by items that are missing episodes or not. - * @param isUnaired Optional filter by items that are unaired episodes or not. - * @param minCommunityRating Optional filter by minimum community rating. - * @param minCriticRating Optional filter by minimum critic rating. - * @param minPremiereDate Optional. The minimum premiere date. Format = ISO. - * @param minDateLastSaved Optional. The minimum last saved date. Format = ISO. - * @param minDateLastSavedForUser Optional. The minimum last saved date for the current user. Format = ISO. - * @param maxPremiereDate Optional. The maximum premiere date. Format = ISO. - * @param hasOverview Optional filter by items that have an overview or not. - * @param hasImdbId Optional filter by items that have an imdb id or not. - * @param hasTmdbId Optional filter by items that have a tmdb id or not. - * @param hasTvdbId Optional filter by items that have a tvdb id or not. - * @param isMovie Optional filter for live tv movies. - * @param isSeries Optional filter for live tv series. - * @param isNews Optional filter for live tv news. - * @param isKids Optional filter for live tv kids. - * @param isSports Optional filter for live tv sports. - * @param excludeItemIds Optional. If specified, results will be filtered by excluding item ids. This allows multiple, comma delimited. - * @param startIndex Optional. The record index to start at. All items with a lower index will be dropped from the results. - * @param limit Optional. The maximum number of records to return. - * @param recursive When searching within folders, this determines whether or not the search will be recursive. true/false. - * @param searchTerm Optional. Filter based on a search term. - * @param sortOrder Sort Order - Ascending,Descending. - * @param parentId Specify this to localize the search to a specific item or folder. Omit to use the root. - * @param fields Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines. - * @param excludeItemTypes Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. - * @param includeItemTypes Optional. If specified, results will be filtered based on the item type. This allows multiple, comma delimited. - * @param filters Optional. Specify additional filters to apply. This allows multiple, comma delimited. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes. - * @param isFavorite Optional filter by items that are marked as favorite, or not. - * @param mediaTypes Optional filter by MediaType. Allows multiple, comma delimited. - * @param imageTypes Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited. - * @param sortBy Optional. Specify one or more sort orders, comma delimited. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime. - * @param isPlayed Optional filter by items that are played, or not. - * @param genres Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimited. - * @param officialRatings Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimited. - * @param tags Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimited. - * @param years Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimited. - * @param enableUserData Optional, include user data. - * @param imageTypeLimit Optional, the max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - * @param person Optional. If specified, results will be filtered to include only those containing the specified person. - * @param personIds Optional. If specified, results will be filtered to include only those containing the specified person id. - * @param personTypes Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited. - * @param studios Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimited. - * @param artists Optional. If specified, results will be filtered based on artists. This allows multiple, pipe delimited. - * @param excludeArtistIds Optional. If specified, results will be filtered based on artist id. This allows multiple, pipe delimited. - * @param artistIds Optional. If specified, results will be filtered to include only those containing the specified artist id. - * @param albumArtistIds Optional. If specified, results will be filtered to include only those containing the specified album artist id. - * @param contributingArtistIds Optional. If specified, results will be filtered to include only those containing the specified contributing artist id. - * @param albums Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimited. - * @param albumIds Optional. If specified, results will be filtered based on album id. This allows multiple, pipe delimited. - * @param ids Optional. If specific items are needed, specify a list of item id\'s to retrieve. This allows multiple, comma delimited. - * @param videoTypes Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimited. - * @param minOfficialRating Optional filter by minimum official rating (PG, PG-13, TV-MA, etc). - * @param isLocked Optional filter by items that are locked. - * @param isPlaceHolder Optional filter by items that are placeholders. - * @param hasOfficialRating Optional filter by items that have official ratings. - * @param collapseBoxSetItems Whether or not to hide items behind their boxsets. - * @param minWidth Optional. Filter by the minimum width of the item. - * @param minHeight Optional. Filter by the minimum height of the item. - * @param maxWidth Optional. Filter by the maximum width of the item. - * @param maxHeight Optional. Filter by the maximum height of the item. - * @param is3D Optional filter by items that are 3D, or not. - * @param seriesStatus Optional filter by Series Status. Allows multiple, comma delimited. - * @param nameStartsWithOrGreater Optional filter by items whose name is sorted equally or greater than a given input string. - * @param nameStartsWith Optional filter by items whose name is sorted equally than a given input string. - * @param nameLessThan Optional filter by items whose name is equally or lesser than a given input string. - * @param studioIds Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimited. - * @param genreIds Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimited. - * @param enableTotalRecordCount Optional. Enable the total record count. - * @param enableImages Optional, include image information in output. - */ - public async getItems (userId?: string, maxOfficialRating?: string, hasThemeSong?: boolean, hasThemeVideo?: boolean, hasSubtitles?: boolean, hasSpecialFeature?: boolean, hasTrailer?: boolean, adjacentTo?: string, parentIndexNumber?: number, hasParentalRating?: boolean, isHd?: boolean, is4K?: boolean, locationTypes?: Array, excludeLocationTypes?: Array, isMissing?: boolean, isUnaired?: boolean, minCommunityRating?: number, minCriticRating?: number, minPremiereDate?: Date, minDateLastSaved?: Date, minDateLastSavedForUser?: Date, maxPremiereDate?: Date, hasOverview?: boolean, hasImdbId?: boolean, hasTmdbId?: boolean, hasTvdbId?: boolean, isMovie?: boolean, isSeries?: boolean, isNews?: boolean, isKids?: boolean, isSports?: boolean, excludeItemIds?: Array, startIndex?: number, limit?: number, recursive?: boolean, searchTerm?: string, sortOrder?: Array, parentId?: string, fields?: Array, excludeItemTypes?: Array, includeItemTypes?: Array, filters?: Array, isFavorite?: boolean, mediaTypes?: Array, imageTypes?: Array, sortBy?: Array, isPlayed?: boolean, genres?: Array, officialRatings?: Array, tags?: Array, years?: Array, enableUserData?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, person?: string, personIds?: Array, personTypes?: Array, studios?: Array, artists?: Array, excludeArtistIds?: Array, artistIds?: Array, albumArtistIds?: Array, contributingArtistIds?: Array, albums?: Array, albumIds?: Array, ids?: Array, videoTypes?: Array, minOfficialRating?: string, isLocked?: boolean, isPlaceHolder?: boolean, hasOfficialRating?: boolean, collapseBoxSetItems?: boolean, minWidth?: number, minHeight?: number, maxWidth?: number, maxHeight?: number, is3D?: boolean, seriesStatus?: Array, nameStartsWithOrGreater?: string, nameStartsWith?: string, nameLessThan?: string, studioIds?: Array, genreIds?: Array, enableTotalRecordCount?: boolean, enableImages?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Items'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (maxOfficialRating !== undefined) { - localVarQueryParameters['maxOfficialRating'] = ObjectSerializer.serialize(maxOfficialRating, "string"); - } - - if (hasThemeSong !== undefined) { - localVarQueryParameters['hasThemeSong'] = ObjectSerializer.serialize(hasThemeSong, "boolean"); - } - - if (hasThemeVideo !== undefined) { - localVarQueryParameters['hasThemeVideo'] = ObjectSerializer.serialize(hasThemeVideo, "boolean"); - } - - if (hasSubtitles !== undefined) { - localVarQueryParameters['hasSubtitles'] = ObjectSerializer.serialize(hasSubtitles, "boolean"); - } - - if (hasSpecialFeature !== undefined) { - localVarQueryParameters['hasSpecialFeature'] = ObjectSerializer.serialize(hasSpecialFeature, "boolean"); - } - - if (hasTrailer !== undefined) { - localVarQueryParameters['hasTrailer'] = ObjectSerializer.serialize(hasTrailer, "boolean"); - } - - if (adjacentTo !== undefined) { - localVarQueryParameters['adjacentTo'] = ObjectSerializer.serialize(adjacentTo, "string"); - } - - if (parentIndexNumber !== undefined) { - localVarQueryParameters['parentIndexNumber'] = ObjectSerializer.serialize(parentIndexNumber, "number"); - } - - if (hasParentalRating !== undefined) { - localVarQueryParameters['hasParentalRating'] = ObjectSerializer.serialize(hasParentalRating, "boolean"); - } - - if (isHd !== undefined) { - localVarQueryParameters['isHd'] = ObjectSerializer.serialize(isHd, "boolean"); - } - - if (is4K !== undefined) { - localVarQueryParameters['is4K'] = ObjectSerializer.serialize(is4K, "boolean"); - } - - if (locationTypes !== undefined) { - localVarQueryParameters['locationTypes'] = ObjectSerializer.serialize(locationTypes, "Array"); - } - - if (excludeLocationTypes !== undefined) { - localVarQueryParameters['excludeLocationTypes'] = ObjectSerializer.serialize(excludeLocationTypes, "Array"); - } - - if (isMissing !== undefined) { - localVarQueryParameters['isMissing'] = ObjectSerializer.serialize(isMissing, "boolean"); - } - - if (isUnaired !== undefined) { - localVarQueryParameters['isUnaired'] = ObjectSerializer.serialize(isUnaired, "boolean"); - } - - if (minCommunityRating !== undefined) { - localVarQueryParameters['minCommunityRating'] = ObjectSerializer.serialize(minCommunityRating, "number"); - } - - if (minCriticRating !== undefined) { - localVarQueryParameters['minCriticRating'] = ObjectSerializer.serialize(minCriticRating, "number"); - } - - if (minPremiereDate !== undefined) { - localVarQueryParameters['minPremiereDate'] = ObjectSerializer.serialize(minPremiereDate, "Date"); - } - - if (minDateLastSaved !== undefined) { - localVarQueryParameters['minDateLastSaved'] = ObjectSerializer.serialize(minDateLastSaved, "Date"); - } - - if (minDateLastSavedForUser !== undefined) { - localVarQueryParameters['minDateLastSavedForUser'] = ObjectSerializer.serialize(minDateLastSavedForUser, "Date"); - } - - if (maxPremiereDate !== undefined) { - localVarQueryParameters['maxPremiereDate'] = ObjectSerializer.serialize(maxPremiereDate, "Date"); - } - - if (hasOverview !== undefined) { - localVarQueryParameters['hasOverview'] = ObjectSerializer.serialize(hasOverview, "boolean"); - } - - if (hasImdbId !== undefined) { - localVarQueryParameters['hasImdbId'] = ObjectSerializer.serialize(hasImdbId, "boolean"); - } - - if (hasTmdbId !== undefined) { - localVarQueryParameters['hasTmdbId'] = ObjectSerializer.serialize(hasTmdbId, "boolean"); - } - - if (hasTvdbId !== undefined) { - localVarQueryParameters['hasTvdbId'] = ObjectSerializer.serialize(hasTvdbId, "boolean"); - } - - if (isMovie !== undefined) { - localVarQueryParameters['isMovie'] = ObjectSerializer.serialize(isMovie, "boolean"); - } - - if (isSeries !== undefined) { - localVarQueryParameters['isSeries'] = ObjectSerializer.serialize(isSeries, "boolean"); - } - - if (isNews !== undefined) { - localVarQueryParameters['isNews'] = ObjectSerializer.serialize(isNews, "boolean"); - } - - if (isKids !== undefined) { - localVarQueryParameters['isKids'] = ObjectSerializer.serialize(isKids, "boolean"); - } - - if (isSports !== undefined) { - localVarQueryParameters['isSports'] = ObjectSerializer.serialize(isSports, "boolean"); - } - - if (excludeItemIds !== undefined) { - localVarQueryParameters['excludeItemIds'] = ObjectSerializer.serialize(excludeItemIds, "Array"); - } - - if (startIndex !== undefined) { - localVarQueryParameters['startIndex'] = ObjectSerializer.serialize(startIndex, "number"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (recursive !== undefined) { - localVarQueryParameters['recursive'] = ObjectSerializer.serialize(recursive, "boolean"); - } - - if (searchTerm !== undefined) { - localVarQueryParameters['searchTerm'] = ObjectSerializer.serialize(searchTerm, "string"); - } - - if (sortOrder !== undefined) { - localVarQueryParameters['sortOrder'] = ObjectSerializer.serialize(sortOrder, "Array"); - } - - if (parentId !== undefined) { - localVarQueryParameters['parentId'] = ObjectSerializer.serialize(parentId, "string"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (excludeItemTypes !== undefined) { - localVarQueryParameters['excludeItemTypes'] = ObjectSerializer.serialize(excludeItemTypes, "Array"); - } - - if (includeItemTypes !== undefined) { - localVarQueryParameters['includeItemTypes'] = ObjectSerializer.serialize(includeItemTypes, "Array"); - } - - if (filters !== undefined) { - localVarQueryParameters['filters'] = ObjectSerializer.serialize(filters, "Array"); - } - - if (isFavorite !== undefined) { - localVarQueryParameters['isFavorite'] = ObjectSerializer.serialize(isFavorite, "boolean"); - } - - if (mediaTypes !== undefined) { - localVarQueryParameters['mediaTypes'] = ObjectSerializer.serialize(mediaTypes, "Array"); - } - - if (imageTypes !== undefined) { - localVarQueryParameters['imageTypes'] = ObjectSerializer.serialize(imageTypes, "Array"); - } - - if (sortBy !== undefined) { - localVarQueryParameters['sortBy'] = ObjectSerializer.serialize(sortBy, "Array"); - } - - if (isPlayed !== undefined) { - localVarQueryParameters['isPlayed'] = ObjectSerializer.serialize(isPlayed, "boolean"); - } - - if (genres !== undefined) { - localVarQueryParameters['genres'] = ObjectSerializer.serialize(genres, "Array"); - } - - if (officialRatings !== undefined) { - localVarQueryParameters['officialRatings'] = ObjectSerializer.serialize(officialRatings, "Array"); - } - - if (tags !== undefined) { - localVarQueryParameters['tags'] = ObjectSerializer.serialize(tags, "Array"); - } - - if (years !== undefined) { - localVarQueryParameters['years'] = ObjectSerializer.serialize(years, "Array"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - if (person !== undefined) { - localVarQueryParameters['person'] = ObjectSerializer.serialize(person, "string"); - } - - if (personIds !== undefined) { - localVarQueryParameters['personIds'] = ObjectSerializer.serialize(personIds, "Array"); - } - - if (personTypes !== undefined) { - localVarQueryParameters['personTypes'] = ObjectSerializer.serialize(personTypes, "Array"); - } - - if (studios !== undefined) { - localVarQueryParameters['studios'] = ObjectSerializer.serialize(studios, "Array"); - } - - if (artists !== undefined) { - localVarQueryParameters['artists'] = ObjectSerializer.serialize(artists, "Array"); - } - - if (excludeArtistIds !== undefined) { - localVarQueryParameters['excludeArtistIds'] = ObjectSerializer.serialize(excludeArtistIds, "Array"); - } - - if (artistIds !== undefined) { - localVarQueryParameters['artistIds'] = ObjectSerializer.serialize(artistIds, "Array"); - } - - if (albumArtistIds !== undefined) { - localVarQueryParameters['albumArtistIds'] = ObjectSerializer.serialize(albumArtistIds, "Array"); - } - - if (contributingArtistIds !== undefined) { - localVarQueryParameters['contributingArtistIds'] = ObjectSerializer.serialize(contributingArtistIds, "Array"); - } - - if (albums !== undefined) { - localVarQueryParameters['albums'] = ObjectSerializer.serialize(albums, "Array"); - } - - if (albumIds !== undefined) { - localVarQueryParameters['albumIds'] = ObjectSerializer.serialize(albumIds, "Array"); - } - - if (ids !== undefined) { - localVarQueryParameters['ids'] = ObjectSerializer.serialize(ids, "Array"); - } - - if (videoTypes !== undefined) { - localVarQueryParameters['videoTypes'] = ObjectSerializer.serialize(videoTypes, "Array"); - } - - if (minOfficialRating !== undefined) { - localVarQueryParameters['minOfficialRating'] = ObjectSerializer.serialize(minOfficialRating, "string"); - } - - if (isLocked !== undefined) { - localVarQueryParameters['isLocked'] = ObjectSerializer.serialize(isLocked, "boolean"); - } - - if (isPlaceHolder !== undefined) { - localVarQueryParameters['isPlaceHolder'] = ObjectSerializer.serialize(isPlaceHolder, "boolean"); - } - - if (hasOfficialRating !== undefined) { - localVarQueryParameters['hasOfficialRating'] = ObjectSerializer.serialize(hasOfficialRating, "boolean"); - } - - if (collapseBoxSetItems !== undefined) { - localVarQueryParameters['collapseBoxSetItems'] = ObjectSerializer.serialize(collapseBoxSetItems, "boolean"); - } - - if (minWidth !== undefined) { - localVarQueryParameters['minWidth'] = ObjectSerializer.serialize(minWidth, "number"); - } - - if (minHeight !== undefined) { - localVarQueryParameters['minHeight'] = ObjectSerializer.serialize(minHeight, "number"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (is3D !== undefined) { - localVarQueryParameters['is3D'] = ObjectSerializer.serialize(is3D, "boolean"); - } - - if (seriesStatus !== undefined) { - localVarQueryParameters['seriesStatus'] = ObjectSerializer.serialize(seriesStatus, "Array"); - } - - if (nameStartsWithOrGreater !== undefined) { - localVarQueryParameters['nameStartsWithOrGreater'] = ObjectSerializer.serialize(nameStartsWithOrGreater, "string"); - } - - if (nameStartsWith !== undefined) { - localVarQueryParameters['nameStartsWith'] = ObjectSerializer.serialize(nameStartsWith, "string"); - } - - if (nameLessThan !== undefined) { - localVarQueryParameters['nameLessThan'] = ObjectSerializer.serialize(nameLessThan, "string"); - } - - if (studioIds !== undefined) { - localVarQueryParameters['studioIds'] = ObjectSerializer.serialize(studioIds, "Array"); - } - - if (genreIds !== undefined) { - localVarQueryParameters['genreIds'] = ObjectSerializer.serialize(genreIds, "Array"); - } - - if (enableTotalRecordCount !== undefined) { - localVarQueryParameters['enableTotalRecordCount'] = ObjectSerializer.serialize(enableTotalRecordCount, "boolean"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets items based on a query. - * @param userId The user id supplied as query parameter. - * @param maxOfficialRating Optional filter by maximum official rating (PG, PG-13, TV-MA, etc). - * @param hasThemeSong Optional filter by items with theme songs. - * @param hasThemeVideo Optional filter by items with theme videos. - * @param hasSubtitles Optional filter by items with subtitles. - * @param hasSpecialFeature Optional filter by items with special features. - * @param hasTrailer Optional filter by items with trailers. - * @param adjacentTo Optional. Return items that are siblings of a supplied item. - * @param parentIndexNumber Optional filter by parent index number. - * @param hasParentalRating Optional filter by items that have or do not have a parental rating. - * @param isHd Optional filter by items that are HD or not. - * @param is4K Optional filter by items that are 4K or not. - * @param locationTypes Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimited. - * @param excludeLocationTypes Optional. If specified, results will be filtered based on the LocationType. This allows multiple, comma delimited. - * @param isMissing Optional filter by items that are missing episodes or not. - * @param isUnaired Optional filter by items that are unaired episodes or not. - * @param minCommunityRating Optional filter by minimum community rating. - * @param minCriticRating Optional filter by minimum critic rating. - * @param minPremiereDate Optional. The minimum premiere date. Format = ISO. - * @param minDateLastSaved Optional. The minimum last saved date. Format = ISO. - * @param minDateLastSavedForUser Optional. The minimum last saved date for the current user. Format = ISO. - * @param maxPremiereDate Optional. The maximum premiere date. Format = ISO. - * @param hasOverview Optional filter by items that have an overview or not. - * @param hasImdbId Optional filter by items that have an imdb id or not. - * @param hasTmdbId Optional filter by items that have a tmdb id or not. - * @param hasTvdbId Optional filter by items that have a tvdb id or not. - * @param isMovie Optional filter for live tv movies. - * @param isSeries Optional filter for live tv series. - * @param isNews Optional filter for live tv news. - * @param isKids Optional filter for live tv kids. - * @param isSports Optional filter for live tv sports. - * @param excludeItemIds Optional. If specified, results will be filtered by excluding item ids. This allows multiple, comma delimited. - * @param startIndex Optional. The record index to start at. All items with a lower index will be dropped from the results. - * @param limit Optional. The maximum number of records to return. - * @param recursive When searching within folders, this determines whether or not the search will be recursive. true/false. - * @param searchTerm Optional. Filter based on a search term. - * @param sortOrder Sort Order - Ascending,Descending. - * @param parentId Specify this to localize the search to a specific item or folder. Omit to use the root. - * @param fields Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines. - * @param excludeItemTypes Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. - * @param includeItemTypes Optional. If specified, results will be filtered based on the item type. This allows multiple, comma delimited. - * @param filters Optional. Specify additional filters to apply. This allows multiple, comma delimited. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes. - * @param isFavorite Optional filter by items that are marked as favorite, or not. - * @param mediaTypes Optional filter by MediaType. Allows multiple, comma delimited. - * @param imageTypes Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited. - * @param sortBy Optional. Specify one or more sort orders, comma delimited. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime. - * @param isPlayed Optional filter by items that are played, or not. - * @param genres Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimited. - * @param officialRatings Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimited. - * @param tags Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimited. - * @param years Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimited. - * @param enableUserData Optional, include user data. - * @param imageTypeLimit Optional, the max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - * @param person Optional. If specified, results will be filtered to include only those containing the specified person. - * @param personIds Optional. If specified, results will be filtered to include only those containing the specified person id. - * @param personTypes Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited. - * @param studios Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimited. - * @param artists Optional. If specified, results will be filtered based on artists. This allows multiple, pipe delimited. - * @param excludeArtistIds Optional. If specified, results will be filtered based on artist id. This allows multiple, pipe delimited. - * @param artistIds Optional. If specified, results will be filtered to include only those containing the specified artist id. - * @param albumArtistIds Optional. If specified, results will be filtered to include only those containing the specified album artist id. - * @param contributingArtistIds Optional. If specified, results will be filtered to include only those containing the specified contributing artist id. - * @param albums Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimited. - * @param albumIds Optional. If specified, results will be filtered based on album id. This allows multiple, pipe delimited. - * @param ids Optional. If specific items are needed, specify a list of item id\'s to retrieve. This allows multiple, comma delimited. - * @param videoTypes Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimited. - * @param minOfficialRating Optional filter by minimum official rating (PG, PG-13, TV-MA, etc). - * @param isLocked Optional filter by items that are locked. - * @param isPlaceHolder Optional filter by items that are placeholders. - * @param hasOfficialRating Optional filter by items that have official ratings. - * @param collapseBoxSetItems Whether or not to hide items behind their boxsets. - * @param minWidth Optional. Filter by the minimum width of the item. - * @param minHeight Optional. Filter by the minimum height of the item. - * @param maxWidth Optional. Filter by the maximum width of the item. - * @param maxHeight Optional. Filter by the maximum height of the item. - * @param is3D Optional filter by items that are 3D, or not. - * @param seriesStatus Optional filter by Series Status. Allows multiple, comma delimited. - * @param nameStartsWithOrGreater Optional filter by items whose name is sorted equally or greater than a given input string. - * @param nameStartsWith Optional filter by items whose name is sorted equally than a given input string. - * @param nameLessThan Optional filter by items whose name is equally or lesser than a given input string. - * @param studioIds Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimited. - * @param genreIds Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimited. - * @param enableTotalRecordCount Optional. Enable the total record count. - * @param enableImages Optional, include image information in output. - */ - public async getItemsByUserId (userId: string, maxOfficialRating?: string, hasThemeSong?: boolean, hasThemeVideo?: boolean, hasSubtitles?: boolean, hasSpecialFeature?: boolean, hasTrailer?: boolean, adjacentTo?: string, parentIndexNumber?: number, hasParentalRating?: boolean, isHd?: boolean, is4K?: boolean, locationTypes?: Array, excludeLocationTypes?: Array, isMissing?: boolean, isUnaired?: boolean, minCommunityRating?: number, minCriticRating?: number, minPremiereDate?: Date, minDateLastSaved?: Date, minDateLastSavedForUser?: Date, maxPremiereDate?: Date, hasOverview?: boolean, hasImdbId?: boolean, hasTmdbId?: boolean, hasTvdbId?: boolean, isMovie?: boolean, isSeries?: boolean, isNews?: boolean, isKids?: boolean, isSports?: boolean, excludeItemIds?: Array, startIndex?: number, limit?: number, recursive?: boolean, searchTerm?: string, sortOrder?: Array, parentId?: string, fields?: Array, excludeItemTypes?: Array, includeItemTypes?: Array, filters?: Array, isFavorite?: boolean, mediaTypes?: Array, imageTypes?: Array, sortBy?: Array, isPlayed?: boolean, genres?: Array, officialRatings?: Array, tags?: Array, years?: Array, enableUserData?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, person?: string, personIds?: Array, personTypes?: Array, studios?: Array, artists?: Array, excludeArtistIds?: Array, artistIds?: Array, albumArtistIds?: Array, contributingArtistIds?: Array, albums?: Array, albumIds?: Array, ids?: Array, videoTypes?: Array, minOfficialRating?: string, isLocked?: boolean, isPlaceHolder?: boolean, hasOfficialRating?: boolean, collapseBoxSetItems?: boolean, minWidth?: number, minHeight?: number, maxWidth?: number, maxHeight?: number, is3D?: boolean, seriesStatus?: Array, nameStartsWithOrGreater?: string, nameStartsWith?: string, nameLessThan?: string, studioIds?: Array, genreIds?: Array, enableTotalRecordCount?: boolean, enableImages?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Users/{userId}/Items' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling getItemsByUserId.'); - } - - if (maxOfficialRating !== undefined) { - localVarQueryParameters['maxOfficialRating'] = ObjectSerializer.serialize(maxOfficialRating, "string"); - } - - if (hasThemeSong !== undefined) { - localVarQueryParameters['hasThemeSong'] = ObjectSerializer.serialize(hasThemeSong, "boolean"); - } - - if (hasThemeVideo !== undefined) { - localVarQueryParameters['hasThemeVideo'] = ObjectSerializer.serialize(hasThemeVideo, "boolean"); - } - - if (hasSubtitles !== undefined) { - localVarQueryParameters['hasSubtitles'] = ObjectSerializer.serialize(hasSubtitles, "boolean"); - } - - if (hasSpecialFeature !== undefined) { - localVarQueryParameters['hasSpecialFeature'] = ObjectSerializer.serialize(hasSpecialFeature, "boolean"); - } - - if (hasTrailer !== undefined) { - localVarQueryParameters['hasTrailer'] = ObjectSerializer.serialize(hasTrailer, "boolean"); - } - - if (adjacentTo !== undefined) { - localVarQueryParameters['adjacentTo'] = ObjectSerializer.serialize(adjacentTo, "string"); - } - - if (parentIndexNumber !== undefined) { - localVarQueryParameters['parentIndexNumber'] = ObjectSerializer.serialize(parentIndexNumber, "number"); - } - - if (hasParentalRating !== undefined) { - localVarQueryParameters['hasParentalRating'] = ObjectSerializer.serialize(hasParentalRating, "boolean"); - } - - if (isHd !== undefined) { - localVarQueryParameters['isHd'] = ObjectSerializer.serialize(isHd, "boolean"); - } - - if (is4K !== undefined) { - localVarQueryParameters['is4K'] = ObjectSerializer.serialize(is4K, "boolean"); - } - - if (locationTypes !== undefined) { - localVarQueryParameters['locationTypes'] = ObjectSerializer.serialize(locationTypes, "Array"); - } - - if (excludeLocationTypes !== undefined) { - localVarQueryParameters['excludeLocationTypes'] = ObjectSerializer.serialize(excludeLocationTypes, "Array"); - } - - if (isMissing !== undefined) { - localVarQueryParameters['isMissing'] = ObjectSerializer.serialize(isMissing, "boolean"); - } - - if (isUnaired !== undefined) { - localVarQueryParameters['isUnaired'] = ObjectSerializer.serialize(isUnaired, "boolean"); - } - - if (minCommunityRating !== undefined) { - localVarQueryParameters['minCommunityRating'] = ObjectSerializer.serialize(minCommunityRating, "number"); - } - - if (minCriticRating !== undefined) { - localVarQueryParameters['minCriticRating'] = ObjectSerializer.serialize(minCriticRating, "number"); - } - - if (minPremiereDate !== undefined) { - localVarQueryParameters['minPremiereDate'] = ObjectSerializer.serialize(minPremiereDate, "Date"); - } - - if (minDateLastSaved !== undefined) { - localVarQueryParameters['minDateLastSaved'] = ObjectSerializer.serialize(minDateLastSaved, "Date"); - } - - if (minDateLastSavedForUser !== undefined) { - localVarQueryParameters['minDateLastSavedForUser'] = ObjectSerializer.serialize(minDateLastSavedForUser, "Date"); - } - - if (maxPremiereDate !== undefined) { - localVarQueryParameters['maxPremiereDate'] = ObjectSerializer.serialize(maxPremiereDate, "Date"); - } - - if (hasOverview !== undefined) { - localVarQueryParameters['hasOverview'] = ObjectSerializer.serialize(hasOverview, "boolean"); - } - - if (hasImdbId !== undefined) { - localVarQueryParameters['hasImdbId'] = ObjectSerializer.serialize(hasImdbId, "boolean"); - } - - if (hasTmdbId !== undefined) { - localVarQueryParameters['hasTmdbId'] = ObjectSerializer.serialize(hasTmdbId, "boolean"); - } - - if (hasTvdbId !== undefined) { - localVarQueryParameters['hasTvdbId'] = ObjectSerializer.serialize(hasTvdbId, "boolean"); - } - - if (isMovie !== undefined) { - localVarQueryParameters['isMovie'] = ObjectSerializer.serialize(isMovie, "boolean"); - } - - if (isSeries !== undefined) { - localVarQueryParameters['isSeries'] = ObjectSerializer.serialize(isSeries, "boolean"); - } - - if (isNews !== undefined) { - localVarQueryParameters['isNews'] = ObjectSerializer.serialize(isNews, "boolean"); - } - - if (isKids !== undefined) { - localVarQueryParameters['isKids'] = ObjectSerializer.serialize(isKids, "boolean"); - } - - if (isSports !== undefined) { - localVarQueryParameters['isSports'] = ObjectSerializer.serialize(isSports, "boolean"); - } - - if (excludeItemIds !== undefined) { - localVarQueryParameters['excludeItemIds'] = ObjectSerializer.serialize(excludeItemIds, "Array"); - } - - if (startIndex !== undefined) { - localVarQueryParameters['startIndex'] = ObjectSerializer.serialize(startIndex, "number"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (recursive !== undefined) { - localVarQueryParameters['recursive'] = ObjectSerializer.serialize(recursive, "boolean"); - } - - if (searchTerm !== undefined) { - localVarQueryParameters['searchTerm'] = ObjectSerializer.serialize(searchTerm, "string"); - } - - if (sortOrder !== undefined) { - localVarQueryParameters['sortOrder'] = ObjectSerializer.serialize(sortOrder, "Array"); - } - - if (parentId !== undefined) { - localVarQueryParameters['parentId'] = ObjectSerializer.serialize(parentId, "string"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (excludeItemTypes !== undefined) { - localVarQueryParameters['excludeItemTypes'] = ObjectSerializer.serialize(excludeItemTypes, "Array"); - } - - if (includeItemTypes !== undefined) { - localVarQueryParameters['includeItemTypes'] = ObjectSerializer.serialize(includeItemTypes, "Array"); - } - - if (filters !== undefined) { - localVarQueryParameters['filters'] = ObjectSerializer.serialize(filters, "Array"); - } - - if (isFavorite !== undefined) { - localVarQueryParameters['isFavorite'] = ObjectSerializer.serialize(isFavorite, "boolean"); - } - - if (mediaTypes !== undefined) { - localVarQueryParameters['mediaTypes'] = ObjectSerializer.serialize(mediaTypes, "Array"); - } - - if (imageTypes !== undefined) { - localVarQueryParameters['imageTypes'] = ObjectSerializer.serialize(imageTypes, "Array"); - } - - if (sortBy !== undefined) { - localVarQueryParameters['sortBy'] = ObjectSerializer.serialize(sortBy, "Array"); - } - - if (isPlayed !== undefined) { - localVarQueryParameters['isPlayed'] = ObjectSerializer.serialize(isPlayed, "boolean"); - } - - if (genres !== undefined) { - localVarQueryParameters['genres'] = ObjectSerializer.serialize(genres, "Array"); - } - - if (officialRatings !== undefined) { - localVarQueryParameters['officialRatings'] = ObjectSerializer.serialize(officialRatings, "Array"); - } - - if (tags !== undefined) { - localVarQueryParameters['tags'] = ObjectSerializer.serialize(tags, "Array"); - } - - if (years !== undefined) { - localVarQueryParameters['years'] = ObjectSerializer.serialize(years, "Array"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - if (person !== undefined) { - localVarQueryParameters['person'] = ObjectSerializer.serialize(person, "string"); - } - - if (personIds !== undefined) { - localVarQueryParameters['personIds'] = ObjectSerializer.serialize(personIds, "Array"); - } - - if (personTypes !== undefined) { - localVarQueryParameters['personTypes'] = ObjectSerializer.serialize(personTypes, "Array"); - } - - if (studios !== undefined) { - localVarQueryParameters['studios'] = ObjectSerializer.serialize(studios, "Array"); - } - - if (artists !== undefined) { - localVarQueryParameters['artists'] = ObjectSerializer.serialize(artists, "Array"); - } - - if (excludeArtistIds !== undefined) { - localVarQueryParameters['excludeArtistIds'] = ObjectSerializer.serialize(excludeArtistIds, "Array"); - } - - if (artistIds !== undefined) { - localVarQueryParameters['artistIds'] = ObjectSerializer.serialize(artistIds, "Array"); - } - - if (albumArtistIds !== undefined) { - localVarQueryParameters['albumArtistIds'] = ObjectSerializer.serialize(albumArtistIds, "Array"); - } - - if (contributingArtistIds !== undefined) { - localVarQueryParameters['contributingArtistIds'] = ObjectSerializer.serialize(contributingArtistIds, "Array"); - } - - if (albums !== undefined) { - localVarQueryParameters['albums'] = ObjectSerializer.serialize(albums, "Array"); - } - - if (albumIds !== undefined) { - localVarQueryParameters['albumIds'] = ObjectSerializer.serialize(albumIds, "Array"); - } - - if (ids !== undefined) { - localVarQueryParameters['ids'] = ObjectSerializer.serialize(ids, "Array"); - } - - if (videoTypes !== undefined) { - localVarQueryParameters['videoTypes'] = ObjectSerializer.serialize(videoTypes, "Array"); - } - - if (minOfficialRating !== undefined) { - localVarQueryParameters['minOfficialRating'] = ObjectSerializer.serialize(minOfficialRating, "string"); - } - - if (isLocked !== undefined) { - localVarQueryParameters['isLocked'] = ObjectSerializer.serialize(isLocked, "boolean"); - } - - if (isPlaceHolder !== undefined) { - localVarQueryParameters['isPlaceHolder'] = ObjectSerializer.serialize(isPlaceHolder, "boolean"); - } - - if (hasOfficialRating !== undefined) { - localVarQueryParameters['hasOfficialRating'] = ObjectSerializer.serialize(hasOfficialRating, "boolean"); - } - - if (collapseBoxSetItems !== undefined) { - localVarQueryParameters['collapseBoxSetItems'] = ObjectSerializer.serialize(collapseBoxSetItems, "boolean"); - } - - if (minWidth !== undefined) { - localVarQueryParameters['minWidth'] = ObjectSerializer.serialize(minWidth, "number"); - } - - if (minHeight !== undefined) { - localVarQueryParameters['minHeight'] = ObjectSerializer.serialize(minHeight, "number"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (is3D !== undefined) { - localVarQueryParameters['is3D'] = ObjectSerializer.serialize(is3D, "boolean"); - } - - if (seriesStatus !== undefined) { - localVarQueryParameters['seriesStatus'] = ObjectSerializer.serialize(seriesStatus, "Array"); - } - - if (nameStartsWithOrGreater !== undefined) { - localVarQueryParameters['nameStartsWithOrGreater'] = ObjectSerializer.serialize(nameStartsWithOrGreater, "string"); - } - - if (nameStartsWith !== undefined) { - localVarQueryParameters['nameStartsWith'] = ObjectSerializer.serialize(nameStartsWith, "string"); - } - - if (nameLessThan !== undefined) { - localVarQueryParameters['nameLessThan'] = ObjectSerializer.serialize(nameLessThan, "string"); - } - - if (studioIds !== undefined) { - localVarQueryParameters['studioIds'] = ObjectSerializer.serialize(studioIds, "Array"); - } - - if (genreIds !== undefined) { - localVarQueryParameters['genreIds'] = ObjectSerializer.serialize(genreIds, "Array"); - } - - if (enableTotalRecordCount !== undefined) { - localVarQueryParameters['enableTotalRecordCount'] = ObjectSerializer.serialize(enableTotalRecordCount, "boolean"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets items based on a query. - * @param userId The user id. - * @param startIndex The start index. - * @param limit The item limit. - * @param searchTerm The search term. - * @param parentId Specify this to localize the search to a specific item or folder. Omit to use the root. - * @param fields Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines. - * @param mediaTypes Optional. Filter by MediaType. Allows multiple, comma delimited. - * @param enableUserData Optional. Include user data. - * @param imageTypeLimit Optional. The max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - * @param excludeItemTypes Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. - * @param includeItemTypes Optional. If specified, results will be filtered based on the item type. This allows multiple, comma delimited. - * @param enableTotalRecordCount Optional. Enable the total record count. - * @param enableImages Optional. Include image information in output. - * @param excludeActiveSessions Optional. Whether to exclude the currently active sessions. - */ - public async getResumeItems (userId: string, startIndex?: number, limit?: number, searchTerm?: string, parentId?: string, fields?: Array, mediaTypes?: Array, enableUserData?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, excludeItemTypes?: Array, includeItemTypes?: Array, enableTotalRecordCount?: boolean, enableImages?: boolean, excludeActiveSessions?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Users/{userId}/Items/Resume' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling getResumeItems.'); - } - - if (startIndex !== undefined) { - localVarQueryParameters['startIndex'] = ObjectSerializer.serialize(startIndex, "number"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (searchTerm !== undefined) { - localVarQueryParameters['searchTerm'] = ObjectSerializer.serialize(searchTerm, "string"); - } - - if (parentId !== undefined) { - localVarQueryParameters['parentId'] = ObjectSerializer.serialize(parentId, "string"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (mediaTypes !== undefined) { - localVarQueryParameters['mediaTypes'] = ObjectSerializer.serialize(mediaTypes, "Array"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - if (excludeItemTypes !== undefined) { - localVarQueryParameters['excludeItemTypes'] = ObjectSerializer.serialize(excludeItemTypes, "Array"); - } - - if (includeItemTypes !== undefined) { - localVarQueryParameters['includeItemTypes'] = ObjectSerializer.serialize(includeItemTypes, "Array"); - } - - if (enableTotalRecordCount !== undefined) { - localVarQueryParameters['enableTotalRecordCount'] = ObjectSerializer.serialize(enableTotalRecordCount, "boolean"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - if (excludeActiveSessions !== undefined) { - localVarQueryParameters['excludeActiveSessions'] = ObjectSerializer.serialize(excludeActiveSessions, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/libraryApi.ts b/jellyfin/api/libraryApi.ts deleted file mode 100644 index 6242669..0000000 --- a/jellyfin/api/libraryApi.ts +++ /dev/null @@ -1,1995 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { AllThemeMediaResult } from '../model/allThemeMediaResult'; -import { BaseItemDto } from '../model/baseItemDto'; -import { BaseItemDtoQueryResult } from '../model/baseItemDtoQueryResult'; -import { ItemCounts } from '../model/itemCounts'; -import { ItemFields } from '../model/itemFields'; -import { LibraryOptionsResultDto } from '../model/libraryOptionsResultDto'; -import { PostUpdatedMediaRequest } from '../model/postUpdatedMediaRequest'; -import { ProblemDetails } from '../model/problemDetails'; -import { ThemeMediaResult } from '../model/themeMediaResult'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum LibraryApiApiKeys { - CustomAuthentication, -} - -export class LibraryApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: LibraryApiApiKeys, value: string) { - (this.authentications as any)[LibraryApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Deletes an item from the library and filesystem. - * @param itemId The item id. - */ - public async deleteItem (itemId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Items/{itemId}' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling deleteItem.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Deletes items from the library and filesystem. - * @param ids The item ids. - */ - public async deleteItems (ids?: Array, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Items'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (ids !== undefined) { - localVarQueryParameters['ids'] = ObjectSerializer.serialize(ids, "Array"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets all parents of an item. - * @param itemId The item id. - * @param userId Optional. Filter by user id, and attach user data. - */ - public async getAncestors (itemId: string, userId?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Items/{itemId}/Ancestors' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getAncestors.'); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets critic review for an item. - * @param itemId - */ - public async getCriticReviews (itemId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Items/{itemId}/CriticReviews' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getCriticReviews.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Downloads item media. - * @param itemId The item id. - */ - public async getDownload (itemId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Items/{itemId}/Download' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['video/*', 'audio/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getDownload.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get the original file of an item. - * @param itemId The item id. - */ - public async getFile (itemId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Items/{itemId}/File' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['video/*', 'audio/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getFile.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get item counts. - * @param userId Optional. Get counts from a specific user\'s library. - * @param isFavorite Optional. Get counts of favorite items. - */ - public async getItemCounts (userId?: string, isFavorite?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: ItemCounts; }> { - const localVarPath = this.basePath + '/Items/Counts'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (isFavorite !== undefined) { - localVarQueryParameters['isFavorite'] = ObjectSerializer.serialize(isFavorite, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: ItemCounts; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "ItemCounts"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets the library options info. - * @param libraryContentType Library content type. - * @param isNewLibrary Whether this is a new library. - */ - public async getLibraryOptionsInfo (libraryContentType?: string, isNewLibrary?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: LibraryOptionsResultDto; }> { - const localVarPath = this.basePath + '/Libraries/AvailableOptions'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (libraryContentType !== undefined) { - localVarQueryParameters['libraryContentType'] = ObjectSerializer.serialize(libraryContentType, "string"); - } - - if (isNewLibrary !== undefined) { - localVarQueryParameters['isNewLibrary'] = ObjectSerializer.serialize(isNewLibrary, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: LibraryOptionsResultDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "LibraryOptionsResultDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets all user media folders. - * @param isHidden Optional. Filter by folders that are marked hidden, or not. - */ - public async getMediaFolders (isHidden?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Library/MediaFolders'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (isHidden !== undefined) { - localVarQueryParameters['isHidden'] = ObjectSerializer.serialize(isHidden, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a list of physical paths from virtual folders. - */ - public async getPhysicalPaths (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Library/PhysicalPaths'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets similar items. - * @param itemId The item id. - * @param excludeArtistIds Exclude artist ids. - * @param userId Optional. Filter by user id, and attach user data. - * @param limit Optional. The maximum number of records to return. - * @param fields Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls. - */ - public async getSimilarAlbums (itemId: string, excludeArtistIds?: Array, userId?: string, limit?: number, fields?: Array, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Albums/{itemId}/Similar' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getSimilarAlbums.'); - } - - if (excludeArtistIds !== undefined) { - localVarQueryParameters['excludeArtistIds'] = ObjectSerializer.serialize(excludeArtistIds, "Array"); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets similar items. - * @param itemId The item id. - * @param excludeArtistIds Exclude artist ids. - * @param userId Optional. Filter by user id, and attach user data. - * @param limit Optional. The maximum number of records to return. - * @param fields Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls. - */ - public async getSimilarArtists (itemId: string, excludeArtistIds?: Array, userId?: string, limit?: number, fields?: Array, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Artists/{itemId}/Similar' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getSimilarArtists.'); - } - - if (excludeArtistIds !== undefined) { - localVarQueryParameters['excludeArtistIds'] = ObjectSerializer.serialize(excludeArtistIds, "Array"); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets similar items. - * @param itemId The item id. - * @param excludeArtistIds Exclude artist ids. - * @param userId Optional. Filter by user id, and attach user data. - * @param limit Optional. The maximum number of records to return. - * @param fields Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls. - */ - public async getSimilarItems (itemId: string, excludeArtistIds?: Array, userId?: string, limit?: number, fields?: Array, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Items/{itemId}/Similar' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getSimilarItems.'); - } - - if (excludeArtistIds !== undefined) { - localVarQueryParameters['excludeArtistIds'] = ObjectSerializer.serialize(excludeArtistIds, "Array"); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets similar items. - * @param itemId The item id. - * @param excludeArtistIds Exclude artist ids. - * @param userId Optional. Filter by user id, and attach user data. - * @param limit Optional. The maximum number of records to return. - * @param fields Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls. - */ - public async getSimilarMovies (itemId: string, excludeArtistIds?: Array, userId?: string, limit?: number, fields?: Array, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Movies/{itemId}/Similar' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getSimilarMovies.'); - } - - if (excludeArtistIds !== undefined) { - localVarQueryParameters['excludeArtistIds'] = ObjectSerializer.serialize(excludeArtistIds, "Array"); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets similar items. - * @param itemId The item id. - * @param excludeArtistIds Exclude artist ids. - * @param userId Optional. Filter by user id, and attach user data. - * @param limit Optional. The maximum number of records to return. - * @param fields Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls. - */ - public async getSimilarShows (itemId: string, excludeArtistIds?: Array, userId?: string, limit?: number, fields?: Array, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Shows/{itemId}/Similar' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getSimilarShows.'); - } - - if (excludeArtistIds !== undefined) { - localVarQueryParameters['excludeArtistIds'] = ObjectSerializer.serialize(excludeArtistIds, "Array"); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets similar items. - * @param itemId The item id. - * @param excludeArtistIds Exclude artist ids. - * @param userId Optional. Filter by user id, and attach user data. - * @param limit Optional. The maximum number of records to return. - * @param fields Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls. - */ - public async getSimilarTrailers (itemId: string, excludeArtistIds?: Array, userId?: string, limit?: number, fields?: Array, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Trailers/{itemId}/Similar' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getSimilarTrailers.'); - } - - if (excludeArtistIds !== undefined) { - localVarQueryParameters['excludeArtistIds'] = ObjectSerializer.serialize(excludeArtistIds, "Array"); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get theme songs and videos for an item. - * @param itemId The item id. - * @param userId Optional. Filter by user id, and attach user data. - * @param inheritFromParent Optional. Determines whether or not parent items should be searched for theme media. - */ - public async getThemeMedia (itemId: string, userId?: string, inheritFromParent?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: AllThemeMediaResult; }> { - const localVarPath = this.basePath + '/Items/{itemId}/ThemeMedia' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getThemeMedia.'); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (inheritFromParent !== undefined) { - localVarQueryParameters['inheritFromParent'] = ObjectSerializer.serialize(inheritFromParent, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: AllThemeMediaResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "AllThemeMediaResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get theme songs for an item. - * @param itemId The item id. - * @param userId Optional. Filter by user id, and attach user data. - * @param inheritFromParent Optional. Determines whether or not parent items should be searched for theme media. - */ - public async getThemeSongs (itemId: string, userId?: string, inheritFromParent?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: ThemeMediaResult; }> { - const localVarPath = this.basePath + '/Items/{itemId}/ThemeSongs' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getThemeSongs.'); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (inheritFromParent !== undefined) { - localVarQueryParameters['inheritFromParent'] = ObjectSerializer.serialize(inheritFromParent, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: ThemeMediaResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "ThemeMediaResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get theme videos for an item. - * @param itemId The item id. - * @param userId Optional. Filter by user id, and attach user data. - * @param inheritFromParent Optional. Determines whether or not parent items should be searched for theme media. - */ - public async getThemeVideos (itemId: string, userId?: string, inheritFromParent?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: ThemeMediaResult; }> { - const localVarPath = this.basePath + '/Items/{itemId}/ThemeVideos' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getThemeVideos.'); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (inheritFromParent !== undefined) { - localVarQueryParameters['inheritFromParent'] = ObjectSerializer.serialize(inheritFromParent, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: ThemeMediaResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "ThemeMediaResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Reports that new movies have been added by an external source. - * @param tmdbId The tmdbId. - * @param imdbId The imdbId. - */ - public async postAddedMovies (tmdbId?: string, imdbId?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Library/Movies/Added'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - if (tmdbId !== undefined) { - localVarQueryParameters['tmdbId'] = ObjectSerializer.serialize(tmdbId, "string"); - } - - if (imdbId !== undefined) { - localVarQueryParameters['imdbId'] = ObjectSerializer.serialize(imdbId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Reports that new episodes of a series have been added by an external source. - * @param tvdbId The tvdbId. - */ - public async postAddedSeries (tvdbId?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Library/Series/Added'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - if (tvdbId !== undefined) { - localVarQueryParameters['tvdbId'] = ObjectSerializer.serialize(tvdbId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Reports that new movies have been added by an external source. - * @param postUpdatedMediaRequest The update paths. - */ - public async postUpdatedMedia (postUpdatedMediaRequest: PostUpdatedMediaRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Library/Media/Updated'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'postUpdatedMediaRequest' is not null or undefined - if (postUpdatedMediaRequest === null || postUpdatedMediaRequest === undefined) { - throw new Error('Required parameter postUpdatedMediaRequest was null or undefined when calling postUpdatedMedia.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(postUpdatedMediaRequest, "PostUpdatedMediaRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Reports that new movies have been added by an external source. - * @param tmdbId The tmdbId. - * @param imdbId The imdbId. - */ - public async postUpdatedMovies (tmdbId?: string, imdbId?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Library/Movies/Updated'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - if (tmdbId !== undefined) { - localVarQueryParameters['tmdbId'] = ObjectSerializer.serialize(tmdbId, "string"); - } - - if (imdbId !== undefined) { - localVarQueryParameters['imdbId'] = ObjectSerializer.serialize(imdbId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Reports that new episodes of a series have been added by an external source. - * @param tvdbId The tvdbId. - */ - public async postUpdatedSeries (tvdbId?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Library/Series/Updated'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - if (tvdbId !== undefined) { - localVarQueryParameters['tvdbId'] = ObjectSerializer.serialize(tvdbId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Starts a library scan. - */ - public async refreshLibrary (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Library/Refresh'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/libraryStructureApi.ts b/jellyfin/api/libraryStructureApi.ts deleted file mode 100644 index 4cee243..0000000 --- a/jellyfin/api/libraryStructureApi.ts +++ /dev/null @@ -1,652 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { AddMediaPathRequest } from '../model/addMediaPathRequest'; -import { AddVirtualFolderRequest } from '../model/addVirtualFolderRequest'; -import { CollectionTypeOptions } from '../model/collectionTypeOptions'; -import { ProblemDetails } from '../model/problemDetails'; -import { UpdateLibraryOptionsRequest } from '../model/updateLibraryOptionsRequest'; -import { UpdateMediaPathRequest } from '../model/updateMediaPathRequest'; -import { VirtualFolderInfo } from '../model/virtualFolderInfo'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum LibraryStructureApiApiKeys { - CustomAuthentication, -} - -export class LibraryStructureApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: LibraryStructureApiApiKeys, value: string) { - (this.authentications as any)[LibraryStructureApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Add a media path to a library. - * @param addMediaPathRequest The media path dto. - * @param refreshLibrary Whether to refresh the library. - */ - public async addMediaPath (addMediaPathRequest: AddMediaPathRequest, refreshLibrary?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Library/VirtualFolders/Paths'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'addMediaPathRequest' is not null or undefined - if (addMediaPathRequest === null || addMediaPathRequest === undefined) { - throw new Error('Required parameter addMediaPathRequest was null or undefined when calling addMediaPath.'); - } - - if (refreshLibrary !== undefined) { - localVarQueryParameters['refreshLibrary'] = ObjectSerializer.serialize(refreshLibrary, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(addMediaPathRequest, "AddMediaPathRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Adds a virtual folder. - * @param name The name of the virtual folder. - * @param collectionType The type of the collection. - * @param paths The paths of the virtual folder. - * @param refreshLibrary Whether to refresh the library. - * @param addVirtualFolderRequest The library options. - */ - public async addVirtualFolder (name?: string, collectionType?: CollectionTypeOptions, paths?: Array, refreshLibrary?: boolean, addVirtualFolderRequest?: AddVirtualFolderRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Library/VirtualFolders'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - if (name !== undefined) { - localVarQueryParameters['name'] = ObjectSerializer.serialize(name, "string"); - } - - if (collectionType !== undefined) { - localVarQueryParameters['collectionType'] = ObjectSerializer.serialize(collectionType, "CollectionTypeOptions"); - } - - if (paths !== undefined) { - localVarQueryParameters['paths'] = ObjectSerializer.serialize(paths, "Array"); - } - - if (refreshLibrary !== undefined) { - localVarQueryParameters['refreshLibrary'] = ObjectSerializer.serialize(refreshLibrary, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(addVirtualFolderRequest, "AddVirtualFolderRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets all virtual folders. - */ - public async getVirtualFolders (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Library/VirtualFolders'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Remove a media path. - * @param name The name of the library. - * @param path The path to remove. - * @param refreshLibrary Whether to refresh the library. - */ - public async removeMediaPath (name?: string, path?: string, refreshLibrary?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Library/VirtualFolders/Paths'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - if (name !== undefined) { - localVarQueryParameters['name'] = ObjectSerializer.serialize(name, "string"); - } - - if (path !== undefined) { - localVarQueryParameters['path'] = ObjectSerializer.serialize(path, "string"); - } - - if (refreshLibrary !== undefined) { - localVarQueryParameters['refreshLibrary'] = ObjectSerializer.serialize(refreshLibrary, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Removes a virtual folder. - * @param name The name of the folder. - * @param refreshLibrary Whether to refresh the library. - */ - public async removeVirtualFolder (name?: string, refreshLibrary?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Library/VirtualFolders'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - if (name !== undefined) { - localVarQueryParameters['name'] = ObjectSerializer.serialize(name, "string"); - } - - if (refreshLibrary !== undefined) { - localVarQueryParameters['refreshLibrary'] = ObjectSerializer.serialize(refreshLibrary, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Renames a virtual folder. - * @param name The name of the virtual folder. - * @param newName The new name. - * @param refreshLibrary Whether to refresh the library. - */ - public async renameVirtualFolder (name?: string, newName?: string, refreshLibrary?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Library/VirtualFolders/Name'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (name !== undefined) { - localVarQueryParameters['name'] = ObjectSerializer.serialize(name, "string"); - } - - if (newName !== undefined) { - localVarQueryParameters['newName'] = ObjectSerializer.serialize(newName, "string"); - } - - if (refreshLibrary !== undefined) { - localVarQueryParameters['refreshLibrary'] = ObjectSerializer.serialize(refreshLibrary, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Update library options. - * @param updateLibraryOptionsRequest The library name and options. - */ - public async updateLibraryOptions (updateLibraryOptionsRequest?: UpdateLibraryOptionsRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Library/VirtualFolders/LibraryOptions'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(updateLibraryOptionsRequest, "UpdateLibraryOptionsRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Updates a media path. - * @param updateMediaPathRequest The name of the library and path infos. - */ - public async updateMediaPath (updateMediaPathRequest: UpdateMediaPathRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Library/VirtualFolders/Paths/Update'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'updateMediaPathRequest' is not null or undefined - if (updateMediaPathRequest === null || updateMediaPathRequest === undefined) { - throw new Error('Required parameter updateMediaPathRequest was null or undefined when calling updateMediaPath.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(updateMediaPathRequest, "UpdateMediaPathRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/liveTvApi.ts b/jellyfin/api/liveTvApi.ts deleted file mode 100644 index 0653089..0000000 --- a/jellyfin/api/liveTvApi.ts +++ /dev/null @@ -1,3432 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { AddListingProviderRequest } from '../model/addListingProviderRequest'; -import { AddTunerHostRequest } from '../model/addTunerHostRequest'; -import { BaseItemDto } from '../model/baseItemDto'; -import { BaseItemDtoQueryResult } from '../model/baseItemDtoQueryResult'; -import { ChannelMappingOptionsDto } from '../model/channelMappingOptionsDto'; -import { ChannelType } from '../model/channelType'; -import { CreateSeriesTimerRequest } from '../model/createSeriesTimerRequest'; -import { CreateTimerRequest } from '../model/createTimerRequest'; -import { GetProgramsRequest } from '../model/getProgramsRequest'; -import { GuideInfo } from '../model/guideInfo'; -import { ImageType } from '../model/imageType'; -import { ItemFields } from '../model/itemFields'; -import { ListingsProviderInfo } from '../model/listingsProviderInfo'; -import { LiveTvInfo } from '../model/liveTvInfo'; -import { NameIdPair } from '../model/nameIdPair'; -import { ProblemDetails } from '../model/problemDetails'; -import { RecordingStatus } from '../model/recordingStatus'; -import { SeriesTimerInfoDto } from '../model/seriesTimerInfoDto'; -import { SeriesTimerInfoDtoQueryResult } from '../model/seriesTimerInfoDtoQueryResult'; -import { SetChannelMappingRequest } from '../model/setChannelMappingRequest'; -import { SortOrder } from '../model/sortOrder'; -import { TimerInfoDto } from '../model/timerInfoDto'; -import { TimerInfoDtoQueryResult } from '../model/timerInfoDtoQueryResult'; -import { TunerChannelMapping } from '../model/tunerChannelMapping'; -import { TunerHostInfo } from '../model/tunerHostInfo'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum LiveTvApiApiKeys { - CustomAuthentication, -} - -export class LiveTvApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: LiveTvApiApiKeys, value: string) { - (this.authentications as any)[LiveTvApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Adds a listings provider. - * @param pw Password. - * @param validateListings Validate listings. - * @param validateLogin Validate login. - * @param addListingProviderRequest New listings info. - */ - public async addListingProvider (pw?: string, validateListings?: boolean, validateLogin?: boolean, addListingProviderRequest?: AddListingProviderRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: ListingsProviderInfo; }> { - const localVarPath = this.basePath + '/LiveTv/ListingProviders'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (pw !== undefined) { - localVarQueryParameters['pw'] = ObjectSerializer.serialize(pw, "string"); - } - - if (validateListings !== undefined) { - localVarQueryParameters['validateListings'] = ObjectSerializer.serialize(validateListings, "boolean"); - } - - if (validateLogin !== undefined) { - localVarQueryParameters['validateLogin'] = ObjectSerializer.serialize(validateLogin, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(addListingProviderRequest, "AddListingProviderRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: ListingsProviderInfo; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "ListingsProviderInfo"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Adds a tuner host. - * @param addTunerHostRequest New tuner host. - */ - public async addTunerHost (addTunerHostRequest?: AddTunerHostRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: TunerHostInfo; }> { - const localVarPath = this.basePath + '/LiveTv/TunerHosts'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(addTunerHostRequest, "AddTunerHostRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: TunerHostInfo; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "TunerHostInfo"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Cancels a live tv series timer. - * @param timerId Timer id. - */ - public async cancelSeriesTimer (timerId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/LiveTv/SeriesTimers/{timerId}' - .replace('{' + 'timerId' + '}', encodeURIComponent(String(timerId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'timerId' is not null or undefined - if (timerId === null || timerId === undefined) { - throw new Error('Required parameter timerId was null or undefined when calling cancelSeriesTimer.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Cancels a live tv timer. - * @param timerId Timer id. - */ - public async cancelTimer (timerId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/LiveTv/Timers/{timerId}' - .replace('{' + 'timerId' + '}', encodeURIComponent(String(timerId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'timerId' is not null or undefined - if (timerId === null || timerId === undefined) { - throw new Error('Required parameter timerId was null or undefined when calling cancelTimer.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Creates a live tv series timer. - * @param createSeriesTimerRequest New series timer info. - */ - public async createSeriesTimer (createSeriesTimerRequest?: CreateSeriesTimerRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/LiveTv/SeriesTimers'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(createSeriesTimerRequest, "CreateSeriesTimerRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Creates a live tv timer. - * @param createTimerRequest New timer info. - */ - public async createTimer (createTimerRequest?: CreateTimerRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/LiveTv/Timers'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(createTimerRequest, "CreateTimerRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Delete listing provider. - * @param id Listing provider id. - */ - public async deleteListingProvider (id?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/LiveTv/ListingProviders'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - if (id !== undefined) { - localVarQueryParameters['id'] = ObjectSerializer.serialize(id, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Deletes a live tv recording. - * @param recordingId Recording id. - */ - public async deleteRecording (recordingId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/LiveTv/Recordings/{recordingId}' - .replace('{' + 'recordingId' + '}', encodeURIComponent(String(recordingId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'recordingId' is not null or undefined - if (recordingId === null || recordingId === undefined) { - throw new Error('Required parameter recordingId was null or undefined when calling deleteRecording.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Deletes a tuner host. - * @param id Tuner host id. - */ - public async deleteTunerHost (id?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/LiveTv/TunerHosts'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - if (id !== undefined) { - localVarQueryParameters['id'] = ObjectSerializer.serialize(id, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Discover tuners. - * @param newDevicesOnly Only discover new tuners. - */ - public async discoverTuners (newDevicesOnly?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/LiveTv/Tuners/Discover'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (newDevicesOnly !== undefined) { - localVarQueryParameters['newDevicesOnly'] = ObjectSerializer.serialize(newDevicesOnly, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Discover tuners. - * @param newDevicesOnly Only discover new tuners. - */ - public async discvoverTuners (newDevicesOnly?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/LiveTv/Tuners/Discvover'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (newDevicesOnly !== undefined) { - localVarQueryParameters['newDevicesOnly'] = ObjectSerializer.serialize(newDevicesOnly, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a live tv channel. - * @param channelId Channel id. - * @param userId Optional. Attach user data. - */ - public async getChannel (channelId: string, userId?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDto; }> { - const localVarPath = this.basePath + '/LiveTv/Channels/{channelId}' - .replace('{' + 'channelId' + '}', encodeURIComponent(String(channelId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'channelId' is not null or undefined - if (channelId === null || channelId === undefined) { - throw new Error('Required parameter channelId was null or undefined when calling getChannel.'); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get channel mapping options. - * @param providerId Provider id. - */ - public async getChannelMappingOptions (providerId?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: ChannelMappingOptionsDto; }> { - const localVarPath = this.basePath + '/LiveTv/ChannelMappingOptions'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (providerId !== undefined) { - localVarQueryParameters['providerId'] = ObjectSerializer.serialize(providerId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: ChannelMappingOptionsDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "ChannelMappingOptionsDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets default listings provider info. - */ - public async getDefaultListingProvider (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: ListingsProviderInfo; }> { - const localVarPath = this.basePath + '/LiveTv/ListingProviders/Default'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: ListingsProviderInfo; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "ListingsProviderInfo"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets the default values for a new timer. - * @param programId Optional. To attach default values based on a program. - */ - public async getDefaultTimer (programId?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: SeriesTimerInfoDto; }> { - const localVarPath = this.basePath + '/LiveTv/Timers/Defaults'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (programId !== undefined) { - localVarQueryParameters['programId'] = ObjectSerializer.serialize(programId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: SeriesTimerInfoDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "SeriesTimerInfoDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get guid info. - */ - public async getGuideInfo (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: GuideInfo; }> { - const localVarPath = this.basePath + '/LiveTv/GuideInfo'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: GuideInfo; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "GuideInfo"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets available lineups. - * @param id Provider id. - * @param type Provider type. - * @param location Location. - * @param country Country. - */ - public async getLineups (id?: string, type?: string, location?: string, country?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/LiveTv/ListingProviders/Lineups'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (id !== undefined) { - localVarQueryParameters['id'] = ObjectSerializer.serialize(id, "string"); - } - - if (type !== undefined) { - localVarQueryParameters['type'] = ObjectSerializer.serialize(type, "string"); - } - - if (location !== undefined) { - localVarQueryParameters['location'] = ObjectSerializer.serialize(location, "string"); - } - - if (country !== undefined) { - localVarQueryParameters['country'] = ObjectSerializer.serialize(country, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a live tv recording stream. - * @param recordingId Recording id. - */ - public async getLiveRecordingFile (recordingId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/LiveTv/LiveRecordings/{recordingId}/stream' - .replace('{' + 'recordingId' + '}', encodeURIComponent(String(recordingId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['video/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'recordingId' is not null or undefined - if (recordingId === null || recordingId === undefined) { - throw new Error('Required parameter recordingId was null or undefined when calling getLiveRecordingFile.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a live tv channel stream. - * @param streamId Stream id. - * @param container Container type. - */ - public async getLiveStreamFile (streamId: string, container: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/LiveTv/LiveStreamFiles/{streamId}/stream.{container}' - .replace('{' + 'streamId' + '}', encodeURIComponent(String(streamId))) - .replace('{' + 'container' + '}', encodeURIComponent(String(container))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['video/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'streamId' is not null or undefined - if (streamId === null || streamId === undefined) { - throw new Error('Required parameter streamId was null or undefined when calling getLiveStreamFile.'); - } - - // verify required parameter 'container' is not null or undefined - if (container === null || container === undefined) { - throw new Error('Required parameter container was null or undefined when calling getLiveStreamFile.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets available live tv channels. - * @param type Optional. Filter by channel type. - * @param userId Optional. Filter by user and attach user data. - * @param startIndex Optional. The record index to start at. All items with a lower index will be dropped from the results. - * @param isMovie Optional. Filter for movies. - * @param isSeries Optional. Filter for series. - * @param isNews Optional. Filter for news. - * @param isKids Optional. Filter for kids. - * @param isSports Optional. Filter for sports. - * @param limit Optional. The maximum number of records to return. - * @param isFavorite Optional. Filter by channels that are favorites, or not. - * @param isLiked Optional. Filter by channels that are liked, or not. - * @param isDisliked Optional. Filter by channels that are disliked, or not. - * @param enableImages Optional. Include image information in output. - * @param imageTypeLimit Optional. The max number of images to return, per image type. - * @param enableImageTypes \"Optional. The image types to include in the output. - * @param fields Optional. Specify additional fields of information to return in the output. - * @param enableUserData Optional. Include user data. - * @param sortBy Optional. Key to sort by. - * @param sortOrder Optional. Sort order. - * @param enableFavoriteSorting Optional. Incorporate favorite and like status into channel sorting. - * @param addCurrentProgram Optional. Adds current program info to each channel. - */ - public async getLiveTvChannels (type?: ChannelType, userId?: string, startIndex?: number, isMovie?: boolean, isSeries?: boolean, isNews?: boolean, isKids?: boolean, isSports?: boolean, limit?: number, isFavorite?: boolean, isLiked?: boolean, isDisliked?: boolean, enableImages?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, fields?: Array, enableUserData?: boolean, sortBy?: Array, sortOrder?: SortOrder, enableFavoriteSorting?: boolean, addCurrentProgram?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/LiveTv/Channels'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (type !== undefined) { - localVarQueryParameters['type'] = ObjectSerializer.serialize(type, "ChannelType"); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (startIndex !== undefined) { - localVarQueryParameters['startIndex'] = ObjectSerializer.serialize(startIndex, "number"); - } - - if (isMovie !== undefined) { - localVarQueryParameters['isMovie'] = ObjectSerializer.serialize(isMovie, "boolean"); - } - - if (isSeries !== undefined) { - localVarQueryParameters['isSeries'] = ObjectSerializer.serialize(isSeries, "boolean"); - } - - if (isNews !== undefined) { - localVarQueryParameters['isNews'] = ObjectSerializer.serialize(isNews, "boolean"); - } - - if (isKids !== undefined) { - localVarQueryParameters['isKids'] = ObjectSerializer.serialize(isKids, "boolean"); - } - - if (isSports !== undefined) { - localVarQueryParameters['isSports'] = ObjectSerializer.serialize(isSports, "boolean"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (isFavorite !== undefined) { - localVarQueryParameters['isFavorite'] = ObjectSerializer.serialize(isFavorite, "boolean"); - } - - if (isLiked !== undefined) { - localVarQueryParameters['isLiked'] = ObjectSerializer.serialize(isLiked, "boolean"); - } - - if (isDisliked !== undefined) { - localVarQueryParameters['isDisliked'] = ObjectSerializer.serialize(isDisliked, "boolean"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - if (sortBy !== undefined) { - localVarQueryParameters['sortBy'] = ObjectSerializer.serialize(sortBy, "Array"); - } - - if (sortOrder !== undefined) { - localVarQueryParameters['sortOrder'] = ObjectSerializer.serialize(sortOrder, "SortOrder"); - } - - if (enableFavoriteSorting !== undefined) { - localVarQueryParameters['enableFavoriteSorting'] = ObjectSerializer.serialize(enableFavoriteSorting, "boolean"); - } - - if (addCurrentProgram !== undefined) { - localVarQueryParameters['addCurrentProgram'] = ObjectSerializer.serialize(addCurrentProgram, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets available live tv services. - */ - public async getLiveTvInfo (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: LiveTvInfo; }> { - const localVarPath = this.basePath + '/LiveTv/Info'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: LiveTvInfo; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "LiveTvInfo"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets available live tv epgs. - * @param channelIds The channels to return guide information for. - * @param userId Optional. Filter by user id. - * @param minStartDate Optional. The minimum premiere start date. - * @param hasAired Optional. Filter by programs that have completed airing, or not. - * @param isAiring Optional. Filter by programs that are currently airing, or not. - * @param maxStartDate Optional. The maximum premiere start date. - * @param minEndDate Optional. The minimum premiere end date. - * @param maxEndDate Optional. The maximum premiere end date. - * @param isMovie Optional. Filter for movies. - * @param isSeries Optional. Filter for series. - * @param isNews Optional. Filter for news. - * @param isKids Optional. Filter for kids. - * @param isSports Optional. Filter for sports. - * @param startIndex Optional. The record index to start at. All items with a lower index will be dropped from the results. - * @param limit Optional. The maximum number of records to return. - * @param sortBy Optional. Specify one or more sort orders, comma delimited. Options: Name, StartDate. - * @param sortOrder Sort Order - Ascending,Descending. - * @param genres The genres to return guide information for. - * @param genreIds The genre ids to return guide information for. - * @param enableImages Optional. Include image information in output. - * @param imageTypeLimit Optional. The max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - * @param enableUserData Optional. Include user data. - * @param seriesTimerId Optional. Filter by series timer id. - * @param librarySeriesId Optional. Filter by library series id. - * @param fields Optional. Specify additional fields of information to return in the output. - * @param enableTotalRecordCount Retrieve total record count. - */ - public async getLiveTvPrograms (channelIds?: Array, userId?: string, minStartDate?: Date, hasAired?: boolean, isAiring?: boolean, maxStartDate?: Date, minEndDate?: Date, maxEndDate?: Date, isMovie?: boolean, isSeries?: boolean, isNews?: boolean, isKids?: boolean, isSports?: boolean, startIndex?: number, limit?: number, sortBy?: Array, sortOrder?: Array, genres?: Array, genreIds?: Array, enableImages?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, enableUserData?: boolean, seriesTimerId?: string, librarySeriesId?: string, fields?: Array, enableTotalRecordCount?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/LiveTv/Programs'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (channelIds !== undefined) { - localVarQueryParameters['channelIds'] = ObjectSerializer.serialize(channelIds, "Array"); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (minStartDate !== undefined) { - localVarQueryParameters['minStartDate'] = ObjectSerializer.serialize(minStartDate, "Date"); - } - - if (hasAired !== undefined) { - localVarQueryParameters['hasAired'] = ObjectSerializer.serialize(hasAired, "boolean"); - } - - if (isAiring !== undefined) { - localVarQueryParameters['isAiring'] = ObjectSerializer.serialize(isAiring, "boolean"); - } - - if (maxStartDate !== undefined) { - localVarQueryParameters['maxStartDate'] = ObjectSerializer.serialize(maxStartDate, "Date"); - } - - if (minEndDate !== undefined) { - localVarQueryParameters['minEndDate'] = ObjectSerializer.serialize(minEndDate, "Date"); - } - - if (maxEndDate !== undefined) { - localVarQueryParameters['maxEndDate'] = ObjectSerializer.serialize(maxEndDate, "Date"); - } - - if (isMovie !== undefined) { - localVarQueryParameters['isMovie'] = ObjectSerializer.serialize(isMovie, "boolean"); - } - - if (isSeries !== undefined) { - localVarQueryParameters['isSeries'] = ObjectSerializer.serialize(isSeries, "boolean"); - } - - if (isNews !== undefined) { - localVarQueryParameters['isNews'] = ObjectSerializer.serialize(isNews, "boolean"); - } - - if (isKids !== undefined) { - localVarQueryParameters['isKids'] = ObjectSerializer.serialize(isKids, "boolean"); - } - - if (isSports !== undefined) { - localVarQueryParameters['isSports'] = ObjectSerializer.serialize(isSports, "boolean"); - } - - if (startIndex !== undefined) { - localVarQueryParameters['startIndex'] = ObjectSerializer.serialize(startIndex, "number"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (sortBy !== undefined) { - localVarQueryParameters['sortBy'] = ObjectSerializer.serialize(sortBy, "Array"); - } - - if (sortOrder !== undefined) { - localVarQueryParameters['sortOrder'] = ObjectSerializer.serialize(sortOrder, "Array"); - } - - if (genres !== undefined) { - localVarQueryParameters['genres'] = ObjectSerializer.serialize(genres, "Array"); - } - - if (genreIds !== undefined) { - localVarQueryParameters['genreIds'] = ObjectSerializer.serialize(genreIds, "Array"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - if (seriesTimerId !== undefined) { - localVarQueryParameters['seriesTimerId'] = ObjectSerializer.serialize(seriesTimerId, "string"); - } - - if (librarySeriesId !== undefined) { - localVarQueryParameters['librarySeriesId'] = ObjectSerializer.serialize(librarySeriesId, "string"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (enableTotalRecordCount !== undefined) { - localVarQueryParameters['enableTotalRecordCount'] = ObjectSerializer.serialize(enableTotalRecordCount, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a live tv program. - * @param programId Program id. - * @param userId Optional. Attach user data. - */ - public async getProgram (programId: string, userId?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDto; }> { - const localVarPath = this.basePath + '/LiveTv/Programs/{programId}' - .replace('{' + 'programId' + '}', encodeURIComponent(String(programId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'programId' is not null or undefined - if (programId === null || programId === undefined) { - throw new Error('Required parameter programId was null or undefined when calling getProgram.'); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets available live tv epgs. - * @param getProgramsRequest Request body. - */ - public async getPrograms (getProgramsRequest?: GetProgramsRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/LiveTv/Programs'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(getProgramsRequest, "GetProgramsRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets recommended live tv epgs. - * @param userId Optional. filter by user id. - * @param limit Optional. The maximum number of records to return. - * @param isAiring Optional. Filter by programs that are currently airing, or not. - * @param hasAired Optional. Filter by programs that have completed airing, or not. - * @param isSeries Optional. Filter for series. - * @param isMovie Optional. Filter for movies. - * @param isNews Optional. Filter for news. - * @param isKids Optional. Filter for kids. - * @param isSports Optional. Filter for sports. - * @param enableImages Optional. Include image information in output. - * @param imageTypeLimit Optional. The max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - * @param genreIds The genres to return guide information for. - * @param fields Optional. Specify additional fields of information to return in the output. - * @param enableUserData Optional. include user data. - * @param enableTotalRecordCount Retrieve total record count. - */ - public async getRecommendedPrograms (userId?: string, limit?: number, isAiring?: boolean, hasAired?: boolean, isSeries?: boolean, isMovie?: boolean, isNews?: boolean, isKids?: boolean, isSports?: boolean, enableImages?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, genreIds?: Array, fields?: Array, enableUserData?: boolean, enableTotalRecordCount?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/LiveTv/Programs/Recommended'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (isAiring !== undefined) { - localVarQueryParameters['isAiring'] = ObjectSerializer.serialize(isAiring, "boolean"); - } - - if (hasAired !== undefined) { - localVarQueryParameters['hasAired'] = ObjectSerializer.serialize(hasAired, "boolean"); - } - - if (isSeries !== undefined) { - localVarQueryParameters['isSeries'] = ObjectSerializer.serialize(isSeries, "boolean"); - } - - if (isMovie !== undefined) { - localVarQueryParameters['isMovie'] = ObjectSerializer.serialize(isMovie, "boolean"); - } - - if (isNews !== undefined) { - localVarQueryParameters['isNews'] = ObjectSerializer.serialize(isNews, "boolean"); - } - - if (isKids !== undefined) { - localVarQueryParameters['isKids'] = ObjectSerializer.serialize(isKids, "boolean"); - } - - if (isSports !== undefined) { - localVarQueryParameters['isSports'] = ObjectSerializer.serialize(isSports, "boolean"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - if (genreIds !== undefined) { - localVarQueryParameters['genreIds'] = ObjectSerializer.serialize(genreIds, "Array"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - if (enableTotalRecordCount !== undefined) { - localVarQueryParameters['enableTotalRecordCount'] = ObjectSerializer.serialize(enableTotalRecordCount, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a live tv recording. - * @param recordingId Recording id. - * @param userId Optional. Attach user data. - */ - public async getRecording (recordingId: string, userId?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDto; }> { - const localVarPath = this.basePath + '/LiveTv/Recordings/{recordingId}' - .replace('{' + 'recordingId' + '}', encodeURIComponent(String(recordingId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'recordingId' is not null or undefined - if (recordingId === null || recordingId === undefined) { - throw new Error('Required parameter recordingId was null or undefined when calling getRecording.'); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets recording folders. - * @param userId Optional. Filter by user and attach user data. - */ - public async getRecordingFolders (userId?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/LiveTv/Recordings/Folders'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get recording group. - * @param groupId Group id. - */ - public async getRecordingGroup (groupId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/LiveTv/Recordings/Groups/{groupId}' - .replace('{' + 'groupId' + '}', encodeURIComponent(String(groupId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'groupId' is not null or undefined - if (groupId === null || groupId === undefined) { - throw new Error('Required parameter groupId was null or undefined when calling getRecordingGroup.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets live tv recording groups. - * @param userId Optional. Filter by user and attach user data. - */ - public async getRecordingGroups (userId?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/LiveTv/Recordings/Groups'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets live tv recordings. - * @param channelId Optional. Filter by channel id. - * @param userId Optional. Filter by user and attach user data. - * @param startIndex Optional. The record index to start at. All items with a lower index will be dropped from the results. - * @param limit Optional. The maximum number of records to return. - * @param status Optional. Filter by recording status. - * @param isInProgress Optional. Filter by recordings that are in progress, or not. - * @param seriesTimerId Optional. Filter by recordings belonging to a series timer. - * @param enableImages Optional. Include image information in output. - * @param imageTypeLimit Optional. The max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - * @param fields Optional. Specify additional fields of information to return in the output. - * @param enableUserData Optional. Include user data. - * @param isMovie Optional. Filter for movies. - * @param isSeries Optional. Filter for series. - * @param isKids Optional. Filter for kids. - * @param isSports Optional. Filter for sports. - * @param isNews Optional. Filter for news. - * @param isLibraryItem Optional. Filter for is library item. - * @param enableTotalRecordCount Optional. Return total record count. - */ - public async getRecordings (channelId?: string, userId?: string, startIndex?: number, limit?: number, status?: RecordingStatus, isInProgress?: boolean, seriesTimerId?: string, enableImages?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, fields?: Array, enableUserData?: boolean, isMovie?: boolean, isSeries?: boolean, isKids?: boolean, isSports?: boolean, isNews?: boolean, isLibraryItem?: boolean, enableTotalRecordCount?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/LiveTv/Recordings'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (channelId !== undefined) { - localVarQueryParameters['channelId'] = ObjectSerializer.serialize(channelId, "string"); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (startIndex !== undefined) { - localVarQueryParameters['startIndex'] = ObjectSerializer.serialize(startIndex, "number"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (status !== undefined) { - localVarQueryParameters['status'] = ObjectSerializer.serialize(status, "RecordingStatus"); - } - - if (isInProgress !== undefined) { - localVarQueryParameters['isInProgress'] = ObjectSerializer.serialize(isInProgress, "boolean"); - } - - if (seriesTimerId !== undefined) { - localVarQueryParameters['seriesTimerId'] = ObjectSerializer.serialize(seriesTimerId, "string"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - if (isMovie !== undefined) { - localVarQueryParameters['isMovie'] = ObjectSerializer.serialize(isMovie, "boolean"); - } - - if (isSeries !== undefined) { - localVarQueryParameters['isSeries'] = ObjectSerializer.serialize(isSeries, "boolean"); - } - - if (isKids !== undefined) { - localVarQueryParameters['isKids'] = ObjectSerializer.serialize(isKids, "boolean"); - } - - if (isSports !== undefined) { - localVarQueryParameters['isSports'] = ObjectSerializer.serialize(isSports, "boolean"); - } - - if (isNews !== undefined) { - localVarQueryParameters['isNews'] = ObjectSerializer.serialize(isNews, "boolean"); - } - - if (isLibraryItem !== undefined) { - localVarQueryParameters['isLibraryItem'] = ObjectSerializer.serialize(isLibraryItem, "boolean"); - } - - if (enableTotalRecordCount !== undefined) { - localVarQueryParameters['enableTotalRecordCount'] = ObjectSerializer.serialize(enableTotalRecordCount, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets live tv recording series. - * @param channelId Optional. Filter by channel id. - * @param userId Optional. Filter by user and attach user data. - * @param groupId Optional. Filter by recording group. - * @param startIndex Optional. The record index to start at. All items with a lower index will be dropped from the results. - * @param limit Optional. The maximum number of records to return. - * @param status Optional. Filter by recording status. - * @param isInProgress Optional. Filter by recordings that are in progress, or not. - * @param seriesTimerId Optional. Filter by recordings belonging to a series timer. - * @param enableImages Optional. Include image information in output. - * @param imageTypeLimit Optional. The max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - * @param fields Optional. Specify additional fields of information to return in the output. - * @param enableUserData Optional. Include user data. - * @param enableTotalRecordCount Optional. Return total record count. - */ - public async getRecordingsSeries (channelId?: string, userId?: string, groupId?: string, startIndex?: number, limit?: number, status?: RecordingStatus, isInProgress?: boolean, seriesTimerId?: string, enableImages?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, fields?: Array, enableUserData?: boolean, enableTotalRecordCount?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/LiveTv/Recordings/Series'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (channelId !== undefined) { - localVarQueryParameters['channelId'] = ObjectSerializer.serialize(channelId, "string"); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (groupId !== undefined) { - localVarQueryParameters['groupId'] = ObjectSerializer.serialize(groupId, "string"); - } - - if (startIndex !== undefined) { - localVarQueryParameters['startIndex'] = ObjectSerializer.serialize(startIndex, "number"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (status !== undefined) { - localVarQueryParameters['status'] = ObjectSerializer.serialize(status, "RecordingStatus"); - } - - if (isInProgress !== undefined) { - localVarQueryParameters['isInProgress'] = ObjectSerializer.serialize(isInProgress, "boolean"); - } - - if (seriesTimerId !== undefined) { - localVarQueryParameters['seriesTimerId'] = ObjectSerializer.serialize(seriesTimerId, "string"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - if (enableTotalRecordCount !== undefined) { - localVarQueryParameters['enableTotalRecordCount'] = ObjectSerializer.serialize(enableTotalRecordCount, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets available countries. - */ - public async getSchedulesDirectCountries (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/LiveTv/ListingProviders/SchedulesDirect/Countries'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a live tv series timer. - * @param timerId Timer id. - */ - public async getSeriesTimer (timerId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: SeriesTimerInfoDto; }> { - const localVarPath = this.basePath + '/LiveTv/SeriesTimers/{timerId}' - .replace('{' + 'timerId' + '}', encodeURIComponent(String(timerId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'timerId' is not null or undefined - if (timerId === null || timerId === undefined) { - throw new Error('Required parameter timerId was null or undefined when calling getSeriesTimer.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: SeriesTimerInfoDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "SeriesTimerInfoDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets live tv series timers. - * @param sortBy Optional. Sort by SortName or Priority. - * @param sortOrder Optional. Sort in Ascending or Descending order. - */ - public async getSeriesTimers (sortBy?: string, sortOrder?: SortOrder, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: SeriesTimerInfoDtoQueryResult; }> { - const localVarPath = this.basePath + '/LiveTv/SeriesTimers'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (sortBy !== undefined) { - localVarQueryParameters['sortBy'] = ObjectSerializer.serialize(sortBy, "string"); - } - - if (sortOrder !== undefined) { - localVarQueryParameters['sortOrder'] = ObjectSerializer.serialize(sortOrder, "SortOrder"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: SeriesTimerInfoDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "SeriesTimerInfoDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a timer. - * @param timerId Timer id. - */ - public async getTimer (timerId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: TimerInfoDto; }> { - const localVarPath = this.basePath + '/LiveTv/Timers/{timerId}' - .replace('{' + 'timerId' + '}', encodeURIComponent(String(timerId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'timerId' is not null or undefined - if (timerId === null || timerId === undefined) { - throw new Error('Required parameter timerId was null or undefined when calling getTimer.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: TimerInfoDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "TimerInfoDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets the live tv timers. - * @param channelId Optional. Filter by channel id. - * @param seriesTimerId Optional. Filter by timers belonging to a series timer. - * @param isActive Optional. Filter by timers that are active. - * @param isScheduled Optional. Filter by timers that are scheduled. - */ - public async getTimers (channelId?: string, seriesTimerId?: string, isActive?: boolean, isScheduled?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: TimerInfoDtoQueryResult; }> { - const localVarPath = this.basePath + '/LiveTv/Timers'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (channelId !== undefined) { - localVarQueryParameters['channelId'] = ObjectSerializer.serialize(channelId, "string"); - } - - if (seriesTimerId !== undefined) { - localVarQueryParameters['seriesTimerId'] = ObjectSerializer.serialize(seriesTimerId, "string"); - } - - if (isActive !== undefined) { - localVarQueryParameters['isActive'] = ObjectSerializer.serialize(isActive, "boolean"); - } - - if (isScheduled !== undefined) { - localVarQueryParameters['isScheduled'] = ObjectSerializer.serialize(isScheduled, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: TimerInfoDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "TimerInfoDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get tuner host types. - */ - public async getTunerHostTypes (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/LiveTv/TunerHosts/Types'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Resets a tv tuner. - * @param tunerId Tuner id. - */ - public async resetTuner (tunerId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/LiveTv/Tuners/{tunerId}/Reset' - .replace('{' + 'tunerId' + '}', encodeURIComponent(String(tunerId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'tunerId' is not null or undefined - if (tunerId === null || tunerId === undefined) { - throw new Error('Required parameter tunerId was null or undefined when calling resetTuner.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Set channel mappings. - * @param setChannelMappingRequest The set channel mapping dto. - */ - public async setChannelMapping (setChannelMappingRequest: SetChannelMappingRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: TunerChannelMapping; }> { - const localVarPath = this.basePath + '/LiveTv/ChannelMappings'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'setChannelMappingRequest' is not null or undefined - if (setChannelMappingRequest === null || setChannelMappingRequest === undefined) { - throw new Error('Required parameter setChannelMappingRequest was null or undefined when calling setChannelMapping.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(setChannelMappingRequest, "SetChannelMappingRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: TunerChannelMapping; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "TunerChannelMapping"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Updates a live tv series timer. - * @param timerId Timer id. - * @param createSeriesTimerRequest New series timer info. - */ - public async updateSeriesTimer (timerId: string, createSeriesTimerRequest?: CreateSeriesTimerRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/LiveTv/SeriesTimers/{timerId}' - .replace('{' + 'timerId' + '}', encodeURIComponent(String(timerId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'timerId' is not null or undefined - if (timerId === null || timerId === undefined) { - throw new Error('Required parameter timerId was null or undefined when calling updateSeriesTimer.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(createSeriesTimerRequest, "CreateSeriesTimerRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Updates a live tv timer. - * @param timerId Timer id. - * @param createTimerRequest New timer info. - */ - public async updateTimer (timerId: string, createTimerRequest?: CreateTimerRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/LiveTv/Timers/{timerId}' - .replace('{' + 'timerId' + '}', encodeURIComponent(String(timerId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'timerId' is not null or undefined - if (timerId === null || timerId === undefined) { - throw new Error('Required parameter timerId was null or undefined when calling updateTimer.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(createTimerRequest, "CreateTimerRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/localizationApi.ts b/jellyfin/api/localizationApi.ts deleted file mode 100644 index e436318..0000000 --- a/jellyfin/api/localizationApi.ts +++ /dev/null @@ -1,355 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { CountryInfo } from '../model/countryInfo'; -import { CultureDto } from '../model/cultureDto'; -import { LocalizationOption } from '../model/localizationOption'; -import { ParentalRating } from '../model/parentalRating'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum LocalizationApiApiKeys { - CustomAuthentication, -} - -export class LocalizationApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: LocalizationApiApiKeys, value: string) { - (this.authentications as any)[LocalizationApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Gets known countries. - */ - public async getCountries (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Localization/Countries'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets known cultures. - */ - public async getCultures (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Localization/Cultures'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets localization options. - */ - public async getLocalizationOptions (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Localization/Options'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets known parental ratings. - */ - public async getParentalRatings (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Localization/ParentalRatings'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/mediaInfoApi.ts b/jellyfin/api/mediaInfoApi.ts deleted file mode 100644 index 41403a7..0000000 --- a/jellyfin/api/mediaInfoApi.ts +++ /dev/null @@ -1,580 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { GetPostedPlaybackInfoRequest } from '../model/getPostedPlaybackInfoRequest'; -import { LiveStreamResponse } from '../model/liveStreamResponse'; -import { OpenLiveStreamRequest } from '../model/openLiveStreamRequest'; -import { PlaybackInfoResponse } from '../model/playbackInfoResponse'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum MediaInfoApiApiKeys { - CustomAuthentication, -} - -export class MediaInfoApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: MediaInfoApiApiKeys, value: string) { - (this.authentications as any)[MediaInfoApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Closes a media source. - * @param liveStreamId The livestream id. - */ - public async closeLiveStream (liveStreamId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/LiveStreams/Close'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'liveStreamId' is not null or undefined - if (liveStreamId === null || liveStreamId === undefined) { - throw new Error('Required parameter liveStreamId was null or undefined when calling closeLiveStream.'); - } - - if (liveStreamId !== undefined) { - localVarQueryParameters['liveStreamId'] = ObjectSerializer.serialize(liveStreamId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Tests the network with a request with the size of the bitrate. - * @param size The bitrate. Defaults to 102400. - */ - public async getBitrateTestBytes (size?: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Playback/BitrateTest'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/octet-stream']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (size !== undefined) { - localVarQueryParameters['size'] = ObjectSerializer.serialize(size, "number"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets live playback media info for an item. - * @param itemId The item id. - * @param userId The user id. - */ - public async getPlaybackInfo (itemId: string, userId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: PlaybackInfoResponse; }> { - const localVarPath = this.basePath + '/Items/{itemId}/PlaybackInfo' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getPlaybackInfo.'); - } - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling getPlaybackInfo.'); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: PlaybackInfoResponse; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "PlaybackInfoResponse"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * For backwards compatibility parameters can be sent via Query or Body, with Query having higher precedence. Query parameters are obsolete. - * @summary Gets live playback media info for an item. - * @param itemId The item id. - * @param userId The user id. - * @param maxStreamingBitrate The maximum streaming bitrate. - * @param startTimeTicks The start time in ticks. - * @param audioStreamIndex The audio stream index. - * @param subtitleStreamIndex The subtitle stream index. - * @param maxAudioChannels The maximum number of audio channels. - * @param mediaSourceId The media source id. - * @param liveStreamId The livestream id. - * @param autoOpenLiveStream Whether to auto open the livestream. - * @param enableDirectPlay Whether to enable direct play. Default: true. - * @param enableDirectStream Whether to enable direct stream. Default: true. - * @param enableTranscoding Whether to enable transcoding. Default: true. - * @param allowVideoStreamCopy Whether to allow to copy the video stream. Default: true. - * @param allowAudioStreamCopy Whether to allow to copy the audio stream. Default: true. - * @param getPostedPlaybackInfoRequest The playback info. - */ - public async getPostedPlaybackInfo (itemId: string, userId?: string, maxStreamingBitrate?: number, startTimeTicks?: number, audioStreamIndex?: number, subtitleStreamIndex?: number, maxAudioChannels?: number, mediaSourceId?: string, liveStreamId?: string, autoOpenLiveStream?: boolean, enableDirectPlay?: boolean, enableDirectStream?: boolean, enableTranscoding?: boolean, allowVideoStreamCopy?: boolean, allowAudioStreamCopy?: boolean, getPostedPlaybackInfoRequest?: GetPostedPlaybackInfoRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: PlaybackInfoResponse; }> { - const localVarPath = this.basePath + '/Items/{itemId}/PlaybackInfo' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getPostedPlaybackInfo.'); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (maxStreamingBitrate !== undefined) { - localVarQueryParameters['maxStreamingBitrate'] = ObjectSerializer.serialize(maxStreamingBitrate, "number"); - } - - if (startTimeTicks !== undefined) { - localVarQueryParameters['startTimeTicks'] = ObjectSerializer.serialize(startTimeTicks, "number"); - } - - if (audioStreamIndex !== undefined) { - localVarQueryParameters['audioStreamIndex'] = ObjectSerializer.serialize(audioStreamIndex, "number"); - } - - if (subtitleStreamIndex !== undefined) { - localVarQueryParameters['subtitleStreamIndex'] = ObjectSerializer.serialize(subtitleStreamIndex, "number"); - } - - if (maxAudioChannels !== undefined) { - localVarQueryParameters['maxAudioChannels'] = ObjectSerializer.serialize(maxAudioChannels, "number"); - } - - if (mediaSourceId !== undefined) { - localVarQueryParameters['mediaSourceId'] = ObjectSerializer.serialize(mediaSourceId, "string"); - } - - if (liveStreamId !== undefined) { - localVarQueryParameters['liveStreamId'] = ObjectSerializer.serialize(liveStreamId, "string"); - } - - if (autoOpenLiveStream !== undefined) { - localVarQueryParameters['autoOpenLiveStream'] = ObjectSerializer.serialize(autoOpenLiveStream, "boolean"); - } - - if (enableDirectPlay !== undefined) { - localVarQueryParameters['enableDirectPlay'] = ObjectSerializer.serialize(enableDirectPlay, "boolean"); - } - - if (enableDirectStream !== undefined) { - localVarQueryParameters['enableDirectStream'] = ObjectSerializer.serialize(enableDirectStream, "boolean"); - } - - if (enableTranscoding !== undefined) { - localVarQueryParameters['enableTranscoding'] = ObjectSerializer.serialize(enableTranscoding, "boolean"); - } - - if (allowVideoStreamCopy !== undefined) { - localVarQueryParameters['allowVideoStreamCopy'] = ObjectSerializer.serialize(allowVideoStreamCopy, "boolean"); - } - - if (allowAudioStreamCopy !== undefined) { - localVarQueryParameters['allowAudioStreamCopy'] = ObjectSerializer.serialize(allowAudioStreamCopy, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(getPostedPlaybackInfoRequest, "GetPostedPlaybackInfoRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: PlaybackInfoResponse; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "PlaybackInfoResponse"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Opens a media source. - * @param openToken The open token. - * @param userId The user id. - * @param playSessionId The play session id. - * @param maxStreamingBitrate The maximum streaming bitrate. - * @param startTimeTicks The start time in ticks. - * @param audioStreamIndex The audio stream index. - * @param subtitleStreamIndex The subtitle stream index. - * @param maxAudioChannels The maximum number of audio channels. - * @param itemId The item id. - * @param enableDirectPlay Whether to enable direct play. Default: true. - * @param enableDirectStream Whether to enable direct stream. Default: true. - * @param openLiveStreamRequest The open live stream dto. - */ - public async openLiveStream (openToken?: string, userId?: string, playSessionId?: string, maxStreamingBitrate?: number, startTimeTicks?: number, audioStreamIndex?: number, subtitleStreamIndex?: number, maxAudioChannels?: number, itemId?: string, enableDirectPlay?: boolean, enableDirectStream?: boolean, openLiveStreamRequest?: OpenLiveStreamRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: LiveStreamResponse; }> { - const localVarPath = this.basePath + '/LiveStreams/Open'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (openToken !== undefined) { - localVarQueryParameters['openToken'] = ObjectSerializer.serialize(openToken, "string"); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (playSessionId !== undefined) { - localVarQueryParameters['playSessionId'] = ObjectSerializer.serialize(playSessionId, "string"); - } - - if (maxStreamingBitrate !== undefined) { - localVarQueryParameters['maxStreamingBitrate'] = ObjectSerializer.serialize(maxStreamingBitrate, "number"); - } - - if (startTimeTicks !== undefined) { - localVarQueryParameters['startTimeTicks'] = ObjectSerializer.serialize(startTimeTicks, "number"); - } - - if (audioStreamIndex !== undefined) { - localVarQueryParameters['audioStreamIndex'] = ObjectSerializer.serialize(audioStreamIndex, "number"); - } - - if (subtitleStreamIndex !== undefined) { - localVarQueryParameters['subtitleStreamIndex'] = ObjectSerializer.serialize(subtitleStreamIndex, "number"); - } - - if (maxAudioChannels !== undefined) { - localVarQueryParameters['maxAudioChannels'] = ObjectSerializer.serialize(maxAudioChannels, "number"); - } - - if (itemId !== undefined) { - localVarQueryParameters['itemId'] = ObjectSerializer.serialize(itemId, "string"); - } - - if (enableDirectPlay !== undefined) { - localVarQueryParameters['enableDirectPlay'] = ObjectSerializer.serialize(enableDirectPlay, "boolean"); - } - - if (enableDirectStream !== undefined) { - localVarQueryParameters['enableDirectStream'] = ObjectSerializer.serialize(enableDirectStream, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(openLiveStreamRequest, "OpenLiveStreamRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: LiveStreamResponse; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "LiveStreamResponse"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/moviesApi.ts b/jellyfin/api/moviesApi.ts deleted file mode 100644 index 18eefaa..0000000 --- a/jellyfin/api/moviesApi.ts +++ /dev/null @@ -1,183 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { ItemFields } from '../model/itemFields'; -import { RecommendationDto } from '../model/recommendationDto'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum MoviesApiApiKeys { - CustomAuthentication, -} - -export class MoviesApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: MoviesApiApiKeys, value: string) { - (this.authentications as any)[MoviesApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Gets movie recommendations. - * @param userId Optional. Filter by user id, and attach user data. - * @param parentId Specify this to localize the search to a specific item or folder. Omit to use the root. - * @param fields Optional. The fields to return. - * @param categoryLimit The max number of categories to return. - * @param itemLimit The max number of items to return per category. - */ - public async getMovieRecommendations (userId?: string, parentId?: string, fields?: Array, categoryLimit?: number, itemLimit?: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Movies/Recommendations'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (parentId !== undefined) { - localVarQueryParameters['parentId'] = ObjectSerializer.serialize(parentId, "string"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (categoryLimit !== undefined) { - localVarQueryParameters['categoryLimit'] = ObjectSerializer.serialize(categoryLimit, "number"); - } - - if (itemLimit !== undefined) { - localVarQueryParameters['itemLimit'] = ObjectSerializer.serialize(itemLimit, "number"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/musicGenresApi.ts b/jellyfin/api/musicGenresApi.ts deleted file mode 100644 index a30cdd1..0000000 --- a/jellyfin/api/musicGenresApi.ts +++ /dev/null @@ -1,329 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { BaseItemDto } from '../model/baseItemDto'; -import { BaseItemDtoQueryResult } from '../model/baseItemDtoQueryResult'; -import { BaseItemKind } from '../model/baseItemKind'; -import { ImageType } from '../model/imageType'; -import { ItemFields } from '../model/itemFields'; -import { SortOrder } from '../model/sortOrder'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum MusicGenresApiApiKeys { - CustomAuthentication, -} - -export class MusicGenresApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: MusicGenresApiApiKeys, value: string) { - (this.authentications as any)[MusicGenresApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Gets a music genre, by name. - * @param genreName The genre name. - * @param userId Optional. Filter by user id, and attach user data. - */ - public async getMusicGenre (genreName: string, userId?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDto; }> { - const localVarPath = this.basePath + '/MusicGenres/{genreName}' - .replace('{' + 'genreName' + '}', encodeURIComponent(String(genreName))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'genreName' is not null or undefined - if (genreName === null || genreName === undefined) { - throw new Error('Required parameter genreName was null or undefined when calling getMusicGenre.'); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets all music genres from a given item, folder, or the entire library. - * @param startIndex Optional. The record index to start at. All items with a lower index will be dropped from the results. - * @param limit Optional. The maximum number of records to return. - * @param searchTerm The search term. - * @param parentId Specify this to localize the search to a specific item or folder. Omit to use the root. - * @param fields Optional. Specify additional fields of information to return in the output. - * @param excludeItemTypes Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited. - * @param includeItemTypes Optional. If specified, results will be filtered in based on item type. This allows multiple, comma delimited. - * @param isFavorite Optional filter by items that are marked as favorite, or not. - * @param imageTypeLimit Optional, the max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - * @param userId User id. - * @param nameStartsWithOrGreater Optional filter by items whose name is sorted equally or greater than a given input string. - * @param nameStartsWith Optional filter by items whose name is sorted equally than a given input string. - * @param nameLessThan Optional filter by items whose name is equally or lesser than a given input string. - * @param sortBy Optional. Specify one or more sort orders, comma delimited. - * @param sortOrder Sort Order - Ascending,Descending. - * @param enableImages Optional, include image information in output. - * @param enableTotalRecordCount Optional. Include total record count. - */ - public async getMusicGenres (startIndex?: number, limit?: number, searchTerm?: string, parentId?: string, fields?: Array, excludeItemTypes?: Array, includeItemTypes?: Array, isFavorite?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, userId?: string, nameStartsWithOrGreater?: string, nameStartsWith?: string, nameLessThan?: string, sortBy?: Array, sortOrder?: Array, enableImages?: boolean, enableTotalRecordCount?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/MusicGenres'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (startIndex !== undefined) { - localVarQueryParameters['startIndex'] = ObjectSerializer.serialize(startIndex, "number"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (searchTerm !== undefined) { - localVarQueryParameters['searchTerm'] = ObjectSerializer.serialize(searchTerm, "string"); - } - - if (parentId !== undefined) { - localVarQueryParameters['parentId'] = ObjectSerializer.serialize(parentId, "string"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (excludeItemTypes !== undefined) { - localVarQueryParameters['excludeItemTypes'] = ObjectSerializer.serialize(excludeItemTypes, "Array"); - } - - if (includeItemTypes !== undefined) { - localVarQueryParameters['includeItemTypes'] = ObjectSerializer.serialize(includeItemTypes, "Array"); - } - - if (isFavorite !== undefined) { - localVarQueryParameters['isFavorite'] = ObjectSerializer.serialize(isFavorite, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (nameStartsWithOrGreater !== undefined) { - localVarQueryParameters['nameStartsWithOrGreater'] = ObjectSerializer.serialize(nameStartsWithOrGreater, "string"); - } - - if (nameStartsWith !== undefined) { - localVarQueryParameters['nameStartsWith'] = ObjectSerializer.serialize(nameStartsWith, "string"); - } - - if (nameLessThan !== undefined) { - localVarQueryParameters['nameLessThan'] = ObjectSerializer.serialize(nameLessThan, "string"); - } - - if (sortBy !== undefined) { - localVarQueryParameters['sortBy'] = ObjectSerializer.serialize(sortBy, "Array"); - } - - if (sortOrder !== undefined) { - localVarQueryParameters['sortOrder'] = ObjectSerializer.serialize(sortOrder, "Array"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - if (enableTotalRecordCount !== undefined) { - localVarQueryParameters['enableTotalRecordCount'] = ObjectSerializer.serialize(enableTotalRecordCount, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/notificationsApi.ts b/jellyfin/api/notificationsApi.ts deleted file mode 100644 index 272ce38..0000000 --- a/jellyfin/api/notificationsApi.ts +++ /dev/null @@ -1,562 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { CreateAdminNotificationRequest } from '../model/createAdminNotificationRequest'; -import { NameIdPair } from '../model/nameIdPair'; -import { NotificationResultDto } from '../model/notificationResultDto'; -import { NotificationTypeInfo } from '../model/notificationTypeInfo'; -import { NotificationsSummaryDto } from '../model/notificationsSummaryDto'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum NotificationsApiApiKeys { - CustomAuthentication, -} - -export class NotificationsApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: NotificationsApiApiKeys, value: string) { - (this.authentications as any)[NotificationsApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Sends a notification to all admins. - * @param createAdminNotificationRequest The notification request. - */ - public async createAdminNotification (createAdminNotificationRequest: CreateAdminNotificationRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Notifications/Admin'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'createAdminNotificationRequest' is not null or undefined - if (createAdminNotificationRequest === null || createAdminNotificationRequest === undefined) { - throw new Error('Required parameter createAdminNotificationRequest was null or undefined when calling createAdminNotification.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(createAdminNotificationRequest, "CreateAdminNotificationRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets notification services. - */ - public async getNotificationServices (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Notifications/Services'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets notification types. - */ - public async getNotificationTypes (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Notifications/Types'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a user\'s notifications. - * @param userId - */ - public async getNotifications (userId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: NotificationResultDto; }> { - const localVarPath = this.basePath + '/Notifications/{userId}' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling getNotifications.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: NotificationResultDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "NotificationResultDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a user\'s notification summary. - * @param userId - */ - public async getNotificationsSummary (userId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: NotificationsSummaryDto; }> { - const localVarPath = this.basePath + '/Notifications/{userId}/Summary' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling getNotificationsSummary.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: NotificationsSummaryDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "NotificationsSummaryDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Sets notifications as read. - * @param userId - */ - public async setRead (userId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Notifications/{userId}/Read' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling setRead.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Sets notifications as unread. - * @param userId - */ - public async setUnread (userId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Notifications/{userId}/Unread' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling setUnread.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/packageApi.ts b/jellyfin/api/packageApi.ts deleted file mode 100644 index 28a40aa..0000000 --- a/jellyfin/api/packageApi.ts +++ /dev/null @@ -1,515 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { PackageInfo } from '../model/packageInfo'; -import { ProblemDetails } from '../model/problemDetails'; -import { RepositoryInfo } from '../model/repositoryInfo'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum PackageApiApiKeys { - CustomAuthentication, -} - -export class PackageApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: PackageApiApiKeys, value: string) { - (this.authentications as any)[PackageApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Cancels a package installation. - * @param packageId Installation Id. - */ - public async cancelPackageInstallation (packageId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Packages/Installing/{packageId}' - .replace('{' + 'packageId' + '}', encodeURIComponent(String(packageId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'packageId' is not null or undefined - if (packageId === null || packageId === undefined) { - throw new Error('Required parameter packageId was null or undefined when calling cancelPackageInstallation.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a package by name or assembly GUID. - * @param name The name of the package. - * @param assemblyGuid The GUID of the associated assembly. - */ - public async getPackageInfo (name: string, assemblyGuid?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: PackageInfo; }> { - const localVarPath = this.basePath + '/Packages/{name}' - .replace('{' + 'name' + '}', encodeURIComponent(String(name))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling getPackageInfo.'); - } - - if (assemblyGuid !== undefined) { - localVarQueryParameters['assemblyGuid'] = ObjectSerializer.serialize(assemblyGuid, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: PackageInfo; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "PackageInfo"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets available packages. - */ - public async getPackages (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Packages'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets all package repositories. - */ - public async getRepositories (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Repositories'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Installs a package. - * @param name Package name. - * @param assemblyGuid GUID of the associated assembly. - * @param version Optional version. Defaults to latest version. - * @param repositoryUrl Optional. Specify the repository to install from. - */ - public async installPackage (name: string, assemblyGuid?: string, version?: string, repositoryUrl?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Packages/Installed/{name}' - .replace('{' + 'name' + '}', encodeURIComponent(String(name))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling installPackage.'); - } - - if (assemblyGuid !== undefined) { - localVarQueryParameters['assemblyGuid'] = ObjectSerializer.serialize(assemblyGuid, "string"); - } - - if (version !== undefined) { - localVarQueryParameters['version'] = ObjectSerializer.serialize(version, "string"); - } - - if (repositoryUrl !== undefined) { - localVarQueryParameters['repositoryUrl'] = ObjectSerializer.serialize(repositoryUrl, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Sets the enabled and existing package repositories. - * @param repositoryInfo The list of package repositories. - */ - public async setRepositories (repositoryInfo: Array, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Repositories'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'repositoryInfo' is not null or undefined - if (repositoryInfo === null || repositoryInfo === undefined) { - throw new Error('Required parameter repositoryInfo was null or undefined when calling setRepositories.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(repositoryInfo, "Array") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/personsApi.ts b/jellyfin/api/personsApi.ts deleted file mode 100644 index 49b0839..0000000 --- a/jellyfin/api/personsApi.ts +++ /dev/null @@ -1,304 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { BaseItemDto } from '../model/baseItemDto'; -import { BaseItemDtoQueryResult } from '../model/baseItemDtoQueryResult'; -import { ImageType } from '../model/imageType'; -import { ItemFields } from '../model/itemFields'; -import { ItemFilter } from '../model/itemFilter'; -import { ProblemDetails } from '../model/problemDetails'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum PersonsApiApiKeys { - CustomAuthentication, -} - -export class PersonsApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: PersonsApiApiKeys, value: string) { - (this.authentications as any)[PersonsApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Get person by name. - * @param name Person name. - * @param userId Optional. Filter by user id, and attach user data. - */ - public async getPerson (name: string, userId?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDto; }> { - const localVarPath = this.basePath + '/Persons/{name}' - .replace('{' + 'name' + '}', encodeURIComponent(String(name))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling getPerson.'); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets all persons. - * @param limit Optional. The maximum number of records to return. - * @param searchTerm The search term. - * @param fields Optional. Specify additional fields of information to return in the output. - * @param filters Optional. Specify additional filters to apply. - * @param isFavorite Optional filter by items that are marked as favorite, or not. userId is required. - * @param enableUserData Optional, include user data. - * @param imageTypeLimit Optional, the max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - * @param excludePersonTypes Optional. If specified results will be filtered to exclude those containing the specified PersonType. Allows multiple, comma-delimited. - * @param personTypes Optional. If specified results will be filtered to include only those containing the specified PersonType. Allows multiple, comma-delimited. - * @param appearsInItemId Optional. If specified, person results will be filtered on items related to said persons. - * @param userId User id. - * @param enableImages Optional, include image information in output. - */ - public async getPersons (limit?: number, searchTerm?: string, fields?: Array, filters?: Array, isFavorite?: boolean, enableUserData?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, excludePersonTypes?: Array, personTypes?: Array, appearsInItemId?: string, userId?: string, enableImages?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Persons'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (searchTerm !== undefined) { - localVarQueryParameters['searchTerm'] = ObjectSerializer.serialize(searchTerm, "string"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (filters !== undefined) { - localVarQueryParameters['filters'] = ObjectSerializer.serialize(filters, "Array"); - } - - if (isFavorite !== undefined) { - localVarQueryParameters['isFavorite'] = ObjectSerializer.serialize(isFavorite, "boolean"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - if (excludePersonTypes !== undefined) { - localVarQueryParameters['excludePersonTypes'] = ObjectSerializer.serialize(excludePersonTypes, "Array"); - } - - if (personTypes !== undefined) { - localVarQueryParameters['personTypes'] = ObjectSerializer.serialize(personTypes, "Array"); - } - - if (appearsInItemId !== undefined) { - localVarQueryParameters['appearsInItemId'] = ObjectSerializer.serialize(appearsInItemId, "string"); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/playlistsApi.ts b/jellyfin/api/playlistsApi.ts deleted file mode 100644 index cafde39..0000000 --- a/jellyfin/api/playlistsApi.ts +++ /dev/null @@ -1,521 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { BaseItemDtoQueryResult } from '../model/baseItemDtoQueryResult'; -import { CreatePlaylistRequest } from '../model/createPlaylistRequest'; -import { ImageType } from '../model/imageType'; -import { ItemFields } from '../model/itemFields'; -import { PlaylistCreationResult } from '../model/playlistCreationResult'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum PlaylistsApiApiKeys { - CustomAuthentication, -} - -export class PlaylistsApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: PlaylistsApiApiKeys, value: string) { - (this.authentications as any)[PlaylistsApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Adds items to a playlist. - * @param playlistId The playlist id. - * @param ids Item id, comma delimited. - * @param userId The userId. - */ - public async addToPlaylist (playlistId: string, ids?: Array, userId?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Playlists/{playlistId}/Items' - .replace('{' + 'playlistId' + '}', encodeURIComponent(String(playlistId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'playlistId' is not null or undefined - if (playlistId === null || playlistId === undefined) { - throw new Error('Required parameter playlistId was null or undefined when calling addToPlaylist.'); - } - - if (ids !== undefined) { - localVarQueryParameters['ids'] = ObjectSerializer.serialize(ids, "Array"); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * For backwards compatibility parameters can be sent via Query or Body, with Query having higher precedence. Query parameters are obsolete. - * @summary Creates a new playlist. - * @param name The playlist name. - * @param ids The item ids. - * @param userId The user id. - * @param mediaType The media type. - * @param createPlaylistRequest The create playlist payload. - */ - public async createPlaylist (name?: string, ids?: Array, userId?: string, mediaType?: string, createPlaylistRequest?: CreatePlaylistRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: PlaylistCreationResult; }> { - const localVarPath = this.basePath + '/Playlists'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (name !== undefined) { - localVarQueryParameters['name'] = ObjectSerializer.serialize(name, "string"); - } - - if (ids !== undefined) { - localVarQueryParameters['ids'] = ObjectSerializer.serialize(ids, "Array"); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (mediaType !== undefined) { - localVarQueryParameters['mediaType'] = ObjectSerializer.serialize(mediaType, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(createPlaylistRequest, "CreatePlaylistRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: PlaylistCreationResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "PlaylistCreationResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets the original items of a playlist. - * @param playlistId The playlist id. - * @param userId User id. - * @param startIndex Optional. The record index to start at. All items with a lower index will be dropped from the results. - * @param limit Optional. The maximum number of records to return. - * @param fields Optional. Specify additional fields of information to return in the output. - * @param enableImages Optional. Include image information in output. - * @param enableUserData Optional. Include user data. - * @param imageTypeLimit Optional. The max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - */ - public async getPlaylistItems (playlistId: string, userId: string, startIndex?: number, limit?: number, fields?: Array, enableImages?: boolean, enableUserData?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Playlists/{playlistId}/Items' - .replace('{' + 'playlistId' + '}', encodeURIComponent(String(playlistId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'playlistId' is not null or undefined - if (playlistId === null || playlistId === undefined) { - throw new Error('Required parameter playlistId was null or undefined when calling getPlaylistItems.'); - } - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling getPlaylistItems.'); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (startIndex !== undefined) { - localVarQueryParameters['startIndex'] = ObjectSerializer.serialize(startIndex, "number"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Moves a playlist item. - * @param playlistId The playlist id. - * @param itemId The item id. - * @param newIndex The new index. - */ - public async moveItem (playlistId: string, itemId: string, newIndex: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Playlists/{playlistId}/Items/{itemId}/Move/{newIndex}' - .replace('{' + 'playlistId' + '}', encodeURIComponent(String(playlistId))) - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))) - .replace('{' + 'newIndex' + '}', encodeURIComponent(String(newIndex))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'playlistId' is not null or undefined - if (playlistId === null || playlistId === undefined) { - throw new Error('Required parameter playlistId was null or undefined when calling moveItem.'); - } - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling moveItem.'); - } - - // verify required parameter 'newIndex' is not null or undefined - if (newIndex === null || newIndex === undefined) { - throw new Error('Required parameter newIndex was null or undefined when calling moveItem.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Removes items from a playlist. - * @param playlistId The playlist id. - * @param entryIds The item ids, comma delimited. - */ - public async removeFromPlaylist (playlistId: string, entryIds?: Array, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Playlists/{playlistId}/Items' - .replace('{' + 'playlistId' + '}', encodeURIComponent(String(playlistId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'playlistId' is not null or undefined - if (playlistId === null || playlistId === undefined) { - throw new Error('Required parameter playlistId was null or undefined when calling removeFromPlaylist.'); - } - - if (entryIds !== undefined) { - localVarQueryParameters['entryIds'] = ObjectSerializer.serialize(entryIds, "Array"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/playstateApi.ts b/jellyfin/api/playstateApi.ts deleted file mode 100644 index a3db4c3..0000000 --- a/jellyfin/api/playstateApi.ts +++ /dev/null @@ -1,832 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { PlayMethod } from '../model/playMethod'; -import { RepeatMode } from '../model/repeatMode'; -import { ReportPlaybackProgressRequest } from '../model/reportPlaybackProgressRequest'; -import { ReportPlaybackStartRequest } from '../model/reportPlaybackStartRequest'; -import { ReportPlaybackStoppedRequest } from '../model/reportPlaybackStoppedRequest'; -import { UserItemDataDto } from '../model/userItemDataDto'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum PlaystateApiApiKeys { - CustomAuthentication, -} - -export class PlaystateApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: PlaystateApiApiKeys, value: string) { - (this.authentications as any)[PlaystateApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Marks an item as played for user. - * @param userId User id. - * @param itemId Item id. - * @param datePlayed Optional. The date the item was played. - */ - public async markPlayedItem (userId: string, itemId: string, datePlayed?: Date, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: UserItemDataDto; }> { - const localVarPath = this.basePath + '/Users/{userId}/PlayedItems/{itemId}' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))) - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling markPlayedItem.'); - } - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling markPlayedItem.'); - } - - if (datePlayed !== undefined) { - localVarQueryParameters['datePlayed'] = ObjectSerializer.serialize(datePlayed, "Date"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: UserItemDataDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "UserItemDataDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Marks an item as unplayed for user. - * @param userId User id. - * @param itemId Item id. - */ - public async markUnplayedItem (userId: string, itemId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: UserItemDataDto; }> { - const localVarPath = this.basePath + '/Users/{userId}/PlayedItems/{itemId}' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))) - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling markUnplayedItem.'); - } - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling markUnplayedItem.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: UserItemDataDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "UserItemDataDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Reports a user\'s playback progress. - * @param userId User id. - * @param itemId Item id. - * @param mediaSourceId The id of the MediaSource. - * @param positionTicks Optional. The current position, in ticks. 1 tick = 10000 ms. - * @param audioStreamIndex The audio stream index. - * @param subtitleStreamIndex The subtitle stream index. - * @param volumeLevel Scale of 0-100. - * @param playMethod The play method. - * @param liveStreamId The live stream id. - * @param playSessionId The play session id. - * @param repeatMode The repeat mode. - * @param isPaused Indicates if the player is paused. - * @param isMuted Indicates if the player is muted. - */ - public async onPlaybackProgress (userId: string, itemId: string, mediaSourceId?: string, positionTicks?: number, audioStreamIndex?: number, subtitleStreamIndex?: number, volumeLevel?: number, playMethod?: PlayMethod, liveStreamId?: string, playSessionId?: string, repeatMode?: RepeatMode, isPaused?: boolean, isMuted?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Users/{userId}/PlayingItems/{itemId}/Progress' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))) - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling onPlaybackProgress.'); - } - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling onPlaybackProgress.'); - } - - if (mediaSourceId !== undefined) { - localVarQueryParameters['mediaSourceId'] = ObjectSerializer.serialize(mediaSourceId, "string"); - } - - if (positionTicks !== undefined) { - localVarQueryParameters['positionTicks'] = ObjectSerializer.serialize(positionTicks, "number"); - } - - if (audioStreamIndex !== undefined) { - localVarQueryParameters['audioStreamIndex'] = ObjectSerializer.serialize(audioStreamIndex, "number"); - } - - if (subtitleStreamIndex !== undefined) { - localVarQueryParameters['subtitleStreamIndex'] = ObjectSerializer.serialize(subtitleStreamIndex, "number"); - } - - if (volumeLevel !== undefined) { - localVarQueryParameters['volumeLevel'] = ObjectSerializer.serialize(volumeLevel, "number"); - } - - if (playMethod !== undefined) { - localVarQueryParameters['playMethod'] = ObjectSerializer.serialize(playMethod, "PlayMethod"); - } - - if (liveStreamId !== undefined) { - localVarQueryParameters['liveStreamId'] = ObjectSerializer.serialize(liveStreamId, "string"); - } - - if (playSessionId !== undefined) { - localVarQueryParameters['playSessionId'] = ObjectSerializer.serialize(playSessionId, "string"); - } - - if (repeatMode !== undefined) { - localVarQueryParameters['repeatMode'] = ObjectSerializer.serialize(repeatMode, "RepeatMode"); - } - - if (isPaused !== undefined) { - localVarQueryParameters['isPaused'] = ObjectSerializer.serialize(isPaused, "boolean"); - } - - if (isMuted !== undefined) { - localVarQueryParameters['isMuted'] = ObjectSerializer.serialize(isMuted, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Reports that a user has begun playing an item. - * @param userId User id. - * @param itemId Item id. - * @param mediaSourceId The id of the MediaSource. - * @param audioStreamIndex The audio stream index. - * @param subtitleStreamIndex The subtitle stream index. - * @param playMethod The play method. - * @param liveStreamId The live stream id. - * @param playSessionId The play session id. - * @param canSeek Indicates if the client can seek. - */ - public async onPlaybackStart (userId: string, itemId: string, mediaSourceId?: string, audioStreamIndex?: number, subtitleStreamIndex?: number, playMethod?: PlayMethod, liveStreamId?: string, playSessionId?: string, canSeek?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Users/{userId}/PlayingItems/{itemId}' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))) - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling onPlaybackStart.'); - } - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling onPlaybackStart.'); - } - - if (mediaSourceId !== undefined) { - localVarQueryParameters['mediaSourceId'] = ObjectSerializer.serialize(mediaSourceId, "string"); - } - - if (audioStreamIndex !== undefined) { - localVarQueryParameters['audioStreamIndex'] = ObjectSerializer.serialize(audioStreamIndex, "number"); - } - - if (subtitleStreamIndex !== undefined) { - localVarQueryParameters['subtitleStreamIndex'] = ObjectSerializer.serialize(subtitleStreamIndex, "number"); - } - - if (playMethod !== undefined) { - localVarQueryParameters['playMethod'] = ObjectSerializer.serialize(playMethod, "PlayMethod"); - } - - if (liveStreamId !== undefined) { - localVarQueryParameters['liveStreamId'] = ObjectSerializer.serialize(liveStreamId, "string"); - } - - if (playSessionId !== undefined) { - localVarQueryParameters['playSessionId'] = ObjectSerializer.serialize(playSessionId, "string"); - } - - if (canSeek !== undefined) { - localVarQueryParameters['canSeek'] = ObjectSerializer.serialize(canSeek, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Reports that a user has stopped playing an item. - * @param userId User id. - * @param itemId Item id. - * @param mediaSourceId The id of the MediaSource. - * @param nextMediaType The next media type that will play. - * @param positionTicks Optional. The position, in ticks, where playback stopped. 1 tick = 10000 ms. - * @param liveStreamId The live stream id. - * @param playSessionId The play session id. - */ - public async onPlaybackStopped (userId: string, itemId: string, mediaSourceId?: string, nextMediaType?: string, positionTicks?: number, liveStreamId?: string, playSessionId?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Users/{userId}/PlayingItems/{itemId}' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))) - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling onPlaybackStopped.'); - } - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling onPlaybackStopped.'); - } - - if (mediaSourceId !== undefined) { - localVarQueryParameters['mediaSourceId'] = ObjectSerializer.serialize(mediaSourceId, "string"); - } - - if (nextMediaType !== undefined) { - localVarQueryParameters['nextMediaType'] = ObjectSerializer.serialize(nextMediaType, "string"); - } - - if (positionTicks !== undefined) { - localVarQueryParameters['positionTicks'] = ObjectSerializer.serialize(positionTicks, "number"); - } - - if (liveStreamId !== undefined) { - localVarQueryParameters['liveStreamId'] = ObjectSerializer.serialize(liveStreamId, "string"); - } - - if (playSessionId !== undefined) { - localVarQueryParameters['playSessionId'] = ObjectSerializer.serialize(playSessionId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Pings a playback session. - * @param playSessionId Playback session id. - */ - public async pingPlaybackSession (playSessionId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Sessions/Playing/Ping'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'playSessionId' is not null or undefined - if (playSessionId === null || playSessionId === undefined) { - throw new Error('Required parameter playSessionId was null or undefined when calling pingPlaybackSession.'); - } - - if (playSessionId !== undefined) { - localVarQueryParameters['playSessionId'] = ObjectSerializer.serialize(playSessionId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Reports playback progress within a session. - * @param reportPlaybackProgressRequest The playback progress info. - */ - public async reportPlaybackProgress (reportPlaybackProgressRequest?: ReportPlaybackProgressRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Sessions/Playing/Progress'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(reportPlaybackProgressRequest, "ReportPlaybackProgressRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Reports playback has started within a session. - * @param reportPlaybackStartRequest The playback start info. - */ - public async reportPlaybackStart (reportPlaybackStartRequest?: ReportPlaybackStartRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Sessions/Playing'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(reportPlaybackStartRequest, "ReportPlaybackStartRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Reports playback has stopped within a session. - * @param reportPlaybackStoppedRequest The playback stop info. - */ - public async reportPlaybackStopped (reportPlaybackStoppedRequest?: ReportPlaybackStoppedRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Sessions/Playing/Stopped'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(reportPlaybackStoppedRequest, "ReportPlaybackStoppedRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/pluginsApi.ts b/jellyfin/api/pluginsApi.ts deleted file mode 100644 index e065e80..0000000 --- a/jellyfin/api/pluginsApi.ts +++ /dev/null @@ -1,756 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { PluginInfo } from '../model/pluginInfo'; -import { ProblemDetails } from '../model/problemDetails'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum PluginsApiApiKeys { - CustomAuthentication, -} - -export class PluginsApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: PluginsApiApiKeys, value: string) { - (this.authentications as any)[PluginsApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Disable a plugin. - * @param pluginId Plugin id. - * @param version Plugin version. - */ - public async disablePlugin (pluginId: string, version: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Plugins/{pluginId}/{version}/Disable' - .replace('{' + 'pluginId' + '}', encodeURIComponent(String(pluginId))) - .replace('{' + 'version' + '}', encodeURIComponent(String(version))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'pluginId' is not null or undefined - if (pluginId === null || pluginId === undefined) { - throw new Error('Required parameter pluginId was null or undefined when calling disablePlugin.'); - } - - // verify required parameter 'version' is not null or undefined - if (version === null || version === undefined) { - throw new Error('Required parameter version was null or undefined when calling disablePlugin.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Enables a disabled plugin. - * @param pluginId Plugin id. - * @param version Plugin version. - */ - public async enablePlugin (pluginId: string, version: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Plugins/{pluginId}/{version}/Enable' - .replace('{' + 'pluginId' + '}', encodeURIComponent(String(pluginId))) - .replace('{' + 'version' + '}', encodeURIComponent(String(version))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'pluginId' is not null or undefined - if (pluginId === null || pluginId === undefined) { - throw new Error('Required parameter pluginId was null or undefined when calling enablePlugin.'); - } - - // verify required parameter 'version' is not null or undefined - if (version === null || version === undefined) { - throw new Error('Required parameter version was null or undefined when calling enablePlugin.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets plugin configuration. - * @param pluginId Plugin id. - */ - public async getPluginConfiguration (pluginId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: object; }> { - const localVarPath = this.basePath + '/Plugins/{pluginId}/Configuration' - .replace('{' + 'pluginId' + '}', encodeURIComponent(String(pluginId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'pluginId' is not null or undefined - if (pluginId === null || pluginId === undefined) { - throw new Error('Required parameter pluginId was null or undefined when calling getPluginConfiguration.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: object; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "object"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a plugin\'s image. - * @param pluginId Plugin id. - * @param version Plugin version. - */ - public async getPluginImage (pluginId: string, version: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Plugins/{pluginId}/{version}/Image' - .replace('{' + 'pluginId' + '}', encodeURIComponent(String(pluginId))) - .replace('{' + 'version' + '}', encodeURIComponent(String(version))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['image/*', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'pluginId' is not null or undefined - if (pluginId === null || pluginId === undefined) { - throw new Error('Required parameter pluginId was null or undefined when calling getPluginImage.'); - } - - // verify required parameter 'version' is not null or undefined - if (version === null || version === undefined) { - throw new Error('Required parameter version was null or undefined when calling getPluginImage.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a plugin\'s manifest. - * @param pluginId Plugin id. - */ - public async getPluginManifest (pluginId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Plugins/{pluginId}/Manifest' - .replace('{' + 'pluginId' + '}', encodeURIComponent(String(pluginId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'pluginId' is not null or undefined - if (pluginId === null || pluginId === undefined) { - throw new Error('Required parameter pluginId was null or undefined when calling getPluginManifest.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a list of currently installed plugins. - */ - public async getPlugins (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Plugins'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Uninstalls a plugin. - * @param pluginId Plugin id. - */ - public async uninstallPlugin (pluginId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Plugins/{pluginId}' - .replace('{' + 'pluginId' + '}', encodeURIComponent(String(pluginId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'pluginId' is not null or undefined - if (pluginId === null || pluginId === undefined) { - throw new Error('Required parameter pluginId was null or undefined when calling uninstallPlugin.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Uninstalls a plugin by version. - * @param pluginId Plugin id. - * @param version Plugin version. - */ - public async uninstallPluginByVersion (pluginId: string, version: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Plugins/{pluginId}/{version}' - .replace('{' + 'pluginId' + '}', encodeURIComponent(String(pluginId))) - .replace('{' + 'version' + '}', encodeURIComponent(String(version))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'pluginId' is not null or undefined - if (pluginId === null || pluginId === undefined) { - throw new Error('Required parameter pluginId was null or undefined when calling uninstallPluginByVersion.'); - } - - // verify required parameter 'version' is not null or undefined - if (version === null || version === undefined) { - throw new Error('Required parameter version was null or undefined when calling uninstallPluginByVersion.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * Accepts plugin configuration as JSON body. - * @summary Updates plugin configuration. - * @param pluginId Plugin id. - */ - public async updatePluginConfiguration (pluginId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Plugins/{pluginId}/Configuration' - .replace('{' + 'pluginId' + '}', encodeURIComponent(String(pluginId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'pluginId' is not null or undefined - if (pluginId === null || pluginId === undefined) { - throw new Error('Required parameter pluginId was null or undefined when calling updatePluginConfiguration.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/quickConnectApi.ts b/jellyfin/api/quickConnectApi.ts deleted file mode 100644 index ff08548..0000000 --- a/jellyfin/api/quickConnectApi.ts +++ /dev/null @@ -1,364 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { ProblemDetails } from '../model/problemDetails'; -import { QuickConnectResult } from '../model/quickConnectResult'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum QuickConnectApiApiKeys { - CustomAuthentication, -} - -export class QuickConnectApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: QuickConnectApiApiKeys, value: string) { - (this.authentications as any)[QuickConnectApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Authorizes a pending quick connect request. - * @param code Quick connect code to authorize. - */ - public async authorize (code: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: boolean; }> { - const localVarPath = this.basePath + '/QuickConnect/Authorize'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'code' is not null or undefined - if (code === null || code === undefined) { - throw new Error('Required parameter code was null or undefined when calling authorize.'); - } - - if (code !== undefined) { - localVarQueryParameters['code'] = ObjectSerializer.serialize(code, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: boolean; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "boolean"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Attempts to retrieve authentication information. - * @param secret Secret previously returned from the Initiate endpoint. - */ - public async connect (secret: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: QuickConnectResult; }> { - const localVarPath = this.basePath + '/QuickConnect/Connect'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'secret' is not null or undefined - if (secret === null || secret === undefined) { - throw new Error('Required parameter secret was null or undefined when calling connect.'); - } - - if (secret !== undefined) { - localVarQueryParameters['secret'] = ObjectSerializer.serialize(secret, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: QuickConnectResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "QuickConnectResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets the current quick connect state. - */ - public async getEnabled (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: boolean; }> { - const localVarPath = this.basePath + '/QuickConnect/Enabled'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: boolean; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "boolean"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Initiate a new quick connect request. - */ - public async initiate (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: QuickConnectResult; }> { - const localVarPath = this.basePath + '/QuickConnect/Initiate'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: QuickConnectResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "QuickConnectResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/remoteImageApi.ts b/jellyfin/api/remoteImageApi.ts deleted file mode 100644 index 8399226..0000000 --- a/jellyfin/api/remoteImageApi.ts +++ /dev/null @@ -1,350 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { ImageProviderInfo } from '../model/imageProviderInfo'; -import { ImageType } from '../model/imageType'; -import { ProblemDetails } from '../model/problemDetails'; -import { RemoteImageResult } from '../model/remoteImageResult'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum RemoteImageApiApiKeys { - CustomAuthentication, -} - -export class RemoteImageApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: RemoteImageApiApiKeys, value: string) { - (this.authentications as any)[RemoteImageApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Downloads a remote image for an item. - * @param itemId Item Id. - * @param type The image type. - * @param imageUrl The image url. - */ - public async downloadRemoteImage (itemId: string, type: ImageType, imageUrl?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Items/{itemId}/RemoteImages/Download' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling downloadRemoteImage.'); - } - - // verify required parameter 'type' is not null or undefined - if (type === null || type === undefined) { - throw new Error('Required parameter type was null or undefined when calling downloadRemoteImage.'); - } - - if (type !== undefined) { - localVarQueryParameters['type'] = ObjectSerializer.serialize(type, "ImageType"); - } - - if (imageUrl !== undefined) { - localVarQueryParameters['imageUrl'] = ObjectSerializer.serialize(imageUrl, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets available remote image providers for an item. - * @param itemId Item Id. - */ - public async getRemoteImageProviders (itemId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Items/{itemId}/RemoteImages/Providers' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getRemoteImageProviders.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets available remote images for an item. - * @param itemId Item Id. - * @param type The image type. - * @param startIndex Optional. The record index to start at. All items with a lower index will be dropped from the results. - * @param limit Optional. The maximum number of records to return. - * @param providerName Optional. The image provider to use. - * @param includeAllLanguages Optional. Include all languages. - */ - public async getRemoteImages (itemId: string, type?: ImageType, startIndex?: number, limit?: number, providerName?: string, includeAllLanguages?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: RemoteImageResult; }> { - const localVarPath = this.basePath + '/Items/{itemId}/RemoteImages' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getRemoteImages.'); - } - - if (type !== undefined) { - localVarQueryParameters['type'] = ObjectSerializer.serialize(type, "ImageType"); - } - - if (startIndex !== undefined) { - localVarQueryParameters['startIndex'] = ObjectSerializer.serialize(startIndex, "number"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (providerName !== undefined) { - localVarQueryParameters['providerName'] = ObjectSerializer.serialize(providerName, "string"); - } - - if (includeAllLanguages !== undefined) { - localVarQueryParameters['includeAllLanguages'] = ObjectSerializer.serialize(includeAllLanguages, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: RemoteImageResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "RemoteImageResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/scheduledTasksApi.ts b/jellyfin/api/scheduledTasksApi.ts deleted file mode 100644 index 96ca42a..0000000 --- a/jellyfin/api/scheduledTasksApi.ts +++ /dev/null @@ -1,461 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { ProblemDetails } from '../model/problemDetails'; -import { TaskInfo } from '../model/taskInfo'; -import { TaskTriggerInfo } from '../model/taskTriggerInfo'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum ScheduledTasksApiApiKeys { - CustomAuthentication, -} - -export class ScheduledTasksApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: ScheduledTasksApiApiKeys, value: string) { - (this.authentications as any)[ScheduledTasksApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Get task by id. - * @param taskId Task Id. - */ - public async getTask (taskId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: TaskInfo; }> { - const localVarPath = this.basePath + '/ScheduledTasks/{taskId}' - .replace('{' + 'taskId' + '}', encodeURIComponent(String(taskId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'taskId' is not null or undefined - if (taskId === null || taskId === undefined) { - throw new Error('Required parameter taskId was null or undefined when calling getTask.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: TaskInfo; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "TaskInfo"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get tasks. - * @param isHidden Optional filter tasks that are hidden, or not. - * @param isEnabled Optional filter tasks that are enabled, or not. - */ - public async getTasks (isHidden?: boolean, isEnabled?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/ScheduledTasks'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (isHidden !== undefined) { - localVarQueryParameters['isHidden'] = ObjectSerializer.serialize(isHidden, "boolean"); - } - - if (isEnabled !== undefined) { - localVarQueryParameters['isEnabled'] = ObjectSerializer.serialize(isEnabled, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Start specified task. - * @param taskId Task Id. - */ - public async startTask (taskId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/ScheduledTasks/Running/{taskId}' - .replace('{' + 'taskId' + '}', encodeURIComponent(String(taskId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'taskId' is not null or undefined - if (taskId === null || taskId === undefined) { - throw new Error('Required parameter taskId was null or undefined when calling startTask.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Stop specified task. - * @param taskId Task Id. - */ - public async stopTask (taskId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/ScheduledTasks/Running/{taskId}' - .replace('{' + 'taskId' + '}', encodeURIComponent(String(taskId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'taskId' is not null or undefined - if (taskId === null || taskId === undefined) { - throw new Error('Required parameter taskId was null or undefined when calling stopTask.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Update specified task triggers. - * @param taskId Task Id. - * @param taskTriggerInfo Triggers. - */ - public async updateTask (taskId: string, taskTriggerInfo: Array, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/ScheduledTasks/{taskId}/Triggers' - .replace('{' + 'taskId' + '}', encodeURIComponent(String(taskId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'taskId' is not null or undefined - if (taskId === null || taskId === undefined) { - throw new Error('Required parameter taskId was null or undefined when calling updateTask.'); - } - - // verify required parameter 'taskTriggerInfo' is not null or undefined - if (taskTriggerInfo === null || taskTriggerInfo === undefined) { - throw new Error('Required parameter taskTriggerInfo was null or undefined when calling updateTask.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(taskTriggerInfo, "Array") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/searchApi.ts b/jellyfin/api/searchApi.ts deleted file mode 100644 index c3fbe70..0000000 --- a/jellyfin/api/searchApi.ts +++ /dev/null @@ -1,253 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { BaseItemKind } from '../model/baseItemKind'; -import { SearchHintResult } from '../model/searchHintResult'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum SearchApiApiKeys { - CustomAuthentication, -} - -export class SearchApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: SearchApiApiKeys, value: string) { - (this.authentications as any)[SearchApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Gets the search hint result. - * @param searchTerm The search term to filter on. - * @param startIndex Optional. The record index to start at. All items with a lower index will be dropped from the results. - * @param limit Optional. The maximum number of records to return. - * @param userId Optional. Supply a user id to search within a user\'s library or omit to search all. - * @param includeItemTypes If specified, only results with the specified item types are returned. This allows multiple, comma delimeted. - * @param excludeItemTypes If specified, results with these item types are filtered out. This allows multiple, comma delimeted. - * @param mediaTypes If specified, only results with the specified media types are returned. This allows multiple, comma delimeted. - * @param parentId If specified, only children of the parent are returned. - * @param isMovie Optional filter for movies. - * @param isSeries Optional filter for series. - * @param isNews Optional filter for news. - * @param isKids Optional filter for kids. - * @param isSports Optional filter for sports. - * @param includePeople Optional filter whether to include people. - * @param includeMedia Optional filter whether to include media. - * @param includeGenres Optional filter whether to include genres. - * @param includeStudios Optional filter whether to include studios. - * @param includeArtists Optional filter whether to include artists. - */ - public async get (searchTerm: string, startIndex?: number, limit?: number, userId?: string, includeItemTypes?: Array, excludeItemTypes?: Array, mediaTypes?: Array, parentId?: string, isMovie?: boolean, isSeries?: boolean, isNews?: boolean, isKids?: boolean, isSports?: boolean, includePeople?: boolean, includeMedia?: boolean, includeGenres?: boolean, includeStudios?: boolean, includeArtists?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: SearchHintResult; }> { - const localVarPath = this.basePath + '/Search/Hints'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'searchTerm' is not null or undefined - if (searchTerm === null || searchTerm === undefined) { - throw new Error('Required parameter searchTerm was null or undefined when calling get.'); - } - - if (startIndex !== undefined) { - localVarQueryParameters['startIndex'] = ObjectSerializer.serialize(startIndex, "number"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (searchTerm !== undefined) { - localVarQueryParameters['searchTerm'] = ObjectSerializer.serialize(searchTerm, "string"); - } - - if (includeItemTypes !== undefined) { - localVarQueryParameters['includeItemTypes'] = ObjectSerializer.serialize(includeItemTypes, "Array"); - } - - if (excludeItemTypes !== undefined) { - localVarQueryParameters['excludeItemTypes'] = ObjectSerializer.serialize(excludeItemTypes, "Array"); - } - - if (mediaTypes !== undefined) { - localVarQueryParameters['mediaTypes'] = ObjectSerializer.serialize(mediaTypes, "Array"); - } - - if (parentId !== undefined) { - localVarQueryParameters['parentId'] = ObjectSerializer.serialize(parentId, "string"); - } - - if (isMovie !== undefined) { - localVarQueryParameters['isMovie'] = ObjectSerializer.serialize(isMovie, "boolean"); - } - - if (isSeries !== undefined) { - localVarQueryParameters['isSeries'] = ObjectSerializer.serialize(isSeries, "boolean"); - } - - if (isNews !== undefined) { - localVarQueryParameters['isNews'] = ObjectSerializer.serialize(isNews, "boolean"); - } - - if (isKids !== undefined) { - localVarQueryParameters['isKids'] = ObjectSerializer.serialize(isKids, "boolean"); - } - - if (isSports !== undefined) { - localVarQueryParameters['isSports'] = ObjectSerializer.serialize(isSports, "boolean"); - } - - if (includePeople !== undefined) { - localVarQueryParameters['includePeople'] = ObjectSerializer.serialize(includePeople, "boolean"); - } - - if (includeMedia !== undefined) { - localVarQueryParameters['includeMedia'] = ObjectSerializer.serialize(includeMedia, "boolean"); - } - - if (includeGenres !== undefined) { - localVarQueryParameters['includeGenres'] = ObjectSerializer.serialize(includeGenres, "boolean"); - } - - if (includeStudios !== undefined) { - localVarQueryParameters['includeStudios'] = ObjectSerializer.serialize(includeStudios, "boolean"); - } - - if (includeArtists !== undefined) { - localVarQueryParameters['includeArtists'] = ObjectSerializer.serialize(includeArtists, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: SearchHintResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "SearchHintResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/sessionApi.ts b/jellyfin/api/sessionApi.ts deleted file mode 100644 index 68bcc66..0000000 --- a/jellyfin/api/sessionApi.ts +++ /dev/null @@ -1,1305 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { BaseItemKind } from '../model/baseItemKind'; -import { GeneralCommandType } from '../model/generalCommandType'; -import { NameIdPair } from '../model/nameIdPair'; -import { PlayCommand } from '../model/playCommand'; -import { PlaystateCommand } from '../model/playstateCommand'; -import { PostFullCapabilitiesRequest } from '../model/postFullCapabilitiesRequest'; -import { SendFullGeneralCommandRequest } from '../model/sendFullGeneralCommandRequest'; -import { SendMessageCommandRequest } from '../model/sendMessageCommandRequest'; -import { SessionInfo } from '../model/sessionInfo'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum SessionApiApiKeys { - CustomAuthentication, -} - -export class SessionApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: SessionApiApiKeys, value: string) { - (this.authentications as any)[SessionApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Adds an additional user to a session. - * @param sessionId The session id. - * @param userId The user id. - */ - public async addUserToSession (sessionId: string, userId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Sessions/{sessionId}/User/{userId}' - .replace('{' + 'sessionId' + '}', encodeURIComponent(String(sessionId))) - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'sessionId' is not null or undefined - if (sessionId === null || sessionId === undefined) { - throw new Error('Required parameter sessionId was null or undefined when calling addUserToSession.'); - } - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling addUserToSession.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Instructs a session to browse to an item or view. - * @param sessionId The session Id. - * @param itemType The type of item to browse to. - * @param itemId The Id of the item. - * @param itemName The name of the item. - */ - public async displayContent (sessionId: string, itemType: BaseItemKind, itemId: string, itemName: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Sessions/{sessionId}/Viewing' - .replace('{' + 'sessionId' + '}', encodeURIComponent(String(sessionId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'sessionId' is not null or undefined - if (sessionId === null || sessionId === undefined) { - throw new Error('Required parameter sessionId was null or undefined when calling displayContent.'); - } - - // verify required parameter 'itemType' is not null or undefined - if (itemType === null || itemType === undefined) { - throw new Error('Required parameter itemType was null or undefined when calling displayContent.'); - } - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling displayContent.'); - } - - // verify required parameter 'itemName' is not null or undefined - if (itemName === null || itemName === undefined) { - throw new Error('Required parameter itemName was null or undefined when calling displayContent.'); - } - - if (itemType !== undefined) { - localVarQueryParameters['itemType'] = ObjectSerializer.serialize(itemType, "BaseItemKind"); - } - - if (itemId !== undefined) { - localVarQueryParameters['itemId'] = ObjectSerializer.serialize(itemId, "string"); - } - - if (itemName !== undefined) { - localVarQueryParameters['itemName'] = ObjectSerializer.serialize(itemName, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get all auth providers. - */ - public async getAuthProviders (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Auth/Providers'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get all password reset providers. - */ - public async getPasswordResetProviders (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Auth/PasswordResetProviders'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a list of sessions. - * @param controllableByUserId Filter by sessions that a given user is allowed to remote control. - * @param deviceId Filter by device Id. - * @param activeWithinSeconds Optional. Filter by sessions that were active in the last n seconds. - */ - public async getSessions (controllableByUserId?: string, deviceId?: string, activeWithinSeconds?: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Sessions'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (controllableByUserId !== undefined) { - localVarQueryParameters['controllableByUserId'] = ObjectSerializer.serialize(controllableByUserId, "string"); - } - - if (deviceId !== undefined) { - localVarQueryParameters['deviceId'] = ObjectSerializer.serialize(deviceId, "string"); - } - - if (activeWithinSeconds !== undefined) { - localVarQueryParameters['activeWithinSeconds'] = ObjectSerializer.serialize(activeWithinSeconds, "number"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Instructs a session to play an item. - * @param sessionId The session id. - * @param playCommand The type of play command to issue (PlayNow, PlayNext, PlayLast). Clients who have not yet implemented play next and play last may play now. - * @param itemIds The ids of the items to play, comma delimited. - * @param startPositionTicks The starting position of the first item. - * @param mediaSourceId Optional. The media source id. - * @param audioStreamIndex Optional. The index of the audio stream to play. - * @param subtitleStreamIndex Optional. The index of the subtitle stream to play. - * @param startIndex Optional. The start index. - */ - public async play (sessionId: string, playCommand: PlayCommand, itemIds: Array, startPositionTicks?: number, mediaSourceId?: string, audioStreamIndex?: number, subtitleStreamIndex?: number, startIndex?: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Sessions/{sessionId}/Playing' - .replace('{' + 'sessionId' + '}', encodeURIComponent(String(sessionId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'sessionId' is not null or undefined - if (sessionId === null || sessionId === undefined) { - throw new Error('Required parameter sessionId was null or undefined when calling play.'); - } - - // verify required parameter 'playCommand' is not null or undefined - if (playCommand === null || playCommand === undefined) { - throw new Error('Required parameter playCommand was null or undefined when calling play.'); - } - - // verify required parameter 'itemIds' is not null or undefined - if (itemIds === null || itemIds === undefined) { - throw new Error('Required parameter itemIds was null or undefined when calling play.'); - } - - if (playCommand !== undefined) { - localVarQueryParameters['playCommand'] = ObjectSerializer.serialize(playCommand, "PlayCommand"); - } - - if (itemIds !== undefined) { - localVarQueryParameters['itemIds'] = ObjectSerializer.serialize(itemIds, "Array"); - } - - if (startPositionTicks !== undefined) { - localVarQueryParameters['startPositionTicks'] = ObjectSerializer.serialize(startPositionTicks, "number"); - } - - if (mediaSourceId !== undefined) { - localVarQueryParameters['mediaSourceId'] = ObjectSerializer.serialize(mediaSourceId, "string"); - } - - if (audioStreamIndex !== undefined) { - localVarQueryParameters['audioStreamIndex'] = ObjectSerializer.serialize(audioStreamIndex, "number"); - } - - if (subtitleStreamIndex !== undefined) { - localVarQueryParameters['subtitleStreamIndex'] = ObjectSerializer.serialize(subtitleStreamIndex, "number"); - } - - if (startIndex !== undefined) { - localVarQueryParameters['startIndex'] = ObjectSerializer.serialize(startIndex, "number"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Updates capabilities for a device. - * @param id The session id. - * @param playableMediaTypes A list of playable media types, comma delimited. Audio, Video, Book, Photo. - * @param supportedCommands A list of supported remote control commands, comma delimited. - * @param supportsMediaControl Determines whether media can be played remotely.. - * @param supportsSync Determines whether sync is supported. - * @param supportsPersistentIdentifier Determines whether the device supports a unique identifier. - */ - public async postCapabilities (id?: string, playableMediaTypes?: Array, supportedCommands?: Array, supportsMediaControl?: boolean, supportsSync?: boolean, supportsPersistentIdentifier?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Sessions/Capabilities'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - if (id !== undefined) { - localVarQueryParameters['id'] = ObjectSerializer.serialize(id, "string"); - } - - if (playableMediaTypes !== undefined) { - localVarQueryParameters['playableMediaTypes'] = ObjectSerializer.serialize(playableMediaTypes, "Array"); - } - - if (supportedCommands !== undefined) { - localVarQueryParameters['supportedCommands'] = ObjectSerializer.serialize(supportedCommands, "Array"); - } - - if (supportsMediaControl !== undefined) { - localVarQueryParameters['supportsMediaControl'] = ObjectSerializer.serialize(supportsMediaControl, "boolean"); - } - - if (supportsSync !== undefined) { - localVarQueryParameters['supportsSync'] = ObjectSerializer.serialize(supportsSync, "boolean"); - } - - if (supportsPersistentIdentifier !== undefined) { - localVarQueryParameters['supportsPersistentIdentifier'] = ObjectSerializer.serialize(supportsPersistentIdentifier, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Updates capabilities for a device. - * @param postFullCapabilitiesRequest The MediaBrowser.Model.Session.ClientCapabilities. - * @param id The session id. - */ - public async postFullCapabilities (postFullCapabilitiesRequest: PostFullCapabilitiesRequest, id?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Sessions/Capabilities/Full'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'postFullCapabilitiesRequest' is not null or undefined - if (postFullCapabilitiesRequest === null || postFullCapabilitiesRequest === undefined) { - throw new Error('Required parameter postFullCapabilitiesRequest was null or undefined when calling postFullCapabilities.'); - } - - if (id !== undefined) { - localVarQueryParameters['id'] = ObjectSerializer.serialize(id, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(postFullCapabilitiesRequest, "PostFullCapabilitiesRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Removes an additional user from a session. - * @param sessionId The session id. - * @param userId The user id. - */ - public async removeUserFromSession (sessionId: string, userId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Sessions/{sessionId}/User/{userId}' - .replace('{' + 'sessionId' + '}', encodeURIComponent(String(sessionId))) - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'sessionId' is not null or undefined - if (sessionId === null || sessionId === undefined) { - throw new Error('Required parameter sessionId was null or undefined when calling removeUserFromSession.'); - } - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling removeUserFromSession.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Reports that a session has ended. - */ - public async reportSessionEnded (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Sessions/Logout'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Reports that a session is viewing an item. - * @param itemId The item id. - * @param sessionId The session id. - */ - public async reportViewing (itemId: string, sessionId?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Sessions/Viewing'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling reportViewing.'); - } - - if (sessionId !== undefined) { - localVarQueryParameters['sessionId'] = ObjectSerializer.serialize(sessionId, "string"); - } - - if (itemId !== undefined) { - localVarQueryParameters['itemId'] = ObjectSerializer.serialize(itemId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Issues a full general command to a client. - * @param sessionId The session id. - * @param sendFullGeneralCommandRequest The MediaBrowser.Model.Session.GeneralCommand. - */ - public async sendFullGeneralCommand (sessionId: string, sendFullGeneralCommandRequest: SendFullGeneralCommandRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Sessions/{sessionId}/Command' - .replace('{' + 'sessionId' + '}', encodeURIComponent(String(sessionId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'sessionId' is not null or undefined - if (sessionId === null || sessionId === undefined) { - throw new Error('Required parameter sessionId was null or undefined when calling sendFullGeneralCommand.'); - } - - // verify required parameter 'sendFullGeneralCommandRequest' is not null or undefined - if (sendFullGeneralCommandRequest === null || sendFullGeneralCommandRequest === undefined) { - throw new Error('Required parameter sendFullGeneralCommandRequest was null or undefined when calling sendFullGeneralCommand.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(sendFullGeneralCommandRequest, "SendFullGeneralCommandRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Issues a general command to a client. - * @param sessionId The session id. - * @param command The command to send. - */ - public async sendGeneralCommand (sessionId: string, command: GeneralCommandType, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Sessions/{sessionId}/Command/{command}' - .replace('{' + 'sessionId' + '}', encodeURIComponent(String(sessionId))) - .replace('{' + 'command' + '}', encodeURIComponent(String(command))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'sessionId' is not null or undefined - if (sessionId === null || sessionId === undefined) { - throw new Error('Required parameter sessionId was null or undefined when calling sendGeneralCommand.'); - } - - // verify required parameter 'command' is not null or undefined - if (command === null || command === undefined) { - throw new Error('Required parameter command was null or undefined when calling sendGeneralCommand.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Issues a command to a client to display a message to the user. - * @param sessionId The session id. - * @param sendMessageCommandRequest The MediaBrowser.Model.Session.MessageCommand object containing Header, Message Text, and TimeoutMs. - */ - public async sendMessageCommand (sessionId: string, sendMessageCommandRequest: SendMessageCommandRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Sessions/{sessionId}/Message' - .replace('{' + 'sessionId' + '}', encodeURIComponent(String(sessionId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'sessionId' is not null or undefined - if (sessionId === null || sessionId === undefined) { - throw new Error('Required parameter sessionId was null or undefined when calling sendMessageCommand.'); - } - - // verify required parameter 'sendMessageCommandRequest' is not null or undefined - if (sendMessageCommandRequest === null || sendMessageCommandRequest === undefined) { - throw new Error('Required parameter sendMessageCommandRequest was null or undefined when calling sendMessageCommand.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(sendMessageCommandRequest, "SendMessageCommandRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Issues a playstate command to a client. - * @param sessionId The session id. - * @param command The MediaBrowser.Model.Session.PlaystateCommand. - * @param seekPositionTicks The optional position ticks. - * @param controllingUserId The optional controlling user id. - */ - public async sendPlaystateCommand (sessionId: string, command: PlaystateCommand, seekPositionTicks?: number, controllingUserId?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Sessions/{sessionId}/Playing/{command}' - .replace('{' + 'sessionId' + '}', encodeURIComponent(String(sessionId))) - .replace('{' + 'command' + '}', encodeURIComponent(String(command))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'sessionId' is not null or undefined - if (sessionId === null || sessionId === undefined) { - throw new Error('Required parameter sessionId was null or undefined when calling sendPlaystateCommand.'); - } - - // verify required parameter 'command' is not null or undefined - if (command === null || command === undefined) { - throw new Error('Required parameter command was null or undefined when calling sendPlaystateCommand.'); - } - - if (seekPositionTicks !== undefined) { - localVarQueryParameters['seekPositionTicks'] = ObjectSerializer.serialize(seekPositionTicks, "number"); - } - - if (controllingUserId !== undefined) { - localVarQueryParameters['controllingUserId'] = ObjectSerializer.serialize(controllingUserId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Issues a system command to a client. - * @param sessionId The session id. - * @param command The command to send. - */ - public async sendSystemCommand (sessionId: string, command: GeneralCommandType, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Sessions/{sessionId}/System/{command}' - .replace('{' + 'sessionId' + '}', encodeURIComponent(String(sessionId))) - .replace('{' + 'command' + '}', encodeURIComponent(String(command))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'sessionId' is not null or undefined - if (sessionId === null || sessionId === undefined) { - throw new Error('Required parameter sessionId was null or undefined when calling sendSystemCommand.'); - } - - // verify required parameter 'command' is not null or undefined - if (command === null || command === undefined) { - throw new Error('Required parameter command was null or undefined when calling sendSystemCommand.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/startupApi.ts b/jellyfin/api/startupApi.ts deleted file mode 100644 index aace332..0000000 --- a/jellyfin/api/startupApi.ts +++ /dev/null @@ -1,535 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { SetRemoteAccessRequest } from '../model/setRemoteAccessRequest'; -import { StartupConfigurationDto } from '../model/startupConfigurationDto'; -import { StartupUserDto } from '../model/startupUserDto'; -import { UpdateInitialConfigurationRequest } from '../model/updateInitialConfigurationRequest'; -import { UpdateStartupUserRequest } from '../model/updateStartupUserRequest'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum StartupApiApiKeys { - CustomAuthentication, -} - -export class StartupApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: StartupApiApiKeys, value: string) { - (this.authentications as any)[StartupApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Completes the startup wizard. - */ - public async completeWizard (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Startup/Complete'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets the first user. - */ - public async getFirstUser (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: StartupUserDto; }> { - const localVarPath = this.basePath + '/Startup/User'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: StartupUserDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "StartupUserDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets the first user. - */ - public async getFirstUser2 (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: StartupUserDto; }> { - const localVarPath = this.basePath + '/Startup/FirstUser'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: StartupUserDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "StartupUserDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets the initial startup wizard configuration. - */ - public async getStartupConfiguration (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: StartupConfigurationDto; }> { - const localVarPath = this.basePath + '/Startup/Configuration'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: StartupConfigurationDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "StartupConfigurationDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Sets remote access and UPnP. - * @param setRemoteAccessRequest The startup remote access dto. - */ - public async setRemoteAccess (setRemoteAccessRequest: SetRemoteAccessRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Startup/RemoteAccess'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'setRemoteAccessRequest' is not null or undefined - if (setRemoteAccessRequest === null || setRemoteAccessRequest === undefined) { - throw new Error('Required parameter setRemoteAccessRequest was null or undefined when calling setRemoteAccess.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(setRemoteAccessRequest, "SetRemoteAccessRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Sets the initial startup wizard configuration. - * @param updateInitialConfigurationRequest The updated startup configuration. - */ - public async updateInitialConfiguration (updateInitialConfigurationRequest: UpdateInitialConfigurationRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Startup/Configuration'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'updateInitialConfigurationRequest' is not null or undefined - if (updateInitialConfigurationRequest === null || updateInitialConfigurationRequest === undefined) { - throw new Error('Required parameter updateInitialConfigurationRequest was null or undefined when calling updateInitialConfiguration.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(updateInitialConfigurationRequest, "UpdateInitialConfigurationRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Sets the user name and password. - * @param updateStartupUserRequest The DTO containing username and password. - */ - public async updateStartupUser (updateStartupUserRequest?: UpdateStartupUserRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Startup/User'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(updateStartupUserRequest, "UpdateStartupUserRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/studiosApi.ts b/jellyfin/api/studiosApi.ts deleted file mode 100644 index c49c541..0000000 --- a/jellyfin/api/studiosApi.ts +++ /dev/null @@ -1,323 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { BaseItemDto } from '../model/baseItemDto'; -import { BaseItemDtoQueryResult } from '../model/baseItemDtoQueryResult'; -import { BaseItemKind } from '../model/baseItemKind'; -import { ImageType } from '../model/imageType'; -import { ItemFields } from '../model/itemFields'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum StudiosApiApiKeys { - CustomAuthentication, -} - -export class StudiosApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: StudiosApiApiKeys, value: string) { - (this.authentications as any)[StudiosApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Gets a studio by name. - * @param name Studio name. - * @param userId Optional. Filter by user id, and attach user data. - */ - public async getStudio (name: string, userId?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDto; }> { - const localVarPath = this.basePath + '/Studios/{name}' - .replace('{' + 'name' + '}', encodeURIComponent(String(name))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling getStudio.'); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets all studios from a given item, folder, or the entire library. - * @param startIndex Optional. The record index to start at. All items with a lower index will be dropped from the results. - * @param limit Optional. The maximum number of records to return. - * @param searchTerm Optional. Search term. - * @param parentId Specify this to localize the search to a specific item or folder. Omit to use the root. - * @param fields Optional. Specify additional fields of information to return in the output. - * @param excludeItemTypes Optional. If specified, results will be filtered out based on item type. This allows multiple, comma delimited. - * @param includeItemTypes Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. - * @param isFavorite Optional filter by items that are marked as favorite, or not. - * @param enableUserData Optional, include user data. - * @param imageTypeLimit Optional, the max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - * @param userId User id. - * @param nameStartsWithOrGreater Optional filter by items whose name is sorted equally or greater than a given input string. - * @param nameStartsWith Optional filter by items whose name is sorted equally than a given input string. - * @param nameLessThan Optional filter by items whose name is equally or lesser than a given input string. - * @param enableImages Optional, include image information in output. - * @param enableTotalRecordCount Total record count. - */ - public async getStudios (startIndex?: number, limit?: number, searchTerm?: string, parentId?: string, fields?: Array, excludeItemTypes?: Array, includeItemTypes?: Array, isFavorite?: boolean, enableUserData?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, userId?: string, nameStartsWithOrGreater?: string, nameStartsWith?: string, nameLessThan?: string, enableImages?: boolean, enableTotalRecordCount?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Studios'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (startIndex !== undefined) { - localVarQueryParameters['startIndex'] = ObjectSerializer.serialize(startIndex, "number"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (searchTerm !== undefined) { - localVarQueryParameters['searchTerm'] = ObjectSerializer.serialize(searchTerm, "string"); - } - - if (parentId !== undefined) { - localVarQueryParameters['parentId'] = ObjectSerializer.serialize(parentId, "string"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (excludeItemTypes !== undefined) { - localVarQueryParameters['excludeItemTypes'] = ObjectSerializer.serialize(excludeItemTypes, "Array"); - } - - if (includeItemTypes !== undefined) { - localVarQueryParameters['includeItemTypes'] = ObjectSerializer.serialize(includeItemTypes, "Array"); - } - - if (isFavorite !== undefined) { - localVarQueryParameters['isFavorite'] = ObjectSerializer.serialize(isFavorite, "boolean"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (nameStartsWithOrGreater !== undefined) { - localVarQueryParameters['nameStartsWithOrGreater'] = ObjectSerializer.serialize(nameStartsWithOrGreater, "string"); - } - - if (nameStartsWith !== undefined) { - localVarQueryParameters['nameStartsWith'] = ObjectSerializer.serialize(nameStartsWith, "string"); - } - - if (nameLessThan !== undefined) { - localVarQueryParameters['nameLessThan'] = ObjectSerializer.serialize(nameLessThan, "string"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - if (enableTotalRecordCount !== undefined) { - localVarQueryParameters['enableTotalRecordCount'] = ObjectSerializer.serialize(enableTotalRecordCount, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/subtitleApi.ts b/jellyfin/api/subtitleApi.ts deleted file mode 100644 index 136a20b..0000000 --- a/jellyfin/api/subtitleApi.ts +++ /dev/null @@ -1,971 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { FontFile } from '../model/fontFile'; -import { ProblemDetails } from '../model/problemDetails'; -import { RemoteSubtitleInfo } from '../model/remoteSubtitleInfo'; -import { UploadSubtitleRequest } from '../model/uploadSubtitleRequest'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum SubtitleApiApiKeys { - CustomAuthentication, -} - -export class SubtitleApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: SubtitleApiApiKeys, value: string) { - (this.authentications as any)[SubtitleApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Deletes an external subtitle file. - * @param itemId The item id. - * @param index The index of the subtitle file. - */ - public async deleteSubtitle (itemId: string, index: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Videos/{itemId}/Subtitles/{index}' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))) - .replace('{' + 'index' + '}', encodeURIComponent(String(index))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling deleteSubtitle.'); - } - - // verify required parameter 'index' is not null or undefined - if (index === null || index === undefined) { - throw new Error('Required parameter index was null or undefined when calling deleteSubtitle.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Downloads a remote subtitle. - * @param itemId The item id. - * @param subtitleId The subtitle id. - */ - public async downloadRemoteSubtitles (itemId: string, subtitleId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Items/{itemId}/RemoteSearch/Subtitles/{subtitleId}' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))) - .replace('{' + 'subtitleId' + '}', encodeURIComponent(String(subtitleId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling downloadRemoteSubtitles.'); - } - - // verify required parameter 'subtitleId' is not null or undefined - if (subtitleId === null || subtitleId === undefined) { - throw new Error('Required parameter subtitleId was null or undefined when calling downloadRemoteSubtitles.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a fallback font file. - * @param name The name of the fallback font file to get. - */ - public async getFallbackFont (name: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/FallbackFont/Fonts/{name}' - .replace('{' + 'name' + '}', encodeURIComponent(String(name))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['font/*']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling getFallbackFont.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a list of available fallback font files. - */ - public async getFallbackFontList (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/FallbackFont/Fonts'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets the remote subtitles. - * @param id The item id. - */ - public async getRemoteSubtitles (id: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Providers/Subtitles/Subtitles/{id}' - .replace('{' + 'id' + '}', encodeURIComponent(String(id))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['text/*']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'id' is not null or undefined - if (id === null || id === undefined) { - throw new Error('Required parameter id was null or undefined when calling getRemoteSubtitles.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets subtitles in a specified format. - * @param routeItemId The (route) item id. - * @param routeMediaSourceId The (route) media source id. - * @param routeIndex The (route) subtitle stream index. - * @param routeFormat The (route) format of the returned subtitle. - * @param itemId The item id. - * @param mediaSourceId The media source id. - * @param index The subtitle stream index. - * @param format The format of the returned subtitle. - * @param endPositionTicks Optional. The end position of the subtitle in ticks. - * @param copyTimestamps Optional. Whether to copy the timestamps. - * @param addVttTimeMap Optional. Whether to add a VTT time map. - * @param startPositionTicks The start position of the subtitle in ticks. - */ - public async getSubtitle (routeItemId: string, routeMediaSourceId: string, routeIndex: number, routeFormat: string, itemId?: string, mediaSourceId?: string, index?: number, format?: string, endPositionTicks?: number, copyTimestamps?: boolean, addVttTimeMap?: boolean, startPositionTicks?: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Videos/{routeItemId}/{routeMediaSourceId}/Subtitles/{routeIndex}/Stream.{routeFormat}' - .replace('{' + 'routeItemId' + '}', encodeURIComponent(String(routeItemId))) - .replace('{' + 'routeMediaSourceId' + '}', encodeURIComponent(String(routeMediaSourceId))) - .replace('{' + 'routeIndex' + '}', encodeURIComponent(String(routeIndex))) - .replace('{' + 'routeFormat' + '}', encodeURIComponent(String(routeFormat))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['text/*']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'routeItemId' is not null or undefined - if (routeItemId === null || routeItemId === undefined) { - throw new Error('Required parameter routeItemId was null or undefined when calling getSubtitle.'); - } - - // verify required parameter 'routeMediaSourceId' is not null or undefined - if (routeMediaSourceId === null || routeMediaSourceId === undefined) { - throw new Error('Required parameter routeMediaSourceId was null or undefined when calling getSubtitle.'); - } - - // verify required parameter 'routeIndex' is not null or undefined - if (routeIndex === null || routeIndex === undefined) { - throw new Error('Required parameter routeIndex was null or undefined when calling getSubtitle.'); - } - - // verify required parameter 'routeFormat' is not null or undefined - if (routeFormat === null || routeFormat === undefined) { - throw new Error('Required parameter routeFormat was null or undefined when calling getSubtitle.'); - } - - if (itemId !== undefined) { - localVarQueryParameters['itemId'] = ObjectSerializer.serialize(itemId, "string"); - } - - if (mediaSourceId !== undefined) { - localVarQueryParameters['mediaSourceId'] = ObjectSerializer.serialize(mediaSourceId, "string"); - } - - if (index !== undefined) { - localVarQueryParameters['index'] = ObjectSerializer.serialize(index, "number"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "string"); - } - - if (endPositionTicks !== undefined) { - localVarQueryParameters['endPositionTicks'] = ObjectSerializer.serialize(endPositionTicks, "number"); - } - - if (copyTimestamps !== undefined) { - localVarQueryParameters['copyTimestamps'] = ObjectSerializer.serialize(copyTimestamps, "boolean"); - } - - if (addVttTimeMap !== undefined) { - localVarQueryParameters['addVttTimeMap'] = ObjectSerializer.serialize(addVttTimeMap, "boolean"); - } - - if (startPositionTicks !== undefined) { - localVarQueryParameters['startPositionTicks'] = ObjectSerializer.serialize(startPositionTicks, "number"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets an HLS subtitle playlist. - * @param itemId The item id. - * @param index The subtitle stream index. - * @param mediaSourceId The media source id. - * @param segmentLength The subtitle segment length. - */ - public async getSubtitlePlaylist (itemId: string, index: number, mediaSourceId: string, segmentLength: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Videos/{itemId}/{mediaSourceId}/Subtitles/{index}/subtitles.m3u8' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))) - .replace('{' + 'index' + '}', encodeURIComponent(String(index))) - .replace('{' + 'mediaSourceId' + '}', encodeURIComponent(String(mediaSourceId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/x-mpegURL']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getSubtitlePlaylist.'); - } - - // verify required parameter 'index' is not null or undefined - if (index === null || index === undefined) { - throw new Error('Required parameter index was null or undefined when calling getSubtitlePlaylist.'); - } - - // verify required parameter 'mediaSourceId' is not null or undefined - if (mediaSourceId === null || mediaSourceId === undefined) { - throw new Error('Required parameter mediaSourceId was null or undefined when calling getSubtitlePlaylist.'); - } - - // verify required parameter 'segmentLength' is not null or undefined - if (segmentLength === null || segmentLength === undefined) { - throw new Error('Required parameter segmentLength was null or undefined when calling getSubtitlePlaylist.'); - } - - if (segmentLength !== undefined) { - localVarQueryParameters['segmentLength'] = ObjectSerializer.serialize(segmentLength, "number"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets subtitles in a specified format. - * @param routeItemId The (route) item id. - * @param routeMediaSourceId The (route) media source id. - * @param routeIndex The (route) subtitle stream index. - * @param routeStartPositionTicks The (route) start position of the subtitle in ticks. - * @param routeFormat The (route) format of the returned subtitle. - * @param itemId The item id. - * @param mediaSourceId The media source id. - * @param index The subtitle stream index. - * @param startPositionTicks The start position of the subtitle in ticks. - * @param format The format of the returned subtitle. - * @param endPositionTicks Optional. The end position of the subtitle in ticks. - * @param copyTimestamps Optional. Whether to copy the timestamps. - * @param addVttTimeMap Optional. Whether to add a VTT time map. - */ - public async getSubtitleWithTicks (routeItemId: string, routeMediaSourceId: string, routeIndex: number, routeStartPositionTicks: number, routeFormat: string, itemId?: string, mediaSourceId?: string, index?: number, startPositionTicks?: number, format?: string, endPositionTicks?: number, copyTimestamps?: boolean, addVttTimeMap?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Videos/{routeItemId}/{routeMediaSourceId}/Subtitles/{routeIndex}/{routeStartPositionTicks}/Stream.{routeFormat}' - .replace('{' + 'routeItemId' + '}', encodeURIComponent(String(routeItemId))) - .replace('{' + 'routeMediaSourceId' + '}', encodeURIComponent(String(routeMediaSourceId))) - .replace('{' + 'routeIndex' + '}', encodeURIComponent(String(routeIndex))) - .replace('{' + 'routeStartPositionTicks' + '}', encodeURIComponent(String(routeStartPositionTicks))) - .replace('{' + 'routeFormat' + '}', encodeURIComponent(String(routeFormat))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['text/*']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'routeItemId' is not null or undefined - if (routeItemId === null || routeItemId === undefined) { - throw new Error('Required parameter routeItemId was null or undefined when calling getSubtitleWithTicks.'); - } - - // verify required parameter 'routeMediaSourceId' is not null or undefined - if (routeMediaSourceId === null || routeMediaSourceId === undefined) { - throw new Error('Required parameter routeMediaSourceId was null or undefined when calling getSubtitleWithTicks.'); - } - - // verify required parameter 'routeIndex' is not null or undefined - if (routeIndex === null || routeIndex === undefined) { - throw new Error('Required parameter routeIndex was null or undefined when calling getSubtitleWithTicks.'); - } - - // verify required parameter 'routeStartPositionTicks' is not null or undefined - if (routeStartPositionTicks === null || routeStartPositionTicks === undefined) { - throw new Error('Required parameter routeStartPositionTicks was null or undefined when calling getSubtitleWithTicks.'); - } - - // verify required parameter 'routeFormat' is not null or undefined - if (routeFormat === null || routeFormat === undefined) { - throw new Error('Required parameter routeFormat was null or undefined when calling getSubtitleWithTicks.'); - } - - if (itemId !== undefined) { - localVarQueryParameters['itemId'] = ObjectSerializer.serialize(itemId, "string"); - } - - if (mediaSourceId !== undefined) { - localVarQueryParameters['mediaSourceId'] = ObjectSerializer.serialize(mediaSourceId, "string"); - } - - if (index !== undefined) { - localVarQueryParameters['index'] = ObjectSerializer.serialize(index, "number"); - } - - if (startPositionTicks !== undefined) { - localVarQueryParameters['startPositionTicks'] = ObjectSerializer.serialize(startPositionTicks, "number"); - } - - if (format !== undefined) { - localVarQueryParameters['format'] = ObjectSerializer.serialize(format, "string"); - } - - if (endPositionTicks !== undefined) { - localVarQueryParameters['endPositionTicks'] = ObjectSerializer.serialize(endPositionTicks, "number"); - } - - if (copyTimestamps !== undefined) { - localVarQueryParameters['copyTimestamps'] = ObjectSerializer.serialize(copyTimestamps, "boolean"); - } - - if (addVttTimeMap !== undefined) { - localVarQueryParameters['addVttTimeMap'] = ObjectSerializer.serialize(addVttTimeMap, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Search remote subtitles. - * @param itemId The item id. - * @param language The language of the subtitles. - * @param isPerfectMatch Optional. Only show subtitles which are a perfect match. - */ - public async searchRemoteSubtitles (itemId: string, language: string, isPerfectMatch?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Items/{itemId}/RemoteSearch/Subtitles/{language}' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))) - .replace('{' + 'language' + '}', encodeURIComponent(String(language))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling searchRemoteSubtitles.'); - } - - // verify required parameter 'language' is not null or undefined - if (language === null || language === undefined) { - throw new Error('Required parameter language was null or undefined when calling searchRemoteSubtitles.'); - } - - if (isPerfectMatch !== undefined) { - localVarQueryParameters['isPerfectMatch'] = ObjectSerializer.serialize(isPerfectMatch, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Upload an external subtitle file. - * @param itemId The item the subtitle belongs to. - * @param uploadSubtitleRequest The request body. - */ - public async uploadSubtitle (itemId: string, uploadSubtitleRequest: UploadSubtitleRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Videos/{itemId}/Subtitles' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling uploadSubtitle.'); - } - - // verify required parameter 'uploadSubtitleRequest' is not null or undefined - if (uploadSubtitleRequest === null || uploadSubtitleRequest === undefined) { - throw new Error('Required parameter uploadSubtitleRequest was null or undefined when calling uploadSubtitle.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(uploadSubtitleRequest, "UploadSubtitleRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/suggestionsApi.ts b/jellyfin/api/suggestionsApi.ts deleted file mode 100644 index a403b45..0000000 --- a/jellyfin/api/suggestionsApi.ts +++ /dev/null @@ -1,190 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { BaseItemDtoQueryResult } from '../model/baseItemDtoQueryResult'; -import { BaseItemKind } from '../model/baseItemKind'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum SuggestionsApiApiKeys { - CustomAuthentication, -} - -export class SuggestionsApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: SuggestionsApiApiKeys, value: string) { - (this.authentications as any)[SuggestionsApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Gets suggestions. - * @param userId The user id. - * @param mediaType The media types. - * @param type The type. - * @param startIndex Optional. The start index. - * @param limit Optional. The limit. - * @param enableTotalRecordCount Whether to enable the total record count. - */ - public async getSuggestions (userId: string, mediaType?: Array, type?: Array, startIndex?: number, limit?: number, enableTotalRecordCount?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Users/{userId}/Suggestions' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling getSuggestions.'); - } - - if (mediaType !== undefined) { - localVarQueryParameters['mediaType'] = ObjectSerializer.serialize(mediaType, "Array"); - } - - if (type !== undefined) { - localVarQueryParameters['type'] = ObjectSerializer.serialize(type, "Array"); - } - - if (startIndex !== undefined) { - localVarQueryParameters['startIndex'] = ObjectSerializer.serialize(startIndex, "number"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (enableTotalRecordCount !== undefined) { - localVarQueryParameters['enableTotalRecordCount'] = ObjectSerializer.serialize(enableTotalRecordCount, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/syncPlayApi.ts b/jellyfin/api/syncPlayApi.ts deleted file mode 100644 index 79040eb..0000000 --- a/jellyfin/api/syncPlayApi.ts +++ /dev/null @@ -1,1425 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { GroupInfoDto } from '../model/groupInfoDto'; -import { SyncPlayBufferingRequest } from '../model/syncPlayBufferingRequest'; -import { SyncPlayCreateGroupRequest } from '../model/syncPlayCreateGroupRequest'; -import { SyncPlayJoinGroupRequest } from '../model/syncPlayJoinGroupRequest'; -import { SyncPlayMovePlaylistItemRequest } from '../model/syncPlayMovePlaylistItemRequest'; -import { SyncPlayNextItemRequest } from '../model/syncPlayNextItemRequest'; -import { SyncPlayPingRequest } from '../model/syncPlayPingRequest'; -import { SyncPlayPreviousItemRequest } from '../model/syncPlayPreviousItemRequest'; -import { SyncPlayQueueRequest } from '../model/syncPlayQueueRequest'; -import { SyncPlayReadyRequest } from '../model/syncPlayReadyRequest'; -import { SyncPlayRemoveFromPlaylistRequest } from '../model/syncPlayRemoveFromPlaylistRequest'; -import { SyncPlaySeekRequest } from '../model/syncPlaySeekRequest'; -import { SyncPlaySetIgnoreWaitRequest } from '../model/syncPlaySetIgnoreWaitRequest'; -import { SyncPlaySetNewQueueRequest } from '../model/syncPlaySetNewQueueRequest'; -import { SyncPlaySetPlaylistItemRequest } from '../model/syncPlaySetPlaylistItemRequest'; -import { SyncPlaySetRepeatModeRequest } from '../model/syncPlaySetRepeatModeRequest'; -import { SyncPlaySetShuffleModeRequest } from '../model/syncPlaySetShuffleModeRequest'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum SyncPlayApiApiKeys { - CustomAuthentication, -} - -export class SyncPlayApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: SyncPlayApiApiKeys, value: string) { - (this.authentications as any)[SyncPlayApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Notify SyncPlay group that member is buffering. - * @param syncPlayBufferingRequest The player status. - */ - public async syncPlayBuffering (syncPlayBufferingRequest: SyncPlayBufferingRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/SyncPlay/Buffering'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'syncPlayBufferingRequest' is not null or undefined - if (syncPlayBufferingRequest === null || syncPlayBufferingRequest === undefined) { - throw new Error('Required parameter syncPlayBufferingRequest was null or undefined when calling syncPlayBuffering.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(syncPlayBufferingRequest, "SyncPlayBufferingRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Create a new SyncPlay group. - * @param syncPlayCreateGroupRequest The settings of the new group. - */ - public async syncPlayCreateGroup (syncPlayCreateGroupRequest: SyncPlayCreateGroupRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/SyncPlay/New'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'syncPlayCreateGroupRequest' is not null or undefined - if (syncPlayCreateGroupRequest === null || syncPlayCreateGroupRequest === undefined) { - throw new Error('Required parameter syncPlayCreateGroupRequest was null or undefined when calling syncPlayCreateGroup.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(syncPlayCreateGroupRequest, "SyncPlayCreateGroupRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets all SyncPlay groups. - */ - public async syncPlayGetGroups (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/SyncPlay/List'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Join an existing SyncPlay group. - * @param syncPlayJoinGroupRequest The group to join. - */ - public async syncPlayJoinGroup (syncPlayJoinGroupRequest: SyncPlayJoinGroupRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/SyncPlay/Join'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'syncPlayJoinGroupRequest' is not null or undefined - if (syncPlayJoinGroupRequest === null || syncPlayJoinGroupRequest === undefined) { - throw new Error('Required parameter syncPlayJoinGroupRequest was null or undefined when calling syncPlayJoinGroup.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(syncPlayJoinGroupRequest, "SyncPlayJoinGroupRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Leave the joined SyncPlay group. - */ - public async syncPlayLeaveGroup (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/SyncPlay/Leave'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Request to move an item in the playlist in SyncPlay group. - * @param syncPlayMovePlaylistItemRequest The new position for the item. - */ - public async syncPlayMovePlaylistItem (syncPlayMovePlaylistItemRequest: SyncPlayMovePlaylistItemRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/SyncPlay/MovePlaylistItem'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'syncPlayMovePlaylistItemRequest' is not null or undefined - if (syncPlayMovePlaylistItemRequest === null || syncPlayMovePlaylistItemRequest === undefined) { - throw new Error('Required parameter syncPlayMovePlaylistItemRequest was null or undefined when calling syncPlayMovePlaylistItem.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(syncPlayMovePlaylistItemRequest, "SyncPlayMovePlaylistItemRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Request next item in SyncPlay group. - * @param syncPlayNextItemRequest The current item information. - */ - public async syncPlayNextItem (syncPlayNextItemRequest: SyncPlayNextItemRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/SyncPlay/NextItem'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'syncPlayNextItemRequest' is not null or undefined - if (syncPlayNextItemRequest === null || syncPlayNextItemRequest === undefined) { - throw new Error('Required parameter syncPlayNextItemRequest was null or undefined when calling syncPlayNextItem.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(syncPlayNextItemRequest, "SyncPlayNextItemRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Request pause in SyncPlay group. - */ - public async syncPlayPause (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/SyncPlay/Pause'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Update session ping. - * @param syncPlayPingRequest The new ping. - */ - public async syncPlayPing (syncPlayPingRequest: SyncPlayPingRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/SyncPlay/Ping'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'syncPlayPingRequest' is not null or undefined - if (syncPlayPingRequest === null || syncPlayPingRequest === undefined) { - throw new Error('Required parameter syncPlayPingRequest was null or undefined when calling syncPlayPing.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(syncPlayPingRequest, "SyncPlayPingRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Request previous item in SyncPlay group. - * @param syncPlayPreviousItemRequest The current item information. - */ - public async syncPlayPreviousItem (syncPlayPreviousItemRequest: SyncPlayPreviousItemRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/SyncPlay/PreviousItem'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'syncPlayPreviousItemRequest' is not null or undefined - if (syncPlayPreviousItemRequest === null || syncPlayPreviousItemRequest === undefined) { - throw new Error('Required parameter syncPlayPreviousItemRequest was null or undefined when calling syncPlayPreviousItem.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(syncPlayPreviousItemRequest, "SyncPlayPreviousItemRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Request to queue items to the playlist of a SyncPlay group. - * @param syncPlayQueueRequest The items to add. - */ - public async syncPlayQueue (syncPlayQueueRequest: SyncPlayQueueRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/SyncPlay/Queue'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'syncPlayQueueRequest' is not null or undefined - if (syncPlayQueueRequest === null || syncPlayQueueRequest === undefined) { - throw new Error('Required parameter syncPlayQueueRequest was null or undefined when calling syncPlayQueue.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(syncPlayQueueRequest, "SyncPlayQueueRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Notify SyncPlay group that member is ready for playback. - * @param syncPlayReadyRequest The player status. - */ - public async syncPlayReady (syncPlayReadyRequest: SyncPlayReadyRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/SyncPlay/Ready'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'syncPlayReadyRequest' is not null or undefined - if (syncPlayReadyRequest === null || syncPlayReadyRequest === undefined) { - throw new Error('Required parameter syncPlayReadyRequest was null or undefined when calling syncPlayReady.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(syncPlayReadyRequest, "SyncPlayReadyRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Request to remove items from the playlist in SyncPlay group. - * @param syncPlayRemoveFromPlaylistRequest The items to remove. - */ - public async syncPlayRemoveFromPlaylist (syncPlayRemoveFromPlaylistRequest: SyncPlayRemoveFromPlaylistRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/SyncPlay/RemoveFromPlaylist'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'syncPlayRemoveFromPlaylistRequest' is not null or undefined - if (syncPlayRemoveFromPlaylistRequest === null || syncPlayRemoveFromPlaylistRequest === undefined) { - throw new Error('Required parameter syncPlayRemoveFromPlaylistRequest was null or undefined when calling syncPlayRemoveFromPlaylist.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(syncPlayRemoveFromPlaylistRequest, "SyncPlayRemoveFromPlaylistRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Request seek in SyncPlay group. - * @param syncPlaySeekRequest The new playback position. - */ - public async syncPlaySeek (syncPlaySeekRequest: SyncPlaySeekRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/SyncPlay/Seek'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'syncPlaySeekRequest' is not null or undefined - if (syncPlaySeekRequest === null || syncPlaySeekRequest === undefined) { - throw new Error('Required parameter syncPlaySeekRequest was null or undefined when calling syncPlaySeek.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(syncPlaySeekRequest, "SyncPlaySeekRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Request SyncPlay group to ignore member during group-wait. - * @param syncPlaySetIgnoreWaitRequest The settings to set. - */ - public async syncPlaySetIgnoreWait (syncPlaySetIgnoreWaitRequest: SyncPlaySetIgnoreWaitRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/SyncPlay/SetIgnoreWait'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'syncPlaySetIgnoreWaitRequest' is not null or undefined - if (syncPlaySetIgnoreWaitRequest === null || syncPlaySetIgnoreWaitRequest === undefined) { - throw new Error('Required parameter syncPlaySetIgnoreWaitRequest was null or undefined when calling syncPlaySetIgnoreWait.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(syncPlaySetIgnoreWaitRequest, "SyncPlaySetIgnoreWaitRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Request to set new playlist in SyncPlay group. - * @param syncPlaySetNewQueueRequest The new playlist to play in the group. - */ - public async syncPlaySetNewQueue (syncPlaySetNewQueueRequest: SyncPlaySetNewQueueRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/SyncPlay/SetNewQueue'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'syncPlaySetNewQueueRequest' is not null or undefined - if (syncPlaySetNewQueueRequest === null || syncPlaySetNewQueueRequest === undefined) { - throw new Error('Required parameter syncPlaySetNewQueueRequest was null or undefined when calling syncPlaySetNewQueue.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(syncPlaySetNewQueueRequest, "SyncPlaySetNewQueueRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Request to change playlist item in SyncPlay group. - * @param syncPlaySetPlaylistItemRequest The new item to play. - */ - public async syncPlaySetPlaylistItem (syncPlaySetPlaylistItemRequest: SyncPlaySetPlaylistItemRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/SyncPlay/SetPlaylistItem'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'syncPlaySetPlaylistItemRequest' is not null or undefined - if (syncPlaySetPlaylistItemRequest === null || syncPlaySetPlaylistItemRequest === undefined) { - throw new Error('Required parameter syncPlaySetPlaylistItemRequest was null or undefined when calling syncPlaySetPlaylistItem.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(syncPlaySetPlaylistItemRequest, "SyncPlaySetPlaylistItemRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Request to set repeat mode in SyncPlay group. - * @param syncPlaySetRepeatModeRequest The new repeat mode. - */ - public async syncPlaySetRepeatMode (syncPlaySetRepeatModeRequest: SyncPlaySetRepeatModeRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/SyncPlay/SetRepeatMode'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'syncPlaySetRepeatModeRequest' is not null or undefined - if (syncPlaySetRepeatModeRequest === null || syncPlaySetRepeatModeRequest === undefined) { - throw new Error('Required parameter syncPlaySetRepeatModeRequest was null or undefined when calling syncPlaySetRepeatMode.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(syncPlaySetRepeatModeRequest, "SyncPlaySetRepeatModeRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Request to set shuffle mode in SyncPlay group. - * @param syncPlaySetShuffleModeRequest The new shuffle mode. - */ - public async syncPlaySetShuffleMode (syncPlaySetShuffleModeRequest: SyncPlaySetShuffleModeRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/SyncPlay/SetShuffleMode'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - // verify required parameter 'syncPlaySetShuffleModeRequest' is not null or undefined - if (syncPlaySetShuffleModeRequest === null || syncPlaySetShuffleModeRequest === undefined) { - throw new Error('Required parameter syncPlaySetShuffleModeRequest was null or undefined when calling syncPlaySetShuffleMode.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(syncPlaySetShuffleModeRequest, "SyncPlaySetShuffleModeRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Request stop in SyncPlay group. - */ - public async syncPlayStop (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/SyncPlay/Stop'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Request unpause in SyncPlay group. - */ - public async syncPlayUnpause (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/SyncPlay/Unpause'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/systemApi.ts b/jellyfin/api/systemApi.ts deleted file mode 100644 index 45f355e..0000000 --- a/jellyfin/api/systemApi.ts +++ /dev/null @@ -1,731 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { EndPointInfo } from '../model/endPointInfo'; -import { LogFile } from '../model/logFile'; -import { PublicSystemInfo } from '../model/publicSystemInfo'; -import { SystemInfo } from '../model/systemInfo'; -import { WakeOnLanInfo } from '../model/wakeOnLanInfo'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum SystemApiApiKeys { - CustomAuthentication, -} - -export class SystemApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: SystemApiApiKeys, value: string) { - (this.authentications as any)[SystemApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Gets information about the request endpoint. - */ - public async getEndpointInfo (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: EndPointInfo; }> { - const localVarPath = this.basePath + '/System/Endpoint'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: EndPointInfo; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "EndPointInfo"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a log file. - * @param name The name of the log file to get. - */ - public async getLogFile (name: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/System/Logs/Log'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['text/plain']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new Error('Required parameter name was null or undefined when calling getLogFile.'); - } - - if (name !== undefined) { - localVarQueryParameters['name'] = ObjectSerializer.serialize(name, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Pings the system. - */ - public async getPingSystem (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: string; }> { - const localVarPath = this.basePath + '/System/Ping'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: string; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "string"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets public information about the server. - */ - public async getPublicSystemInfo (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: PublicSystemInfo; }> { - const localVarPath = this.basePath + '/System/Info/Public'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: PublicSystemInfo; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "PublicSystemInfo"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a list of available server log files. - */ - public async getServerLogs (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/System/Logs'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets information about the server. - */ - public async getSystemInfo (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: SystemInfo; }> { - const localVarPath = this.basePath + '/System/Info'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: SystemInfo; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "SystemInfo"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets wake on lan information. - */ - public async getWakeOnLanInfo (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/System/WakeOnLanInfo'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Pings the system. - */ - public async postPingSystem (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: string; }> { - const localVarPath = this.basePath + '/System/Ping'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: string; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "string"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Restarts the application. - */ - public async restartApplication (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/System/Restart'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Shuts down the application. - */ - public async shutdownApplication (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/System/Shutdown'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/timeSyncApi.ts b/jellyfin/api/timeSyncApi.ts deleted file mode 100644 index 8af311e..0000000 --- a/jellyfin/api/timeSyncApi.ts +++ /dev/null @@ -1,154 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { UtcTimeResponse } from '../model/utcTimeResponse'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum TimeSyncApiApiKeys { - CustomAuthentication, -} - -export class TimeSyncApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: TimeSyncApiApiKeys, value: string) { - (this.authentications as any)[TimeSyncApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Gets the current UTC time. - */ - public async getUtcTime (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: UtcTimeResponse; }> { - const localVarPath = this.basePath + '/GetUtcTime'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: UtcTimeResponse; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "UtcTimeResponse"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/tmdbApi.ts b/jellyfin/api/tmdbApi.ts deleted file mode 100644 index 01ffb7a..0000000 --- a/jellyfin/api/tmdbApi.ts +++ /dev/null @@ -1,157 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { ConfigImageTypes } from '../model/configImageTypes'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum TmdbApiApiKeys { - CustomAuthentication, -} - -export class TmdbApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: TmdbApiApiKeys, value: string) { - (this.authentications as any)[TmdbApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Gets the TMDb image configuration options. - */ - public async tmdbClientConfiguration (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: ConfigImageTypes; }> { - const localVarPath = this.basePath + '/Tmdb/ClientConfiguration'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: ConfigImageTypes; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "ConfigImageTypes"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/trailersApi.ts b/jellyfin/api/trailersApi.ts deleted file mode 100644 index a2a22b6..0000000 --- a/jellyfin/api/trailersApi.ts +++ /dev/null @@ -1,585 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { BaseItemDtoQueryResult } from '../model/baseItemDtoQueryResult'; -import { BaseItemKind } from '../model/baseItemKind'; -import { ImageType } from '../model/imageType'; -import { ItemFields } from '../model/itemFields'; -import { ItemFilter } from '../model/itemFilter'; -import { LocationType } from '../model/locationType'; -import { SeriesStatus } from '../model/seriesStatus'; -import { SortOrder } from '../model/sortOrder'; -import { VideoType } from '../model/videoType'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum TrailersApiApiKeys { - CustomAuthentication, -} - -export class TrailersApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: TrailersApiApiKeys, value: string) { - (this.authentications as any)[TrailersApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Finds movies and trailers similar to a given trailer. - * @param userId The user id. - * @param maxOfficialRating Optional filter by maximum official rating (PG, PG-13, TV-MA, etc). - * @param hasThemeSong Optional filter by items with theme songs. - * @param hasThemeVideo Optional filter by items with theme videos. - * @param hasSubtitles Optional filter by items with subtitles. - * @param hasSpecialFeature Optional filter by items with special features. - * @param hasTrailer Optional filter by items with trailers. - * @param adjacentTo Optional. Return items that are siblings of a supplied item. - * @param parentIndexNumber Optional filter by parent index number. - * @param hasParentalRating Optional filter by items that have or do not have a parental rating. - * @param isHd Optional filter by items that are HD or not. - * @param is4K Optional filter by items that are 4K or not. - * @param locationTypes Optional. If specified, results will be filtered based on LocationType. This allows multiple, comma delimited. - * @param excludeLocationTypes Optional. If specified, results will be filtered based on the LocationType. This allows multiple, comma delimited. - * @param isMissing Optional filter by items that are missing episodes or not. - * @param isUnaired Optional filter by items that are unaired episodes or not. - * @param minCommunityRating Optional filter by minimum community rating. - * @param minCriticRating Optional filter by minimum critic rating. - * @param minPremiereDate Optional. The minimum premiere date. Format = ISO. - * @param minDateLastSaved Optional. The minimum last saved date. Format = ISO. - * @param minDateLastSavedForUser Optional. The minimum last saved date for the current user. Format = ISO. - * @param maxPremiereDate Optional. The maximum premiere date. Format = ISO. - * @param hasOverview Optional filter by items that have an overview or not. - * @param hasImdbId Optional filter by items that have an imdb id or not. - * @param hasTmdbId Optional filter by items that have a tmdb id or not. - * @param hasTvdbId Optional filter by items that have a tvdb id or not. - * @param isMovie Optional filter for live tv movies. - * @param isSeries Optional filter for live tv series. - * @param isNews Optional filter for live tv news. - * @param isKids Optional filter for live tv kids. - * @param isSports Optional filter for live tv sports. - * @param excludeItemIds Optional. If specified, results will be filtered by excluding item ids. This allows multiple, comma delimited. - * @param startIndex Optional. The record index to start at. All items with a lower index will be dropped from the results. - * @param limit Optional. The maximum number of records to return. - * @param recursive When searching within folders, this determines whether or not the search will be recursive. true/false. - * @param searchTerm Optional. Filter based on a search term. - * @param sortOrder Sort Order - Ascending,Descending. - * @param parentId Specify this to localize the search to a specific item or folder. Omit to use the root. - * @param fields Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines. - * @param excludeItemTypes Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. - * @param filters Optional. Specify additional filters to apply. This allows multiple, comma delimited. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes. - * @param isFavorite Optional filter by items that are marked as favorite, or not. - * @param mediaTypes Optional filter by MediaType. Allows multiple, comma delimited. - * @param imageTypes Optional. If specified, results will be filtered based on those containing image types. This allows multiple, comma delimited. - * @param sortBy Optional. Specify one or more sort orders, comma delimited. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime. - * @param isPlayed Optional filter by items that are played, or not. - * @param genres Optional. If specified, results will be filtered based on genre. This allows multiple, pipe delimited. - * @param officialRatings Optional. If specified, results will be filtered based on OfficialRating. This allows multiple, pipe delimited. - * @param tags Optional. If specified, results will be filtered based on tag. This allows multiple, pipe delimited. - * @param years Optional. If specified, results will be filtered based on production year. This allows multiple, comma delimited. - * @param enableUserData Optional, include user data. - * @param imageTypeLimit Optional, the max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - * @param person Optional. If specified, results will be filtered to include only those containing the specified person. - * @param personIds Optional. If specified, results will be filtered to include only those containing the specified person id. - * @param personTypes Optional. If specified, along with Person, results will be filtered to include only those containing the specified person and PersonType. Allows multiple, comma-delimited. - * @param studios Optional. If specified, results will be filtered based on studio. This allows multiple, pipe delimited. - * @param artists Optional. If specified, results will be filtered based on artists. This allows multiple, pipe delimited. - * @param excludeArtistIds Optional. If specified, results will be filtered based on artist id. This allows multiple, pipe delimited. - * @param artistIds Optional. If specified, results will be filtered to include only those containing the specified artist id. - * @param albumArtistIds Optional. If specified, results will be filtered to include only those containing the specified album artist id. - * @param contributingArtistIds Optional. If specified, results will be filtered to include only those containing the specified contributing artist id. - * @param albums Optional. If specified, results will be filtered based on album. This allows multiple, pipe delimited. - * @param albumIds Optional. If specified, results will be filtered based on album id. This allows multiple, pipe delimited. - * @param ids Optional. If specific items are needed, specify a list of item id\'s to retrieve. This allows multiple, comma delimited. - * @param videoTypes Optional filter by VideoType (videofile, dvd, bluray, iso). Allows multiple, comma delimited. - * @param minOfficialRating Optional filter by minimum official rating (PG, PG-13, TV-MA, etc). - * @param isLocked Optional filter by items that are locked. - * @param isPlaceHolder Optional filter by items that are placeholders. - * @param hasOfficialRating Optional filter by items that have official ratings. - * @param collapseBoxSetItems Whether or not to hide items behind their boxsets. - * @param minWidth Optional. Filter by the minimum width of the item. - * @param minHeight Optional. Filter by the minimum height of the item. - * @param maxWidth Optional. Filter by the maximum width of the item. - * @param maxHeight Optional. Filter by the maximum height of the item. - * @param is3D Optional filter by items that are 3D, or not. - * @param seriesStatus Optional filter by Series Status. Allows multiple, comma delimited. - * @param nameStartsWithOrGreater Optional filter by items whose name is sorted equally or greater than a given input string. - * @param nameStartsWith Optional filter by items whose name is sorted equally than a given input string. - * @param nameLessThan Optional filter by items whose name is equally or lesser than a given input string. - * @param studioIds Optional. If specified, results will be filtered based on studio id. This allows multiple, pipe delimited. - * @param genreIds Optional. If specified, results will be filtered based on genre id. This allows multiple, pipe delimited. - * @param enableTotalRecordCount Optional. Enable the total record count. - * @param enableImages Optional, include image information in output. - */ - public async getTrailers (userId?: string, maxOfficialRating?: string, hasThemeSong?: boolean, hasThemeVideo?: boolean, hasSubtitles?: boolean, hasSpecialFeature?: boolean, hasTrailer?: boolean, adjacentTo?: string, parentIndexNumber?: number, hasParentalRating?: boolean, isHd?: boolean, is4K?: boolean, locationTypes?: Array, excludeLocationTypes?: Array, isMissing?: boolean, isUnaired?: boolean, minCommunityRating?: number, minCriticRating?: number, minPremiereDate?: Date, minDateLastSaved?: Date, minDateLastSavedForUser?: Date, maxPremiereDate?: Date, hasOverview?: boolean, hasImdbId?: boolean, hasTmdbId?: boolean, hasTvdbId?: boolean, isMovie?: boolean, isSeries?: boolean, isNews?: boolean, isKids?: boolean, isSports?: boolean, excludeItemIds?: Array, startIndex?: number, limit?: number, recursive?: boolean, searchTerm?: string, sortOrder?: Array, parentId?: string, fields?: Array, excludeItemTypes?: Array, filters?: Array, isFavorite?: boolean, mediaTypes?: Array, imageTypes?: Array, sortBy?: Array, isPlayed?: boolean, genres?: Array, officialRatings?: Array, tags?: Array, years?: Array, enableUserData?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, person?: string, personIds?: Array, personTypes?: Array, studios?: Array, artists?: Array, excludeArtistIds?: Array, artistIds?: Array, albumArtistIds?: Array, contributingArtistIds?: Array, albums?: Array, albumIds?: Array, ids?: Array, videoTypes?: Array, minOfficialRating?: string, isLocked?: boolean, isPlaceHolder?: boolean, hasOfficialRating?: boolean, collapseBoxSetItems?: boolean, minWidth?: number, minHeight?: number, maxWidth?: number, maxHeight?: number, is3D?: boolean, seriesStatus?: Array, nameStartsWithOrGreater?: string, nameStartsWith?: string, nameLessThan?: string, studioIds?: Array, genreIds?: Array, enableTotalRecordCount?: boolean, enableImages?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Trailers'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (maxOfficialRating !== undefined) { - localVarQueryParameters['maxOfficialRating'] = ObjectSerializer.serialize(maxOfficialRating, "string"); - } - - if (hasThemeSong !== undefined) { - localVarQueryParameters['hasThemeSong'] = ObjectSerializer.serialize(hasThemeSong, "boolean"); - } - - if (hasThemeVideo !== undefined) { - localVarQueryParameters['hasThemeVideo'] = ObjectSerializer.serialize(hasThemeVideo, "boolean"); - } - - if (hasSubtitles !== undefined) { - localVarQueryParameters['hasSubtitles'] = ObjectSerializer.serialize(hasSubtitles, "boolean"); - } - - if (hasSpecialFeature !== undefined) { - localVarQueryParameters['hasSpecialFeature'] = ObjectSerializer.serialize(hasSpecialFeature, "boolean"); - } - - if (hasTrailer !== undefined) { - localVarQueryParameters['hasTrailer'] = ObjectSerializer.serialize(hasTrailer, "boolean"); - } - - if (adjacentTo !== undefined) { - localVarQueryParameters['adjacentTo'] = ObjectSerializer.serialize(adjacentTo, "string"); - } - - if (parentIndexNumber !== undefined) { - localVarQueryParameters['parentIndexNumber'] = ObjectSerializer.serialize(parentIndexNumber, "number"); - } - - if (hasParentalRating !== undefined) { - localVarQueryParameters['hasParentalRating'] = ObjectSerializer.serialize(hasParentalRating, "boolean"); - } - - if (isHd !== undefined) { - localVarQueryParameters['isHd'] = ObjectSerializer.serialize(isHd, "boolean"); - } - - if (is4K !== undefined) { - localVarQueryParameters['is4K'] = ObjectSerializer.serialize(is4K, "boolean"); - } - - if (locationTypes !== undefined) { - localVarQueryParameters['locationTypes'] = ObjectSerializer.serialize(locationTypes, "Array"); - } - - if (excludeLocationTypes !== undefined) { - localVarQueryParameters['excludeLocationTypes'] = ObjectSerializer.serialize(excludeLocationTypes, "Array"); - } - - if (isMissing !== undefined) { - localVarQueryParameters['isMissing'] = ObjectSerializer.serialize(isMissing, "boolean"); - } - - if (isUnaired !== undefined) { - localVarQueryParameters['isUnaired'] = ObjectSerializer.serialize(isUnaired, "boolean"); - } - - if (minCommunityRating !== undefined) { - localVarQueryParameters['minCommunityRating'] = ObjectSerializer.serialize(minCommunityRating, "number"); - } - - if (minCriticRating !== undefined) { - localVarQueryParameters['minCriticRating'] = ObjectSerializer.serialize(minCriticRating, "number"); - } - - if (minPremiereDate !== undefined) { - localVarQueryParameters['minPremiereDate'] = ObjectSerializer.serialize(minPremiereDate, "Date"); - } - - if (minDateLastSaved !== undefined) { - localVarQueryParameters['minDateLastSaved'] = ObjectSerializer.serialize(minDateLastSaved, "Date"); - } - - if (minDateLastSavedForUser !== undefined) { - localVarQueryParameters['minDateLastSavedForUser'] = ObjectSerializer.serialize(minDateLastSavedForUser, "Date"); - } - - if (maxPremiereDate !== undefined) { - localVarQueryParameters['maxPremiereDate'] = ObjectSerializer.serialize(maxPremiereDate, "Date"); - } - - if (hasOverview !== undefined) { - localVarQueryParameters['hasOverview'] = ObjectSerializer.serialize(hasOverview, "boolean"); - } - - if (hasImdbId !== undefined) { - localVarQueryParameters['hasImdbId'] = ObjectSerializer.serialize(hasImdbId, "boolean"); - } - - if (hasTmdbId !== undefined) { - localVarQueryParameters['hasTmdbId'] = ObjectSerializer.serialize(hasTmdbId, "boolean"); - } - - if (hasTvdbId !== undefined) { - localVarQueryParameters['hasTvdbId'] = ObjectSerializer.serialize(hasTvdbId, "boolean"); - } - - if (isMovie !== undefined) { - localVarQueryParameters['isMovie'] = ObjectSerializer.serialize(isMovie, "boolean"); - } - - if (isSeries !== undefined) { - localVarQueryParameters['isSeries'] = ObjectSerializer.serialize(isSeries, "boolean"); - } - - if (isNews !== undefined) { - localVarQueryParameters['isNews'] = ObjectSerializer.serialize(isNews, "boolean"); - } - - if (isKids !== undefined) { - localVarQueryParameters['isKids'] = ObjectSerializer.serialize(isKids, "boolean"); - } - - if (isSports !== undefined) { - localVarQueryParameters['isSports'] = ObjectSerializer.serialize(isSports, "boolean"); - } - - if (excludeItemIds !== undefined) { - localVarQueryParameters['excludeItemIds'] = ObjectSerializer.serialize(excludeItemIds, "Array"); - } - - if (startIndex !== undefined) { - localVarQueryParameters['startIndex'] = ObjectSerializer.serialize(startIndex, "number"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (recursive !== undefined) { - localVarQueryParameters['recursive'] = ObjectSerializer.serialize(recursive, "boolean"); - } - - if (searchTerm !== undefined) { - localVarQueryParameters['searchTerm'] = ObjectSerializer.serialize(searchTerm, "string"); - } - - if (sortOrder !== undefined) { - localVarQueryParameters['sortOrder'] = ObjectSerializer.serialize(sortOrder, "Array"); - } - - if (parentId !== undefined) { - localVarQueryParameters['parentId'] = ObjectSerializer.serialize(parentId, "string"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (excludeItemTypes !== undefined) { - localVarQueryParameters['excludeItemTypes'] = ObjectSerializer.serialize(excludeItemTypes, "Array"); - } - - if (filters !== undefined) { - localVarQueryParameters['filters'] = ObjectSerializer.serialize(filters, "Array"); - } - - if (isFavorite !== undefined) { - localVarQueryParameters['isFavorite'] = ObjectSerializer.serialize(isFavorite, "boolean"); - } - - if (mediaTypes !== undefined) { - localVarQueryParameters['mediaTypes'] = ObjectSerializer.serialize(mediaTypes, "Array"); - } - - if (imageTypes !== undefined) { - localVarQueryParameters['imageTypes'] = ObjectSerializer.serialize(imageTypes, "Array"); - } - - if (sortBy !== undefined) { - localVarQueryParameters['sortBy'] = ObjectSerializer.serialize(sortBy, "Array"); - } - - if (isPlayed !== undefined) { - localVarQueryParameters['isPlayed'] = ObjectSerializer.serialize(isPlayed, "boolean"); - } - - if (genres !== undefined) { - localVarQueryParameters['genres'] = ObjectSerializer.serialize(genres, "Array"); - } - - if (officialRatings !== undefined) { - localVarQueryParameters['officialRatings'] = ObjectSerializer.serialize(officialRatings, "Array"); - } - - if (tags !== undefined) { - localVarQueryParameters['tags'] = ObjectSerializer.serialize(tags, "Array"); - } - - if (years !== undefined) { - localVarQueryParameters['years'] = ObjectSerializer.serialize(years, "Array"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - if (person !== undefined) { - localVarQueryParameters['person'] = ObjectSerializer.serialize(person, "string"); - } - - if (personIds !== undefined) { - localVarQueryParameters['personIds'] = ObjectSerializer.serialize(personIds, "Array"); - } - - if (personTypes !== undefined) { - localVarQueryParameters['personTypes'] = ObjectSerializer.serialize(personTypes, "Array"); - } - - if (studios !== undefined) { - localVarQueryParameters['studios'] = ObjectSerializer.serialize(studios, "Array"); - } - - if (artists !== undefined) { - localVarQueryParameters['artists'] = ObjectSerializer.serialize(artists, "Array"); - } - - if (excludeArtistIds !== undefined) { - localVarQueryParameters['excludeArtistIds'] = ObjectSerializer.serialize(excludeArtistIds, "Array"); - } - - if (artistIds !== undefined) { - localVarQueryParameters['artistIds'] = ObjectSerializer.serialize(artistIds, "Array"); - } - - if (albumArtistIds !== undefined) { - localVarQueryParameters['albumArtistIds'] = ObjectSerializer.serialize(albumArtistIds, "Array"); - } - - if (contributingArtistIds !== undefined) { - localVarQueryParameters['contributingArtistIds'] = ObjectSerializer.serialize(contributingArtistIds, "Array"); - } - - if (albums !== undefined) { - localVarQueryParameters['albums'] = ObjectSerializer.serialize(albums, "Array"); - } - - if (albumIds !== undefined) { - localVarQueryParameters['albumIds'] = ObjectSerializer.serialize(albumIds, "Array"); - } - - if (ids !== undefined) { - localVarQueryParameters['ids'] = ObjectSerializer.serialize(ids, "Array"); - } - - if (videoTypes !== undefined) { - localVarQueryParameters['videoTypes'] = ObjectSerializer.serialize(videoTypes, "Array"); - } - - if (minOfficialRating !== undefined) { - localVarQueryParameters['minOfficialRating'] = ObjectSerializer.serialize(minOfficialRating, "string"); - } - - if (isLocked !== undefined) { - localVarQueryParameters['isLocked'] = ObjectSerializer.serialize(isLocked, "boolean"); - } - - if (isPlaceHolder !== undefined) { - localVarQueryParameters['isPlaceHolder'] = ObjectSerializer.serialize(isPlaceHolder, "boolean"); - } - - if (hasOfficialRating !== undefined) { - localVarQueryParameters['hasOfficialRating'] = ObjectSerializer.serialize(hasOfficialRating, "boolean"); - } - - if (collapseBoxSetItems !== undefined) { - localVarQueryParameters['collapseBoxSetItems'] = ObjectSerializer.serialize(collapseBoxSetItems, "boolean"); - } - - if (minWidth !== undefined) { - localVarQueryParameters['minWidth'] = ObjectSerializer.serialize(minWidth, "number"); - } - - if (minHeight !== undefined) { - localVarQueryParameters['minHeight'] = ObjectSerializer.serialize(minHeight, "number"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (is3D !== undefined) { - localVarQueryParameters['is3D'] = ObjectSerializer.serialize(is3D, "boolean"); - } - - if (seriesStatus !== undefined) { - localVarQueryParameters['seriesStatus'] = ObjectSerializer.serialize(seriesStatus, "Array"); - } - - if (nameStartsWithOrGreater !== undefined) { - localVarQueryParameters['nameStartsWithOrGreater'] = ObjectSerializer.serialize(nameStartsWithOrGreater, "string"); - } - - if (nameStartsWith !== undefined) { - localVarQueryParameters['nameStartsWith'] = ObjectSerializer.serialize(nameStartsWith, "string"); - } - - if (nameLessThan !== undefined) { - localVarQueryParameters['nameLessThan'] = ObjectSerializer.serialize(nameLessThan, "string"); - } - - if (studioIds !== undefined) { - localVarQueryParameters['studioIds'] = ObjectSerializer.serialize(studioIds, "Array"); - } - - if (genreIds !== undefined) { - localVarQueryParameters['genreIds'] = ObjectSerializer.serialize(genreIds, "Array"); - } - - if (enableTotalRecordCount !== undefined) { - localVarQueryParameters['enableTotalRecordCount'] = ObjectSerializer.serialize(enableTotalRecordCount, "boolean"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/tvShowsApi.ts b/jellyfin/api/tvShowsApi.ts deleted file mode 100644 index a169ca6..0000000 --- a/jellyfin/api/tvShowsApi.ts +++ /dev/null @@ -1,599 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { BaseItemDtoQueryResult } from '../model/baseItemDtoQueryResult'; -import { ImageType } from '../model/imageType'; -import { ItemFields } from '../model/itemFields'; -import { ProblemDetails } from '../model/problemDetails'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum TvShowsApiApiKeys { - CustomAuthentication, -} - -export class TvShowsApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: TvShowsApiApiKeys, value: string) { - (this.authentications as any)[TvShowsApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Gets episodes for a tv season. - * @param seriesId The series id. - * @param userId The user id. - * @param fields Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls. - * @param season Optional filter by season number. - * @param seasonId Optional. Filter by season id. - * @param isMissing Optional. Filter by items that are missing episodes or not. - * @param adjacentTo Optional. Return items that are siblings of a supplied item. - * @param startItemId Optional. Skip through the list until a given item is found. - * @param startIndex Optional. The record index to start at. All items with a lower index will be dropped from the results. - * @param limit Optional. The maximum number of records to return. - * @param enableImages Optional, include image information in output. - * @param imageTypeLimit Optional, the max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - * @param enableUserData Optional. Include user data. - * @param sortBy Optional. Specify one or more sort orders, comma delimited. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime. - */ - public async getEpisodes (seriesId: string, userId?: string, fields?: Array, season?: number, seasonId?: string, isMissing?: boolean, adjacentTo?: string, startItemId?: string, startIndex?: number, limit?: number, enableImages?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, enableUserData?: boolean, sortBy?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Shows/{seriesId}/Episodes' - .replace('{' + 'seriesId' + '}', encodeURIComponent(String(seriesId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'seriesId' is not null or undefined - if (seriesId === null || seriesId === undefined) { - throw new Error('Required parameter seriesId was null or undefined when calling getEpisodes.'); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (season !== undefined) { - localVarQueryParameters['season'] = ObjectSerializer.serialize(season, "number"); - } - - if (seasonId !== undefined) { - localVarQueryParameters['seasonId'] = ObjectSerializer.serialize(seasonId, "string"); - } - - if (isMissing !== undefined) { - localVarQueryParameters['isMissing'] = ObjectSerializer.serialize(isMissing, "boolean"); - } - - if (adjacentTo !== undefined) { - localVarQueryParameters['adjacentTo'] = ObjectSerializer.serialize(adjacentTo, "string"); - } - - if (startItemId !== undefined) { - localVarQueryParameters['startItemId'] = ObjectSerializer.serialize(startItemId, "string"); - } - - if (startIndex !== undefined) { - localVarQueryParameters['startIndex'] = ObjectSerializer.serialize(startIndex, "number"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - if (sortBy !== undefined) { - localVarQueryParameters['sortBy'] = ObjectSerializer.serialize(sortBy, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a list of next up episodes. - * @param userId The user id of the user to get the next up episodes for. - * @param startIndex Optional. The record index to start at. All items with a lower index will be dropped from the results. - * @param limit Optional. The maximum number of records to return. - * @param fields Optional. Specify additional fields of information to return in the output. - * @param seriesId Optional. Filter by series id. - * @param parentId Optional. Specify this to localize the search to a specific item or folder. Omit to use the root. - * @param enableImages Optional. Include image information in output. - * @param imageTypeLimit Optional. The max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - * @param enableUserData Optional. Include user data. - * @param nextUpDateCutoff Optional. Starting date of shows to show in Next Up section. - * @param enableTotalRecordCount Whether to enable the total records count. Defaults to true. - * @param disableFirstEpisode Whether to disable sending the first episode in a series as next up. - * @param enableRewatching Whether to include watched episode in next up results. - */ - public async getNextUp (userId?: string, startIndex?: number, limit?: number, fields?: Array, seriesId?: string, parentId?: string, enableImages?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, enableUserData?: boolean, nextUpDateCutoff?: Date, enableTotalRecordCount?: boolean, disableFirstEpisode?: boolean, enableRewatching?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Shows/NextUp'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (startIndex !== undefined) { - localVarQueryParameters['startIndex'] = ObjectSerializer.serialize(startIndex, "number"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (seriesId !== undefined) { - localVarQueryParameters['seriesId'] = ObjectSerializer.serialize(seriesId, "string"); - } - - if (parentId !== undefined) { - localVarQueryParameters['parentId'] = ObjectSerializer.serialize(parentId, "string"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - if (nextUpDateCutoff !== undefined) { - localVarQueryParameters['nextUpDateCutoff'] = ObjectSerializer.serialize(nextUpDateCutoff, "Date"); - } - - if (enableTotalRecordCount !== undefined) { - localVarQueryParameters['enableTotalRecordCount'] = ObjectSerializer.serialize(enableTotalRecordCount, "boolean"); - } - - if (disableFirstEpisode !== undefined) { - localVarQueryParameters['disableFirstEpisode'] = ObjectSerializer.serialize(disableFirstEpisode, "boolean"); - } - - if (enableRewatching !== undefined) { - localVarQueryParameters['enableRewatching'] = ObjectSerializer.serialize(enableRewatching, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets seasons for a tv series. - * @param seriesId The series id. - * @param userId The user id. - * @param fields Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines, TrailerUrls. - * @param isSpecialSeason Optional. Filter by special season. - * @param isMissing Optional. Filter by items that are missing episodes or not. - * @param adjacentTo Optional. Return items that are siblings of a supplied item. - * @param enableImages Optional. Include image information in output. - * @param imageTypeLimit Optional. The max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - * @param enableUserData Optional. Include user data. - */ - public async getSeasons (seriesId: string, userId?: string, fields?: Array, isSpecialSeason?: boolean, isMissing?: boolean, adjacentTo?: string, enableImages?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, enableUserData?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Shows/{seriesId}/Seasons' - .replace('{' + 'seriesId' + '}', encodeURIComponent(String(seriesId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'seriesId' is not null or undefined - if (seriesId === null || seriesId === undefined) { - throw new Error('Required parameter seriesId was null or undefined when calling getSeasons.'); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (isSpecialSeason !== undefined) { - localVarQueryParameters['isSpecialSeason'] = ObjectSerializer.serialize(isSpecialSeason, "boolean"); - } - - if (isMissing !== undefined) { - localVarQueryParameters['isMissing'] = ObjectSerializer.serialize(isMissing, "boolean"); - } - - if (adjacentTo !== undefined) { - localVarQueryParameters['adjacentTo'] = ObjectSerializer.serialize(adjacentTo, "string"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a list of upcoming episodes. - * @param userId The user id of the user to get the upcoming episodes for. - * @param startIndex Optional. The record index to start at. All items with a lower index will be dropped from the results. - * @param limit Optional. The maximum number of records to return. - * @param fields Optional. Specify additional fields of information to return in the output. - * @param parentId Optional. Specify this to localize the search to a specific item or folder. Omit to use the root. - * @param enableImages Optional. Include image information in output. - * @param imageTypeLimit Optional. The max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - * @param enableUserData Optional. Include user data. - */ - public async getUpcomingEpisodes (userId?: string, startIndex?: number, limit?: number, fields?: Array, parentId?: string, enableImages?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, enableUserData?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Shows/Upcoming'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (startIndex !== undefined) { - localVarQueryParameters['startIndex'] = ObjectSerializer.serialize(startIndex, "number"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (parentId !== undefined) { - localVarQueryParameters['parentId'] = ObjectSerializer.serialize(parentId, "string"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/universalAudioApi.ts b/jellyfin/api/universalAudioApi.ts deleted file mode 100644 index 1030466..0000000 --- a/jellyfin/api/universalAudioApi.ts +++ /dev/null @@ -1,405 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum UniversalAudioApiApiKeys { - CustomAuthentication, -} - -export class UniversalAudioApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: UniversalAudioApiApiKeys, value: string) { - (this.authentications as any)[UniversalAudioApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Gets an audio stream. - * @param itemId The item id. - * @param container Optional. The audio container. - * @param mediaSourceId The media version id, if playing an alternate version. - * @param deviceId The device id of the client requesting. Used to stop encoding processes when needed. - * @param userId Optional. The user id. - * @param audioCodec Optional. The audio codec to transcode to. - * @param maxAudioChannels Optional. The maximum number of audio channels. - * @param transcodingAudioChannels Optional. The number of how many audio channels to transcode to. - * @param maxStreamingBitrate Optional. The maximum streaming bitrate. - * @param audioBitRate Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. - * @param startTimeTicks Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. - * @param transcodingContainer Optional. The container to transcode to. - * @param transcodingProtocol Optional. The transcoding protocol. - * @param maxAudioSampleRate Optional. The maximum audio sample rate. - * @param maxAudioBitDepth Optional. The maximum audio bit depth. - * @param enableRemoteMedia Optional. Whether to enable remote media. - * @param breakOnNonKeyFrames Optional. Whether to break on non key frames. - * @param enableRedirection Whether to enable redirection. Defaults to true. - */ - public async getUniversalAudioStream (itemId: string, container?: Array, mediaSourceId?: string, deviceId?: string, userId?: string, audioCodec?: string, maxAudioChannels?: number, transcodingAudioChannels?: number, maxStreamingBitrate?: number, audioBitRate?: number, startTimeTicks?: number, transcodingContainer?: string, transcodingProtocol?: string, maxAudioSampleRate?: number, maxAudioBitDepth?: number, enableRemoteMedia?: boolean, breakOnNonKeyFrames?: boolean, enableRedirection?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Audio/{itemId}/universal' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['audio/*']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getUniversalAudioStream.'); - } - - if (container !== undefined) { - localVarQueryParameters['container'] = ObjectSerializer.serialize(container, "Array"); - } - - if (mediaSourceId !== undefined) { - localVarQueryParameters['mediaSourceId'] = ObjectSerializer.serialize(mediaSourceId, "string"); - } - - if (deviceId !== undefined) { - localVarQueryParameters['deviceId'] = ObjectSerializer.serialize(deviceId, "string"); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (audioCodec !== undefined) { - localVarQueryParameters['audioCodec'] = ObjectSerializer.serialize(audioCodec, "string"); - } - - if (maxAudioChannels !== undefined) { - localVarQueryParameters['maxAudioChannels'] = ObjectSerializer.serialize(maxAudioChannels, "number"); - } - - if (transcodingAudioChannels !== undefined) { - localVarQueryParameters['transcodingAudioChannels'] = ObjectSerializer.serialize(transcodingAudioChannels, "number"); - } - - if (maxStreamingBitrate !== undefined) { - localVarQueryParameters['maxStreamingBitrate'] = ObjectSerializer.serialize(maxStreamingBitrate, "number"); - } - - if (audioBitRate !== undefined) { - localVarQueryParameters['audioBitRate'] = ObjectSerializer.serialize(audioBitRate, "number"); - } - - if (startTimeTicks !== undefined) { - localVarQueryParameters['startTimeTicks'] = ObjectSerializer.serialize(startTimeTicks, "number"); - } - - if (transcodingContainer !== undefined) { - localVarQueryParameters['transcodingContainer'] = ObjectSerializer.serialize(transcodingContainer, "string"); - } - - if (transcodingProtocol !== undefined) { - localVarQueryParameters['transcodingProtocol'] = ObjectSerializer.serialize(transcodingProtocol, "string"); - } - - if (maxAudioSampleRate !== undefined) { - localVarQueryParameters['maxAudioSampleRate'] = ObjectSerializer.serialize(maxAudioSampleRate, "number"); - } - - if (maxAudioBitDepth !== undefined) { - localVarQueryParameters['maxAudioBitDepth'] = ObjectSerializer.serialize(maxAudioBitDepth, "number"); - } - - if (enableRemoteMedia !== undefined) { - localVarQueryParameters['enableRemoteMedia'] = ObjectSerializer.serialize(enableRemoteMedia, "boolean"); - } - - if (breakOnNonKeyFrames !== undefined) { - localVarQueryParameters['breakOnNonKeyFrames'] = ObjectSerializer.serialize(breakOnNonKeyFrames, "boolean"); - } - - if (enableRedirection !== undefined) { - localVarQueryParameters['enableRedirection'] = ObjectSerializer.serialize(enableRedirection, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets an audio stream. - * @param itemId The item id. - * @param container Optional. The audio container. - * @param mediaSourceId The media version id, if playing an alternate version. - * @param deviceId The device id of the client requesting. Used to stop encoding processes when needed. - * @param userId Optional. The user id. - * @param audioCodec Optional. The audio codec to transcode to. - * @param maxAudioChannels Optional. The maximum number of audio channels. - * @param transcodingAudioChannels Optional. The number of how many audio channels to transcode to. - * @param maxStreamingBitrate Optional. The maximum streaming bitrate. - * @param audioBitRate Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. - * @param startTimeTicks Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. - * @param transcodingContainer Optional. The container to transcode to. - * @param transcodingProtocol Optional. The transcoding protocol. - * @param maxAudioSampleRate Optional. The maximum audio sample rate. - * @param maxAudioBitDepth Optional. The maximum audio bit depth. - * @param enableRemoteMedia Optional. Whether to enable remote media. - * @param breakOnNonKeyFrames Optional. Whether to break on non key frames. - * @param enableRedirection Whether to enable redirection. Defaults to true. - */ - public async headUniversalAudioStream (itemId: string, container?: Array, mediaSourceId?: string, deviceId?: string, userId?: string, audioCodec?: string, maxAudioChannels?: number, transcodingAudioChannels?: number, maxStreamingBitrate?: number, audioBitRate?: number, startTimeTicks?: number, transcodingContainer?: string, transcodingProtocol?: string, maxAudioSampleRate?: number, maxAudioBitDepth?: number, enableRemoteMedia?: boolean, breakOnNonKeyFrames?: boolean, enableRedirection?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Audio/{itemId}/universal' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['audio/*']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling headUniversalAudioStream.'); - } - - if (container !== undefined) { - localVarQueryParameters['container'] = ObjectSerializer.serialize(container, "Array"); - } - - if (mediaSourceId !== undefined) { - localVarQueryParameters['mediaSourceId'] = ObjectSerializer.serialize(mediaSourceId, "string"); - } - - if (deviceId !== undefined) { - localVarQueryParameters['deviceId'] = ObjectSerializer.serialize(deviceId, "string"); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (audioCodec !== undefined) { - localVarQueryParameters['audioCodec'] = ObjectSerializer.serialize(audioCodec, "string"); - } - - if (maxAudioChannels !== undefined) { - localVarQueryParameters['maxAudioChannels'] = ObjectSerializer.serialize(maxAudioChannels, "number"); - } - - if (transcodingAudioChannels !== undefined) { - localVarQueryParameters['transcodingAudioChannels'] = ObjectSerializer.serialize(transcodingAudioChannels, "number"); - } - - if (maxStreamingBitrate !== undefined) { - localVarQueryParameters['maxStreamingBitrate'] = ObjectSerializer.serialize(maxStreamingBitrate, "number"); - } - - if (audioBitRate !== undefined) { - localVarQueryParameters['audioBitRate'] = ObjectSerializer.serialize(audioBitRate, "number"); - } - - if (startTimeTicks !== undefined) { - localVarQueryParameters['startTimeTicks'] = ObjectSerializer.serialize(startTimeTicks, "number"); - } - - if (transcodingContainer !== undefined) { - localVarQueryParameters['transcodingContainer'] = ObjectSerializer.serialize(transcodingContainer, "string"); - } - - if (transcodingProtocol !== undefined) { - localVarQueryParameters['transcodingProtocol'] = ObjectSerializer.serialize(transcodingProtocol, "string"); - } - - if (maxAudioSampleRate !== undefined) { - localVarQueryParameters['maxAudioSampleRate'] = ObjectSerializer.serialize(maxAudioSampleRate, "number"); - } - - if (maxAudioBitDepth !== undefined) { - localVarQueryParameters['maxAudioBitDepth'] = ObjectSerializer.serialize(maxAudioBitDepth, "number"); - } - - if (enableRemoteMedia !== undefined) { - localVarQueryParameters['enableRemoteMedia'] = ObjectSerializer.serialize(enableRemoteMedia, "boolean"); - } - - if (breakOnNonKeyFrames !== undefined) { - localVarQueryParameters['breakOnNonKeyFrames'] = ObjectSerializer.serialize(breakOnNonKeyFrames, "boolean"); - } - - if (enableRedirection !== undefined) { - localVarQueryParameters['enableRedirection'] = ObjectSerializer.serialize(enableRedirection, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'HEAD', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/userApi.ts b/jellyfin/api/userApi.ts deleted file mode 100644 index 9da7f7c..0000000 --- a/jellyfin/api/userApi.ts +++ /dev/null @@ -1,1273 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { AuthenticateUserByNameRequest } from '../model/authenticateUserByNameRequest'; -import { AuthenticateWithQuickConnectRequest } from '../model/authenticateWithQuickConnectRequest'; -import { AuthenticationResult } from '../model/authenticationResult'; -import { CreateUserByNameRequest } from '../model/createUserByNameRequest'; -import { ForgotPasswordPinRequest } from '../model/forgotPasswordPinRequest'; -import { ForgotPasswordRequest } from '../model/forgotPasswordRequest'; -import { ForgotPasswordResult } from '../model/forgotPasswordResult'; -import { PinRedeemResult } from '../model/pinRedeemResult'; -import { ProblemDetails } from '../model/problemDetails'; -import { UpdateUserConfigurationRequest } from '../model/updateUserConfigurationRequest'; -import { UpdateUserEasyPasswordRequest } from '../model/updateUserEasyPasswordRequest'; -import { UpdateUserPasswordRequest } from '../model/updateUserPasswordRequest'; -import { UpdateUserPolicyRequest } from '../model/updateUserPolicyRequest'; -import { UpdateUserRequest } from '../model/updateUserRequest'; -import { UserDto } from '../model/userDto'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum UserApiApiKeys { - CustomAuthentication, -} - -export class UserApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: UserApiApiKeys, value: string) { - (this.authentications as any)[UserApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Authenticates a user. - * @param userId The user id. - * @param pw The password as plain text. - * @param password The password sha1-hash. - */ - public async authenticateUser (userId: string, pw: string, password?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: AuthenticationResult; }> { - const localVarPath = this.basePath + '/Users/{userId}/Authenticate' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling authenticateUser.'); - } - - // verify required parameter 'pw' is not null or undefined - if (pw === null || pw === undefined) { - throw new Error('Required parameter pw was null or undefined when calling authenticateUser.'); - } - - if (pw !== undefined) { - localVarQueryParameters['pw'] = ObjectSerializer.serialize(pw, "string"); - } - - if (password !== undefined) { - localVarQueryParameters['password'] = ObjectSerializer.serialize(password, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: AuthenticationResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "AuthenticationResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Authenticates a user by name. - * @param authenticateUserByNameRequest The M:Jellyfin.Api.Controllers.UserController.AuthenticateUserByName(Jellyfin.Api.Models.UserDtos.AuthenticateUserByName) request. - */ - public async authenticateUserByName (authenticateUserByNameRequest: AuthenticateUserByNameRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: AuthenticationResult; }> { - const localVarPath = this.basePath + '/Users/AuthenticateByName'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'authenticateUserByNameRequest' is not null or undefined - if (authenticateUserByNameRequest === null || authenticateUserByNameRequest === undefined) { - throw new Error('Required parameter authenticateUserByNameRequest was null or undefined when calling authenticateUserByName.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(authenticateUserByNameRequest, "AuthenticateUserByNameRequest") - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: AuthenticationResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "AuthenticationResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Authenticates a user with quick connect. - * @param authenticateWithQuickConnectRequest The Jellyfin.Api.Models.UserDtos.QuickConnectDto request. - */ - public async authenticateWithQuickConnect (authenticateWithQuickConnectRequest: AuthenticateWithQuickConnectRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: AuthenticationResult; }> { - const localVarPath = this.basePath + '/Users/AuthenticateWithQuickConnect'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'authenticateWithQuickConnectRequest' is not null or undefined - if (authenticateWithQuickConnectRequest === null || authenticateWithQuickConnectRequest === undefined) { - throw new Error('Required parameter authenticateWithQuickConnectRequest was null or undefined when calling authenticateWithQuickConnect.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(authenticateWithQuickConnectRequest, "AuthenticateWithQuickConnectRequest") - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: AuthenticationResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "AuthenticationResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Creates a user. - * @param createUserByNameRequest The create user by name request body. - */ - public async createUserByName (createUserByNameRequest: CreateUserByNameRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: UserDto; }> { - const localVarPath = this.basePath + '/Users/New'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'createUserByNameRequest' is not null or undefined - if (createUserByNameRequest === null || createUserByNameRequest === undefined) { - throw new Error('Required parameter createUserByNameRequest was null or undefined when calling createUserByName.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(createUserByNameRequest, "CreateUserByNameRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: UserDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "UserDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Deletes a user. - * @param userId The user id. - */ - public async deleteUser (userId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Users/{userId}' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling deleteUser.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Initiates the forgot password process for a local user. - * @param forgotPasswordRequest The forgot password request containing the entered username. - */ - public async forgotPassword (forgotPasswordRequest: ForgotPasswordRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: ForgotPasswordResult; }> { - const localVarPath = this.basePath + '/Users/ForgotPassword'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'forgotPasswordRequest' is not null or undefined - if (forgotPasswordRequest === null || forgotPasswordRequest === undefined) { - throw new Error('Required parameter forgotPasswordRequest was null or undefined when calling forgotPassword.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(forgotPasswordRequest, "ForgotPasswordRequest") - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: ForgotPasswordResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "ForgotPasswordResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Redeems a forgot password pin. - * @param forgotPasswordPinRequest The forgot password pin request containing the entered pin. - */ - public async forgotPasswordPin (forgotPasswordPinRequest: ForgotPasswordPinRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: PinRedeemResult; }> { - const localVarPath = this.basePath + '/Users/ForgotPassword/Pin'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'forgotPasswordPinRequest' is not null or undefined - if (forgotPasswordPinRequest === null || forgotPasswordPinRequest === undefined) { - throw new Error('Required parameter forgotPasswordPinRequest was null or undefined when calling forgotPasswordPin.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(forgotPasswordPinRequest, "ForgotPasswordPinRequest") - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: PinRedeemResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "PinRedeemResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets the user based on auth token. - */ - public async getCurrentUser (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: UserDto; }> { - const localVarPath = this.basePath + '/Users/Me'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: UserDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "UserDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a list of publicly visible users for display on a login screen. - */ - public async getPublicUsers (options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Users/Public'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a user by Id. - * @param userId The user id. - */ - public async getUserById (userId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: UserDto; }> { - const localVarPath = this.basePath + '/Users/{userId}' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling getUserById.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: UserDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "UserDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a list of users. - * @param isHidden Optional filter by IsHidden=true or false. - * @param isDisabled Optional filter by IsDisabled=true or false. - */ - public async getUsers (isHidden?: boolean, isDisabled?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Users'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (isHidden !== undefined) { - localVarQueryParameters['isHidden'] = ObjectSerializer.serialize(isHidden, "boolean"); - } - - if (isDisabled !== undefined) { - localVarQueryParameters['isDisabled'] = ObjectSerializer.serialize(isDisabled, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Updates a user. - * @param userId The user id. - * @param updateUserRequest The updated user model. - */ - public async updateUser (userId: string, updateUserRequest: UpdateUserRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Users/{userId}' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling updateUser.'); - } - - // verify required parameter 'updateUserRequest' is not null or undefined - if (updateUserRequest === null || updateUserRequest === undefined) { - throw new Error('Required parameter updateUserRequest was null or undefined when calling updateUser.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(updateUserRequest, "UpdateUserRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Updates a user configuration. - * @param userId The user id. - * @param updateUserConfigurationRequest The new user configuration. - */ - public async updateUserConfiguration (userId: string, updateUserConfigurationRequest: UpdateUserConfigurationRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Users/{userId}/Configuration' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling updateUserConfiguration.'); - } - - // verify required parameter 'updateUserConfigurationRequest' is not null or undefined - if (updateUserConfigurationRequest === null || updateUserConfigurationRequest === undefined) { - throw new Error('Required parameter updateUserConfigurationRequest was null or undefined when calling updateUserConfiguration.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(updateUserConfigurationRequest, "UpdateUserConfigurationRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Updates a user\'s easy password. - * @param userId The user id. - * @param updateUserEasyPasswordRequest The M:Jellyfin.Api.Controllers.UserController.UpdateUserEasyPassword(System.Guid,Jellyfin.Api.Models.UserDtos.UpdateUserEasyPassword) request. - */ - public async updateUserEasyPassword (userId: string, updateUserEasyPasswordRequest: UpdateUserEasyPasswordRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Users/{userId}/EasyPassword' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling updateUserEasyPassword.'); - } - - // verify required parameter 'updateUserEasyPasswordRequest' is not null or undefined - if (updateUserEasyPasswordRequest === null || updateUserEasyPasswordRequest === undefined) { - throw new Error('Required parameter updateUserEasyPasswordRequest was null or undefined when calling updateUserEasyPassword.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(updateUserEasyPasswordRequest, "UpdateUserEasyPasswordRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Updates a user\'s password. - * @param userId The user id. - * @param updateUserPasswordRequest The M:Jellyfin.Api.Controllers.UserController.UpdateUserPassword(System.Guid,Jellyfin.Api.Models.UserDtos.UpdateUserPassword) request. - */ - public async updateUserPassword (userId: string, updateUserPasswordRequest: UpdateUserPasswordRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Users/{userId}/Password' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling updateUserPassword.'); - } - - // verify required parameter 'updateUserPasswordRequest' is not null or undefined - if (updateUserPasswordRequest === null || updateUserPasswordRequest === undefined) { - throw new Error('Required parameter updateUserPasswordRequest was null or undefined when calling updateUserPassword.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(updateUserPasswordRequest, "UpdateUserPasswordRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Updates a user policy. - * @param userId The user id. - * @param updateUserPolicyRequest The new user policy. - */ - public async updateUserPolicy (userId: string, updateUserPolicyRequest: UpdateUserPolicyRequest, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Users/{userId}/Policy' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling updateUserPolicy.'); - } - - // verify required parameter 'updateUserPolicyRequest' is not null or undefined - if (updateUserPolicyRequest === null || updateUserPolicyRequest === undefined) { - throw new Error('Required parameter updateUserPolicyRequest was null or undefined when calling updateUserPolicy.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - body: ObjectSerializer.serialize(updateUserPolicyRequest, "UpdateUserPolicyRequest") - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/userLibraryApi.ts b/jellyfin/api/userLibraryApi.ts deleted file mode 100644 index 4b3be9d..0000000 --- a/jellyfin/api/userLibraryApi.ts +++ /dev/null @@ -1,928 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { BaseItemDto } from '../model/baseItemDto'; -import { BaseItemDtoQueryResult } from '../model/baseItemDtoQueryResult'; -import { BaseItemKind } from '../model/baseItemKind'; -import { ImageType } from '../model/imageType'; -import { ItemFields } from '../model/itemFields'; -import { UserItemDataDto } from '../model/userItemDataDto'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum UserLibraryApiApiKeys { - CustomAuthentication, -} - -export class UserLibraryApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: UserLibraryApiApiKeys, value: string) { - (this.authentications as any)[UserLibraryApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Deletes a user\'s saved personal rating for an item. - * @param userId User id. - * @param itemId Item id. - */ - public async deleteUserItemRating (userId: string, itemId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: UserItemDataDto; }> { - const localVarPath = this.basePath + '/Users/{userId}/Items/{itemId}/Rating' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))) - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling deleteUserItemRating.'); - } - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling deleteUserItemRating.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: UserItemDataDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "UserItemDataDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets intros to play before the main media item plays. - * @param userId User id. - * @param itemId Item id. - */ - public async getIntros (userId: string, itemId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Users/{userId}/Items/{itemId}/Intros' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))) - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling getIntros.'); - } - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getIntros.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets an item from a user\'s library. - * @param userId User id. - * @param itemId Item id. - */ - public async getItem (userId: string, itemId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDto; }> { - const localVarPath = this.basePath + '/Users/{userId}/Items/{itemId}' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))) - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling getItem.'); - } - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getItem.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets latest media. - * @param userId User id. - * @param parentId Specify this to localize the search to a specific item or folder. Omit to use the root. - * @param fields Optional. Specify additional fields of information to return in the output. - * @param includeItemTypes Optional. If specified, results will be filtered based on item type. This allows multiple, comma delimited. - * @param isPlayed Filter by items that are played, or not. - * @param enableImages Optional. include image information in output. - * @param imageTypeLimit Optional. the max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - * @param enableUserData Optional. include user data. - * @param limit Return item limit. - * @param groupItems Whether or not to group items into a parent container. - */ - public async getLatestMedia (userId: string, parentId?: string, fields?: Array, includeItemTypes?: Array, isPlayed?: boolean, enableImages?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, enableUserData?: boolean, limit?: number, groupItems?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Users/{userId}/Items/Latest' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling getLatestMedia.'); - } - - if (parentId !== undefined) { - localVarQueryParameters['parentId'] = ObjectSerializer.serialize(parentId, "string"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (includeItemTypes !== undefined) { - localVarQueryParameters['includeItemTypes'] = ObjectSerializer.serialize(includeItemTypes, "Array"); - } - - if (isPlayed !== undefined) { - localVarQueryParameters['isPlayed'] = ObjectSerializer.serialize(isPlayed, "boolean"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (groupItems !== undefined) { - localVarQueryParameters['groupItems'] = ObjectSerializer.serialize(groupItems, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets local trailers for an item. - * @param userId User id. - * @param itemId Item id. - */ - public async getLocalTrailers (userId: string, itemId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Users/{userId}/Items/{itemId}/LocalTrailers' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))) - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling getLocalTrailers.'); - } - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getLocalTrailers.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets the root folder from a user\'s library. - * @param userId User id. - */ - public async getRootFolder (userId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDto; }> { - const localVarPath = this.basePath + '/Users/{userId}/Items/Root' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling getRootFolder.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets special features for an item. - * @param userId User id. - * @param itemId Item id. - */ - public async getSpecialFeatures (userId: string, itemId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Users/{userId}/Items/{itemId}/SpecialFeatures' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))) - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling getSpecialFeatures.'); - } - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getSpecialFeatures.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Marks an item as a favorite. - * @param userId User id. - * @param itemId Item id. - */ - public async markFavoriteItem (userId: string, itemId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: UserItemDataDto; }> { - const localVarPath = this.basePath + '/Users/{userId}/FavoriteItems/{itemId}' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))) - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling markFavoriteItem.'); - } - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling markFavoriteItem.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: UserItemDataDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "UserItemDataDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Unmarks item as a favorite. - * @param userId User id. - * @param itemId Item id. - */ - public async unmarkFavoriteItem (userId: string, itemId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: UserItemDataDto; }> { - const localVarPath = this.basePath + '/Users/{userId}/FavoriteItems/{itemId}' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))) - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling unmarkFavoriteItem.'); - } - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling unmarkFavoriteItem.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: UserItemDataDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "UserItemDataDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Updates a user\'s rating for an item. - * @param userId User id. - * @param itemId Item id. - * @param likes Whether this M:Jellyfin.Api.Controllers.UserLibraryController.UpdateUserItemRating(System.Guid,System.Guid,System.Nullable{System.Boolean}) is likes. - */ - public async updateUserItemRating (userId: string, itemId: string, likes?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: UserItemDataDto; }> { - const localVarPath = this.basePath + '/Users/{userId}/Items/{itemId}/Rating' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))) - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling updateUserItemRating.'); - } - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling updateUserItemRating.'); - } - - if (likes !== undefined) { - localVarQueryParameters['likes'] = ObjectSerializer.serialize(likes, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: UserItemDataDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "UserItemDataDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/userViewsApi.ts b/jellyfin/api/userViewsApi.ts deleted file mode 100644 index a92c5dc..0000000 --- a/jellyfin/api/userViewsApi.ts +++ /dev/null @@ -1,253 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { BaseItemDtoQueryResult } from '../model/baseItemDtoQueryResult'; -import { ProblemDetails } from '../model/problemDetails'; -import { SpecialViewOptionDto } from '../model/specialViewOptionDto'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum UserViewsApiApiKeys { - CustomAuthentication, -} - -export class UserViewsApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: UserViewsApiApiKeys, value: string) { - (this.authentications as any)[UserViewsApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Get user view grouping options. - * @param userId User id. - */ - public async getGroupingOptions (userId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Array; }> { - const localVarPath = this.basePath + '/Users/{userId}/GroupingOptions' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling getGroupingOptions.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Array; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Array"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get user views. - * @param userId User id. - * @param includeExternalContent Whether or not to include external views such as channels or live tv. - * @param presetViews Preset views. - * @param includeHidden Whether or not to include hidden content. - */ - public async getUserViews (userId: string, includeExternalContent?: boolean, presetViews?: Array, includeHidden?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Users/{userId}/Views' - .replace('{' + 'userId' + '}', encodeURIComponent(String(userId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'userId' is not null or undefined - if (userId === null || userId === undefined) { - throw new Error('Required parameter userId was null or undefined when calling getUserViews.'); - } - - if (includeExternalContent !== undefined) { - localVarQueryParameters['includeExternalContent'] = ObjectSerializer.serialize(includeExternalContent, "boolean"); - } - - if (presetViews !== undefined) { - localVarQueryParameters['presetViews'] = ObjectSerializer.serialize(presetViews, "Array"); - } - - if (includeHidden !== undefined) { - localVarQueryParameters['includeHidden'] = ObjectSerializer.serialize(includeHidden, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/videoAttachmentsApi.ts b/jellyfin/api/videoAttachmentsApi.ts deleted file mode 100644 index 29dfe48..0000000 --- a/jellyfin/api/videoAttachmentsApi.ts +++ /dev/null @@ -1,175 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { ProblemDetails } from '../model/problemDetails'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum VideoAttachmentsApiApiKeys { - CustomAuthentication, -} - -export class VideoAttachmentsApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: VideoAttachmentsApiApiKeys, value: string) { - (this.authentications as any)[VideoAttachmentsApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Get video attachment. - * @param videoId Video ID. - * @param mediaSourceId Media Source ID. - * @param index Attachment Index. - */ - public async getAttachment (videoId: string, mediaSourceId: string, index: number, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Videos/{videoId}/{mediaSourceId}/Attachments/{index}' - .replace('{' + 'videoId' + '}', encodeURIComponent(String(videoId))) - .replace('{' + 'mediaSourceId' + '}', encodeURIComponent(String(mediaSourceId))) - .replace('{' + 'index' + '}', encodeURIComponent(String(index))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/octet-stream', 'application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'videoId' is not null or undefined - if (videoId === null || videoId === undefined) { - throw new Error('Required parameter videoId was null or undefined when calling getAttachment.'); - } - - // verify required parameter 'mediaSourceId' is not null or undefined - if (mediaSourceId === null || mediaSourceId === undefined) { - throw new Error('Required parameter mediaSourceId was null or undefined when calling getAttachment.'); - } - - // verify required parameter 'index' is not null or undefined - if (index === null || index === undefined) { - throw new Error('Required parameter index was null or undefined when calling getAttachment.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/videosApi.ts b/jellyfin/api/videosApi.ts deleted file mode 100644 index 55dbf58..0000000 --- a/jellyfin/api/videosApi.ts +++ /dev/null @@ -1,1597 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { BaseItemDtoQueryResult } from '../model/baseItemDtoQueryResult'; -import { EncodingContext } from '../model/encodingContext'; -import { ProblemDetails } from '../model/problemDetails'; -import { SubtitleDeliveryMethod } from '../model/subtitleDeliveryMethod'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum VideosApiApiKeys { - CustomAuthentication, -} - -export class VideosApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: VideosApiApiKeys, value: string) { - (this.authentications as any)[VideosApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Removes alternate video sources. - * @param itemId The item id. - */ - public async deleteAlternateSources (itemId: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Videos/{itemId}/AlternateSources' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling deleteAlternateSources.'); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'DELETE', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets additional parts for a video. - * @param itemId The item id. - * @param userId Optional. Filter by user id, and attach user data. - */ - public async getAdditionalPart (itemId: string, userId?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Videos/{itemId}/AdditionalParts' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getAdditionalPart.'); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a video stream. - * @param itemId The item id. - * @param container The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv. - * @param _static Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. - * @param params The streaming parameters. - * @param tag The tag. - * @param deviceProfileId Optional. The dlna device profile id to utilize. - * @param playSessionId The play session id. - * @param segmentContainer The segment container. - * @param segmentLength The segment length. - * @param minSegments The minimum number of segments. - * @param mediaSourceId The media version id, if playing an alternate version. - * @param deviceId The device id of the client requesting. Used to stop encoding processes when needed. - * @param audioCodec Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url\'s extension. Options: aac, mp3, vorbis, wma. - * @param enableAutoStreamCopy Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. - * @param allowVideoStreamCopy Whether or not to allow copying of the video stream url. - * @param allowAudioStreamCopy Whether or not to allow copying of the audio stream url. - * @param breakOnNonKeyFrames Optional. Whether to break on non key frames. - * @param audioSampleRate Optional. Specify a specific audio sample rate, e.g. 44100. - * @param maxAudioBitDepth Optional. The maximum audio bit depth. - * @param audioBitRate Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. - * @param audioChannels Optional. Specify a specific number of audio channels to encode to, e.g. 2. - * @param maxAudioChannels Optional. Specify a maximum number of audio channels to encode to, e.g. 2. - * @param profile Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. - * @param level Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. - * @param framerate Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param maxFramerate Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param copyTimestamps Whether or not to copy timestamps when transcoding with an offset. Defaults to false. - * @param startTimeTicks Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. - * @param width Optional. The fixed horizontal resolution of the encoded video. - * @param height Optional. The fixed vertical resolution of the encoded video. - * @param maxWidth Optional. The maximum horizontal resolution of the encoded video. - * @param maxHeight Optional. The maximum vertical resolution of the encoded video. - * @param videoBitRate Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. - * @param subtitleStreamIndex Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. - * @param subtitleMethod Optional. Specify the subtitle delivery method. - * @param maxRefFrames Optional. - * @param maxVideoBitDepth Optional. The maximum video bit depth. - * @param requireAvc Optional. Whether to require avc. - * @param deInterlace Optional. Whether to deinterlace the video. - * @param requireNonAnamorphic Optional. Whether to require a non anamorphic stream. - * @param transcodingMaxAudioChannels Optional. The maximum number of audio channels to transcode. - * @param cpuCoreLimit Optional. The limit of how many cpu cores to use. - * @param liveStreamId The live stream id. - * @param enableMpegtsM2TsMode Optional. Whether to enable the MpegtsM2Ts mode. - * @param videoCodec Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url\'s extension. Options: h265, h264, mpeg4, theora, vp8, vp9, vpx (deprecated), wmv. - * @param subtitleCodec Optional. Specify a subtitle codec to encode to. - * @param transcodeReasons Optional. The transcoding reason. - * @param audioStreamIndex Optional. The index of the audio stream to use. If omitted the first audio stream will be used. - * @param videoStreamIndex Optional. The index of the video stream to use. If omitted the first video stream will be used. - * @param context Optional. The MediaBrowser.Model.Dlna.EncodingContext. - * @param streamOptions Optional. The streaming options. - */ - public async getVideoStream (itemId: string, container?: string, _static?: boolean, params?: string, tag?: string, deviceProfileId?: string, playSessionId?: string, segmentContainer?: string, segmentLength?: number, minSegments?: number, mediaSourceId?: string, deviceId?: string, audioCodec?: string, enableAutoStreamCopy?: boolean, allowVideoStreamCopy?: boolean, allowAudioStreamCopy?: boolean, breakOnNonKeyFrames?: boolean, audioSampleRate?: number, maxAudioBitDepth?: number, audioBitRate?: number, audioChannels?: number, maxAudioChannels?: number, profile?: string, level?: string, framerate?: number, maxFramerate?: number, copyTimestamps?: boolean, startTimeTicks?: number, width?: number, height?: number, maxWidth?: number, maxHeight?: number, videoBitRate?: number, subtitleStreamIndex?: number, subtitleMethod?: SubtitleDeliveryMethod, maxRefFrames?: number, maxVideoBitDepth?: number, requireAvc?: boolean, deInterlace?: boolean, requireNonAnamorphic?: boolean, transcodingMaxAudioChannels?: number, cpuCoreLimit?: number, liveStreamId?: string, enableMpegtsM2TsMode?: boolean, videoCodec?: string, subtitleCodec?: string, transcodeReasons?: string, audioStreamIndex?: number, videoStreamIndex?: number, context?: EncodingContext, streamOptions?: { [key: string]: string; }, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Videos/{itemId}/stream' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['video/*']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getVideoStream.'); - } - - if (container !== undefined) { - localVarQueryParameters['container'] = ObjectSerializer.serialize(container, "string"); - } - - if (_static !== undefined) { - localVarQueryParameters['static'] = ObjectSerializer.serialize(_static, "boolean"); - } - - if (params !== undefined) { - localVarQueryParameters['params'] = ObjectSerializer.serialize(params, "string"); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (deviceProfileId !== undefined) { - localVarQueryParameters['deviceProfileId'] = ObjectSerializer.serialize(deviceProfileId, "string"); - } - - if (playSessionId !== undefined) { - localVarQueryParameters['playSessionId'] = ObjectSerializer.serialize(playSessionId, "string"); - } - - if (segmentContainer !== undefined) { - localVarQueryParameters['segmentContainer'] = ObjectSerializer.serialize(segmentContainer, "string"); - } - - if (segmentLength !== undefined) { - localVarQueryParameters['segmentLength'] = ObjectSerializer.serialize(segmentLength, "number"); - } - - if (minSegments !== undefined) { - localVarQueryParameters['minSegments'] = ObjectSerializer.serialize(minSegments, "number"); - } - - if (mediaSourceId !== undefined) { - localVarQueryParameters['mediaSourceId'] = ObjectSerializer.serialize(mediaSourceId, "string"); - } - - if (deviceId !== undefined) { - localVarQueryParameters['deviceId'] = ObjectSerializer.serialize(deviceId, "string"); - } - - if (audioCodec !== undefined) { - localVarQueryParameters['audioCodec'] = ObjectSerializer.serialize(audioCodec, "string"); - } - - if (enableAutoStreamCopy !== undefined) { - localVarQueryParameters['enableAutoStreamCopy'] = ObjectSerializer.serialize(enableAutoStreamCopy, "boolean"); - } - - if (allowVideoStreamCopy !== undefined) { - localVarQueryParameters['allowVideoStreamCopy'] = ObjectSerializer.serialize(allowVideoStreamCopy, "boolean"); - } - - if (allowAudioStreamCopy !== undefined) { - localVarQueryParameters['allowAudioStreamCopy'] = ObjectSerializer.serialize(allowAudioStreamCopy, "boolean"); - } - - if (breakOnNonKeyFrames !== undefined) { - localVarQueryParameters['breakOnNonKeyFrames'] = ObjectSerializer.serialize(breakOnNonKeyFrames, "boolean"); - } - - if (audioSampleRate !== undefined) { - localVarQueryParameters['audioSampleRate'] = ObjectSerializer.serialize(audioSampleRate, "number"); - } - - if (maxAudioBitDepth !== undefined) { - localVarQueryParameters['maxAudioBitDepth'] = ObjectSerializer.serialize(maxAudioBitDepth, "number"); - } - - if (audioBitRate !== undefined) { - localVarQueryParameters['audioBitRate'] = ObjectSerializer.serialize(audioBitRate, "number"); - } - - if (audioChannels !== undefined) { - localVarQueryParameters['audioChannels'] = ObjectSerializer.serialize(audioChannels, "number"); - } - - if (maxAudioChannels !== undefined) { - localVarQueryParameters['maxAudioChannels'] = ObjectSerializer.serialize(maxAudioChannels, "number"); - } - - if (profile !== undefined) { - localVarQueryParameters['profile'] = ObjectSerializer.serialize(profile, "string"); - } - - if (level !== undefined) { - localVarQueryParameters['level'] = ObjectSerializer.serialize(level, "string"); - } - - if (framerate !== undefined) { - localVarQueryParameters['framerate'] = ObjectSerializer.serialize(framerate, "number"); - } - - if (maxFramerate !== undefined) { - localVarQueryParameters['maxFramerate'] = ObjectSerializer.serialize(maxFramerate, "number"); - } - - if (copyTimestamps !== undefined) { - localVarQueryParameters['copyTimestamps'] = ObjectSerializer.serialize(copyTimestamps, "boolean"); - } - - if (startTimeTicks !== undefined) { - localVarQueryParameters['startTimeTicks'] = ObjectSerializer.serialize(startTimeTicks, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (videoBitRate !== undefined) { - localVarQueryParameters['videoBitRate'] = ObjectSerializer.serialize(videoBitRate, "number"); - } - - if (subtitleStreamIndex !== undefined) { - localVarQueryParameters['subtitleStreamIndex'] = ObjectSerializer.serialize(subtitleStreamIndex, "number"); - } - - if (subtitleMethod !== undefined) { - localVarQueryParameters['subtitleMethod'] = ObjectSerializer.serialize(subtitleMethod, "SubtitleDeliveryMethod"); - } - - if (maxRefFrames !== undefined) { - localVarQueryParameters['maxRefFrames'] = ObjectSerializer.serialize(maxRefFrames, "number"); - } - - if (maxVideoBitDepth !== undefined) { - localVarQueryParameters['maxVideoBitDepth'] = ObjectSerializer.serialize(maxVideoBitDepth, "number"); - } - - if (requireAvc !== undefined) { - localVarQueryParameters['requireAvc'] = ObjectSerializer.serialize(requireAvc, "boolean"); - } - - if (deInterlace !== undefined) { - localVarQueryParameters['deInterlace'] = ObjectSerializer.serialize(deInterlace, "boolean"); - } - - if (requireNonAnamorphic !== undefined) { - localVarQueryParameters['requireNonAnamorphic'] = ObjectSerializer.serialize(requireNonAnamorphic, "boolean"); - } - - if (transcodingMaxAudioChannels !== undefined) { - localVarQueryParameters['transcodingMaxAudioChannels'] = ObjectSerializer.serialize(transcodingMaxAudioChannels, "number"); - } - - if (cpuCoreLimit !== undefined) { - localVarQueryParameters['cpuCoreLimit'] = ObjectSerializer.serialize(cpuCoreLimit, "number"); - } - - if (liveStreamId !== undefined) { - localVarQueryParameters['liveStreamId'] = ObjectSerializer.serialize(liveStreamId, "string"); - } - - if (enableMpegtsM2TsMode !== undefined) { - localVarQueryParameters['enableMpegtsM2TsMode'] = ObjectSerializer.serialize(enableMpegtsM2TsMode, "boolean"); - } - - if (videoCodec !== undefined) { - localVarQueryParameters['videoCodec'] = ObjectSerializer.serialize(videoCodec, "string"); - } - - if (subtitleCodec !== undefined) { - localVarQueryParameters['subtitleCodec'] = ObjectSerializer.serialize(subtitleCodec, "string"); - } - - if (transcodeReasons !== undefined) { - localVarQueryParameters['transcodeReasons'] = ObjectSerializer.serialize(transcodeReasons, "string"); - } - - if (audioStreamIndex !== undefined) { - localVarQueryParameters['audioStreamIndex'] = ObjectSerializer.serialize(audioStreamIndex, "number"); - } - - if (videoStreamIndex !== undefined) { - localVarQueryParameters['videoStreamIndex'] = ObjectSerializer.serialize(videoStreamIndex, "number"); - } - - if (context !== undefined) { - localVarQueryParameters['context'] = ObjectSerializer.serialize(context, "EncodingContext"); - } - - if (streamOptions !== undefined) { - localVarQueryParameters['streamOptions'] = ObjectSerializer.serialize(streamOptions, "{ [key: string]: string; }"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a video stream. - * @param itemId The item id. - * @param container The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv. - * @param _static Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. - * @param params The streaming parameters. - * @param tag The tag. - * @param deviceProfileId Optional. The dlna device profile id to utilize. - * @param playSessionId The play session id. - * @param segmentContainer The segment container. - * @param segmentLength The segment length. - * @param minSegments The minimum number of segments. - * @param mediaSourceId The media version id, if playing an alternate version. - * @param deviceId The device id of the client requesting. Used to stop encoding processes when needed. - * @param audioCodec Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url\'s extension. Options: aac, mp3, vorbis, wma. - * @param enableAutoStreamCopy Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. - * @param allowVideoStreamCopy Whether or not to allow copying of the video stream url. - * @param allowAudioStreamCopy Whether or not to allow copying of the audio stream url. - * @param breakOnNonKeyFrames Optional. Whether to break on non key frames. - * @param audioSampleRate Optional. Specify a specific audio sample rate, e.g. 44100. - * @param maxAudioBitDepth Optional. The maximum audio bit depth. - * @param audioBitRate Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. - * @param audioChannels Optional. Specify a specific number of audio channels to encode to, e.g. 2. - * @param maxAudioChannels Optional. Specify a maximum number of audio channels to encode to, e.g. 2. - * @param profile Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. - * @param level Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. - * @param framerate Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param maxFramerate Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param copyTimestamps Whether or not to copy timestamps when transcoding with an offset. Defaults to false. - * @param startTimeTicks Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. - * @param width Optional. The fixed horizontal resolution of the encoded video. - * @param height Optional. The fixed vertical resolution of the encoded video. - * @param maxWidth Optional. The maximum horizontal resolution of the encoded video. - * @param maxHeight Optional. The maximum vertical resolution of the encoded video. - * @param videoBitRate Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. - * @param subtitleStreamIndex Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. - * @param subtitleMethod Optional. Specify the subtitle delivery method. - * @param maxRefFrames Optional. - * @param maxVideoBitDepth Optional. The maximum video bit depth. - * @param requireAvc Optional. Whether to require avc. - * @param deInterlace Optional. Whether to deinterlace the video. - * @param requireNonAnamorphic Optional. Whether to require a non anamorphic stream. - * @param transcodingMaxAudioChannels Optional. The maximum number of audio channels to transcode. - * @param cpuCoreLimit Optional. The limit of how many cpu cores to use. - * @param liveStreamId The live stream id. - * @param enableMpegtsM2TsMode Optional. Whether to enable the MpegtsM2Ts mode. - * @param videoCodec Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url\'s extension. Options: h265, h264, mpeg4, theora, vp8, vp9, vpx (deprecated), wmv. - * @param subtitleCodec Optional. Specify a subtitle codec to encode to. - * @param transcodeReasons Optional. The transcoding reason. - * @param audioStreamIndex Optional. The index of the audio stream to use. If omitted the first audio stream will be used. - * @param videoStreamIndex Optional. The index of the video stream to use. If omitted the first video stream will be used. - * @param context Optional. The MediaBrowser.Model.Dlna.EncodingContext. - * @param streamOptions Optional. The streaming options. - */ - public async getVideoStreamByContainer (itemId: string, container: string, _static?: boolean, params?: string, tag?: string, deviceProfileId?: string, playSessionId?: string, segmentContainer?: string, segmentLength?: number, minSegments?: number, mediaSourceId?: string, deviceId?: string, audioCodec?: string, enableAutoStreamCopy?: boolean, allowVideoStreamCopy?: boolean, allowAudioStreamCopy?: boolean, breakOnNonKeyFrames?: boolean, audioSampleRate?: number, maxAudioBitDepth?: number, audioBitRate?: number, audioChannels?: number, maxAudioChannels?: number, profile?: string, level?: string, framerate?: number, maxFramerate?: number, copyTimestamps?: boolean, startTimeTicks?: number, width?: number, height?: number, maxWidth?: number, maxHeight?: number, videoBitRate?: number, subtitleStreamIndex?: number, subtitleMethod?: SubtitleDeliveryMethod, maxRefFrames?: number, maxVideoBitDepth?: number, requireAvc?: boolean, deInterlace?: boolean, requireNonAnamorphic?: boolean, transcodingMaxAudioChannels?: number, cpuCoreLimit?: number, liveStreamId?: string, enableMpegtsM2TsMode?: boolean, videoCodec?: string, subtitleCodec?: string, transcodeReasons?: string, audioStreamIndex?: number, videoStreamIndex?: number, context?: EncodingContext, streamOptions?: { [key: string]: string; }, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Videos/{itemId}/stream.{container}' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))) - .replace('{' + 'container' + '}', encodeURIComponent(String(container))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['video/*']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling getVideoStreamByContainer.'); - } - - // verify required parameter 'container' is not null or undefined - if (container === null || container === undefined) { - throw new Error('Required parameter container was null or undefined when calling getVideoStreamByContainer.'); - } - - if (_static !== undefined) { - localVarQueryParameters['static'] = ObjectSerializer.serialize(_static, "boolean"); - } - - if (params !== undefined) { - localVarQueryParameters['params'] = ObjectSerializer.serialize(params, "string"); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (deviceProfileId !== undefined) { - localVarQueryParameters['deviceProfileId'] = ObjectSerializer.serialize(deviceProfileId, "string"); - } - - if (playSessionId !== undefined) { - localVarQueryParameters['playSessionId'] = ObjectSerializer.serialize(playSessionId, "string"); - } - - if (segmentContainer !== undefined) { - localVarQueryParameters['segmentContainer'] = ObjectSerializer.serialize(segmentContainer, "string"); - } - - if (segmentLength !== undefined) { - localVarQueryParameters['segmentLength'] = ObjectSerializer.serialize(segmentLength, "number"); - } - - if (minSegments !== undefined) { - localVarQueryParameters['minSegments'] = ObjectSerializer.serialize(minSegments, "number"); - } - - if (mediaSourceId !== undefined) { - localVarQueryParameters['mediaSourceId'] = ObjectSerializer.serialize(mediaSourceId, "string"); - } - - if (deviceId !== undefined) { - localVarQueryParameters['deviceId'] = ObjectSerializer.serialize(deviceId, "string"); - } - - if (audioCodec !== undefined) { - localVarQueryParameters['audioCodec'] = ObjectSerializer.serialize(audioCodec, "string"); - } - - if (enableAutoStreamCopy !== undefined) { - localVarQueryParameters['enableAutoStreamCopy'] = ObjectSerializer.serialize(enableAutoStreamCopy, "boolean"); - } - - if (allowVideoStreamCopy !== undefined) { - localVarQueryParameters['allowVideoStreamCopy'] = ObjectSerializer.serialize(allowVideoStreamCopy, "boolean"); - } - - if (allowAudioStreamCopy !== undefined) { - localVarQueryParameters['allowAudioStreamCopy'] = ObjectSerializer.serialize(allowAudioStreamCopy, "boolean"); - } - - if (breakOnNonKeyFrames !== undefined) { - localVarQueryParameters['breakOnNonKeyFrames'] = ObjectSerializer.serialize(breakOnNonKeyFrames, "boolean"); - } - - if (audioSampleRate !== undefined) { - localVarQueryParameters['audioSampleRate'] = ObjectSerializer.serialize(audioSampleRate, "number"); - } - - if (maxAudioBitDepth !== undefined) { - localVarQueryParameters['maxAudioBitDepth'] = ObjectSerializer.serialize(maxAudioBitDepth, "number"); - } - - if (audioBitRate !== undefined) { - localVarQueryParameters['audioBitRate'] = ObjectSerializer.serialize(audioBitRate, "number"); - } - - if (audioChannels !== undefined) { - localVarQueryParameters['audioChannels'] = ObjectSerializer.serialize(audioChannels, "number"); - } - - if (maxAudioChannels !== undefined) { - localVarQueryParameters['maxAudioChannels'] = ObjectSerializer.serialize(maxAudioChannels, "number"); - } - - if (profile !== undefined) { - localVarQueryParameters['profile'] = ObjectSerializer.serialize(profile, "string"); - } - - if (level !== undefined) { - localVarQueryParameters['level'] = ObjectSerializer.serialize(level, "string"); - } - - if (framerate !== undefined) { - localVarQueryParameters['framerate'] = ObjectSerializer.serialize(framerate, "number"); - } - - if (maxFramerate !== undefined) { - localVarQueryParameters['maxFramerate'] = ObjectSerializer.serialize(maxFramerate, "number"); - } - - if (copyTimestamps !== undefined) { - localVarQueryParameters['copyTimestamps'] = ObjectSerializer.serialize(copyTimestamps, "boolean"); - } - - if (startTimeTicks !== undefined) { - localVarQueryParameters['startTimeTicks'] = ObjectSerializer.serialize(startTimeTicks, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (videoBitRate !== undefined) { - localVarQueryParameters['videoBitRate'] = ObjectSerializer.serialize(videoBitRate, "number"); - } - - if (subtitleStreamIndex !== undefined) { - localVarQueryParameters['subtitleStreamIndex'] = ObjectSerializer.serialize(subtitleStreamIndex, "number"); - } - - if (subtitleMethod !== undefined) { - localVarQueryParameters['subtitleMethod'] = ObjectSerializer.serialize(subtitleMethod, "SubtitleDeliveryMethod"); - } - - if (maxRefFrames !== undefined) { - localVarQueryParameters['maxRefFrames'] = ObjectSerializer.serialize(maxRefFrames, "number"); - } - - if (maxVideoBitDepth !== undefined) { - localVarQueryParameters['maxVideoBitDepth'] = ObjectSerializer.serialize(maxVideoBitDepth, "number"); - } - - if (requireAvc !== undefined) { - localVarQueryParameters['requireAvc'] = ObjectSerializer.serialize(requireAvc, "boolean"); - } - - if (deInterlace !== undefined) { - localVarQueryParameters['deInterlace'] = ObjectSerializer.serialize(deInterlace, "boolean"); - } - - if (requireNonAnamorphic !== undefined) { - localVarQueryParameters['requireNonAnamorphic'] = ObjectSerializer.serialize(requireNonAnamorphic, "boolean"); - } - - if (transcodingMaxAudioChannels !== undefined) { - localVarQueryParameters['transcodingMaxAudioChannels'] = ObjectSerializer.serialize(transcodingMaxAudioChannels, "number"); - } - - if (cpuCoreLimit !== undefined) { - localVarQueryParameters['cpuCoreLimit'] = ObjectSerializer.serialize(cpuCoreLimit, "number"); - } - - if (liveStreamId !== undefined) { - localVarQueryParameters['liveStreamId'] = ObjectSerializer.serialize(liveStreamId, "string"); - } - - if (enableMpegtsM2TsMode !== undefined) { - localVarQueryParameters['enableMpegtsM2TsMode'] = ObjectSerializer.serialize(enableMpegtsM2TsMode, "boolean"); - } - - if (videoCodec !== undefined) { - localVarQueryParameters['videoCodec'] = ObjectSerializer.serialize(videoCodec, "string"); - } - - if (subtitleCodec !== undefined) { - localVarQueryParameters['subtitleCodec'] = ObjectSerializer.serialize(subtitleCodec, "string"); - } - - if (transcodeReasons !== undefined) { - localVarQueryParameters['transcodeReasons'] = ObjectSerializer.serialize(transcodeReasons, "string"); - } - - if (audioStreamIndex !== undefined) { - localVarQueryParameters['audioStreamIndex'] = ObjectSerializer.serialize(audioStreamIndex, "number"); - } - - if (videoStreamIndex !== undefined) { - localVarQueryParameters['videoStreamIndex'] = ObjectSerializer.serialize(videoStreamIndex, "number"); - } - - if (context !== undefined) { - localVarQueryParameters['context'] = ObjectSerializer.serialize(context, "EncodingContext"); - } - - if (streamOptions !== undefined) { - localVarQueryParameters['streamOptions'] = ObjectSerializer.serialize(streamOptions, "{ [key: string]: string; }"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a video stream. - * @param itemId The item id. - * @param container The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv. - * @param _static Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. - * @param params The streaming parameters. - * @param tag The tag. - * @param deviceProfileId Optional. The dlna device profile id to utilize. - * @param playSessionId The play session id. - * @param segmentContainer The segment container. - * @param segmentLength The segment length. - * @param minSegments The minimum number of segments. - * @param mediaSourceId The media version id, if playing an alternate version. - * @param deviceId The device id of the client requesting. Used to stop encoding processes when needed. - * @param audioCodec Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url\'s extension. Options: aac, mp3, vorbis, wma. - * @param enableAutoStreamCopy Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. - * @param allowVideoStreamCopy Whether or not to allow copying of the video stream url. - * @param allowAudioStreamCopy Whether or not to allow copying of the audio stream url. - * @param breakOnNonKeyFrames Optional. Whether to break on non key frames. - * @param audioSampleRate Optional. Specify a specific audio sample rate, e.g. 44100. - * @param maxAudioBitDepth Optional. The maximum audio bit depth. - * @param audioBitRate Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. - * @param audioChannels Optional. Specify a specific number of audio channels to encode to, e.g. 2. - * @param maxAudioChannels Optional. Specify a maximum number of audio channels to encode to, e.g. 2. - * @param profile Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. - * @param level Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. - * @param framerate Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param maxFramerate Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param copyTimestamps Whether or not to copy timestamps when transcoding with an offset. Defaults to false. - * @param startTimeTicks Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. - * @param width Optional. The fixed horizontal resolution of the encoded video. - * @param height Optional. The fixed vertical resolution of the encoded video. - * @param maxWidth Optional. The maximum horizontal resolution of the encoded video. - * @param maxHeight Optional. The maximum vertical resolution of the encoded video. - * @param videoBitRate Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. - * @param subtitleStreamIndex Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. - * @param subtitleMethod Optional. Specify the subtitle delivery method. - * @param maxRefFrames Optional. - * @param maxVideoBitDepth Optional. The maximum video bit depth. - * @param requireAvc Optional. Whether to require avc. - * @param deInterlace Optional. Whether to deinterlace the video. - * @param requireNonAnamorphic Optional. Whether to require a non anamorphic stream. - * @param transcodingMaxAudioChannels Optional. The maximum number of audio channels to transcode. - * @param cpuCoreLimit Optional. The limit of how many cpu cores to use. - * @param liveStreamId The live stream id. - * @param enableMpegtsM2TsMode Optional. Whether to enable the MpegtsM2Ts mode. - * @param videoCodec Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url\'s extension. Options: h265, h264, mpeg4, theora, vp8, vp9, vpx (deprecated), wmv. - * @param subtitleCodec Optional. Specify a subtitle codec to encode to. - * @param transcodeReasons Optional. The transcoding reason. - * @param audioStreamIndex Optional. The index of the audio stream to use. If omitted the first audio stream will be used. - * @param videoStreamIndex Optional. The index of the video stream to use. If omitted the first video stream will be used. - * @param context Optional. The MediaBrowser.Model.Dlna.EncodingContext. - * @param streamOptions Optional. The streaming options. - */ - public async headVideoStream (itemId: string, container?: string, _static?: boolean, params?: string, tag?: string, deviceProfileId?: string, playSessionId?: string, segmentContainer?: string, segmentLength?: number, minSegments?: number, mediaSourceId?: string, deviceId?: string, audioCodec?: string, enableAutoStreamCopy?: boolean, allowVideoStreamCopy?: boolean, allowAudioStreamCopy?: boolean, breakOnNonKeyFrames?: boolean, audioSampleRate?: number, maxAudioBitDepth?: number, audioBitRate?: number, audioChannels?: number, maxAudioChannels?: number, profile?: string, level?: string, framerate?: number, maxFramerate?: number, copyTimestamps?: boolean, startTimeTicks?: number, width?: number, height?: number, maxWidth?: number, maxHeight?: number, videoBitRate?: number, subtitleStreamIndex?: number, subtitleMethod?: SubtitleDeliveryMethod, maxRefFrames?: number, maxVideoBitDepth?: number, requireAvc?: boolean, deInterlace?: boolean, requireNonAnamorphic?: boolean, transcodingMaxAudioChannels?: number, cpuCoreLimit?: number, liveStreamId?: string, enableMpegtsM2TsMode?: boolean, videoCodec?: string, subtitleCodec?: string, transcodeReasons?: string, audioStreamIndex?: number, videoStreamIndex?: number, context?: EncodingContext, streamOptions?: { [key: string]: string; }, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Videos/{itemId}/stream' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['video/*']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling headVideoStream.'); - } - - if (container !== undefined) { - localVarQueryParameters['container'] = ObjectSerializer.serialize(container, "string"); - } - - if (_static !== undefined) { - localVarQueryParameters['static'] = ObjectSerializer.serialize(_static, "boolean"); - } - - if (params !== undefined) { - localVarQueryParameters['params'] = ObjectSerializer.serialize(params, "string"); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (deviceProfileId !== undefined) { - localVarQueryParameters['deviceProfileId'] = ObjectSerializer.serialize(deviceProfileId, "string"); - } - - if (playSessionId !== undefined) { - localVarQueryParameters['playSessionId'] = ObjectSerializer.serialize(playSessionId, "string"); - } - - if (segmentContainer !== undefined) { - localVarQueryParameters['segmentContainer'] = ObjectSerializer.serialize(segmentContainer, "string"); - } - - if (segmentLength !== undefined) { - localVarQueryParameters['segmentLength'] = ObjectSerializer.serialize(segmentLength, "number"); - } - - if (minSegments !== undefined) { - localVarQueryParameters['minSegments'] = ObjectSerializer.serialize(minSegments, "number"); - } - - if (mediaSourceId !== undefined) { - localVarQueryParameters['mediaSourceId'] = ObjectSerializer.serialize(mediaSourceId, "string"); - } - - if (deviceId !== undefined) { - localVarQueryParameters['deviceId'] = ObjectSerializer.serialize(deviceId, "string"); - } - - if (audioCodec !== undefined) { - localVarQueryParameters['audioCodec'] = ObjectSerializer.serialize(audioCodec, "string"); - } - - if (enableAutoStreamCopy !== undefined) { - localVarQueryParameters['enableAutoStreamCopy'] = ObjectSerializer.serialize(enableAutoStreamCopy, "boolean"); - } - - if (allowVideoStreamCopy !== undefined) { - localVarQueryParameters['allowVideoStreamCopy'] = ObjectSerializer.serialize(allowVideoStreamCopy, "boolean"); - } - - if (allowAudioStreamCopy !== undefined) { - localVarQueryParameters['allowAudioStreamCopy'] = ObjectSerializer.serialize(allowAudioStreamCopy, "boolean"); - } - - if (breakOnNonKeyFrames !== undefined) { - localVarQueryParameters['breakOnNonKeyFrames'] = ObjectSerializer.serialize(breakOnNonKeyFrames, "boolean"); - } - - if (audioSampleRate !== undefined) { - localVarQueryParameters['audioSampleRate'] = ObjectSerializer.serialize(audioSampleRate, "number"); - } - - if (maxAudioBitDepth !== undefined) { - localVarQueryParameters['maxAudioBitDepth'] = ObjectSerializer.serialize(maxAudioBitDepth, "number"); - } - - if (audioBitRate !== undefined) { - localVarQueryParameters['audioBitRate'] = ObjectSerializer.serialize(audioBitRate, "number"); - } - - if (audioChannels !== undefined) { - localVarQueryParameters['audioChannels'] = ObjectSerializer.serialize(audioChannels, "number"); - } - - if (maxAudioChannels !== undefined) { - localVarQueryParameters['maxAudioChannels'] = ObjectSerializer.serialize(maxAudioChannels, "number"); - } - - if (profile !== undefined) { - localVarQueryParameters['profile'] = ObjectSerializer.serialize(profile, "string"); - } - - if (level !== undefined) { - localVarQueryParameters['level'] = ObjectSerializer.serialize(level, "string"); - } - - if (framerate !== undefined) { - localVarQueryParameters['framerate'] = ObjectSerializer.serialize(framerate, "number"); - } - - if (maxFramerate !== undefined) { - localVarQueryParameters['maxFramerate'] = ObjectSerializer.serialize(maxFramerate, "number"); - } - - if (copyTimestamps !== undefined) { - localVarQueryParameters['copyTimestamps'] = ObjectSerializer.serialize(copyTimestamps, "boolean"); - } - - if (startTimeTicks !== undefined) { - localVarQueryParameters['startTimeTicks'] = ObjectSerializer.serialize(startTimeTicks, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (videoBitRate !== undefined) { - localVarQueryParameters['videoBitRate'] = ObjectSerializer.serialize(videoBitRate, "number"); - } - - if (subtitleStreamIndex !== undefined) { - localVarQueryParameters['subtitleStreamIndex'] = ObjectSerializer.serialize(subtitleStreamIndex, "number"); - } - - if (subtitleMethod !== undefined) { - localVarQueryParameters['subtitleMethod'] = ObjectSerializer.serialize(subtitleMethod, "SubtitleDeliveryMethod"); - } - - if (maxRefFrames !== undefined) { - localVarQueryParameters['maxRefFrames'] = ObjectSerializer.serialize(maxRefFrames, "number"); - } - - if (maxVideoBitDepth !== undefined) { - localVarQueryParameters['maxVideoBitDepth'] = ObjectSerializer.serialize(maxVideoBitDepth, "number"); - } - - if (requireAvc !== undefined) { - localVarQueryParameters['requireAvc'] = ObjectSerializer.serialize(requireAvc, "boolean"); - } - - if (deInterlace !== undefined) { - localVarQueryParameters['deInterlace'] = ObjectSerializer.serialize(deInterlace, "boolean"); - } - - if (requireNonAnamorphic !== undefined) { - localVarQueryParameters['requireNonAnamorphic'] = ObjectSerializer.serialize(requireNonAnamorphic, "boolean"); - } - - if (transcodingMaxAudioChannels !== undefined) { - localVarQueryParameters['transcodingMaxAudioChannels'] = ObjectSerializer.serialize(transcodingMaxAudioChannels, "number"); - } - - if (cpuCoreLimit !== undefined) { - localVarQueryParameters['cpuCoreLimit'] = ObjectSerializer.serialize(cpuCoreLimit, "number"); - } - - if (liveStreamId !== undefined) { - localVarQueryParameters['liveStreamId'] = ObjectSerializer.serialize(liveStreamId, "string"); - } - - if (enableMpegtsM2TsMode !== undefined) { - localVarQueryParameters['enableMpegtsM2TsMode'] = ObjectSerializer.serialize(enableMpegtsM2TsMode, "boolean"); - } - - if (videoCodec !== undefined) { - localVarQueryParameters['videoCodec'] = ObjectSerializer.serialize(videoCodec, "string"); - } - - if (subtitleCodec !== undefined) { - localVarQueryParameters['subtitleCodec'] = ObjectSerializer.serialize(subtitleCodec, "string"); - } - - if (transcodeReasons !== undefined) { - localVarQueryParameters['transcodeReasons'] = ObjectSerializer.serialize(transcodeReasons, "string"); - } - - if (audioStreamIndex !== undefined) { - localVarQueryParameters['audioStreamIndex'] = ObjectSerializer.serialize(audioStreamIndex, "number"); - } - - if (videoStreamIndex !== undefined) { - localVarQueryParameters['videoStreamIndex'] = ObjectSerializer.serialize(videoStreamIndex, "number"); - } - - if (context !== undefined) { - localVarQueryParameters['context'] = ObjectSerializer.serialize(context, "EncodingContext"); - } - - if (streamOptions !== undefined) { - localVarQueryParameters['streamOptions'] = ObjectSerializer.serialize(streamOptions, "{ [key: string]: string; }"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'HEAD', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Gets a video stream. - * @param itemId The item id. - * @param container The video container. Possible values are: ts, webm, asf, wmv, ogv, mp4, m4v, mkv, mpeg, mpg, avi, 3gp, wmv, wtv, m2ts, mov, iso, flv. - * @param _static Optional. If true, the original file will be streamed statically without any encoding. Use either no url extension or the original file extension. true/false. - * @param params The streaming parameters. - * @param tag The tag. - * @param deviceProfileId Optional. The dlna device profile id to utilize. - * @param playSessionId The play session id. - * @param segmentContainer The segment container. - * @param segmentLength The segment length. - * @param minSegments The minimum number of segments. - * @param mediaSourceId The media version id, if playing an alternate version. - * @param deviceId The device id of the client requesting. Used to stop encoding processes when needed. - * @param audioCodec Optional. Specify a audio codec to encode to, e.g. mp3. If omitted the server will auto-select using the url\'s extension. Options: aac, mp3, vorbis, wma. - * @param enableAutoStreamCopy Whether or not to allow automatic stream copy if requested values match the original source. Defaults to true. - * @param allowVideoStreamCopy Whether or not to allow copying of the video stream url. - * @param allowAudioStreamCopy Whether or not to allow copying of the audio stream url. - * @param breakOnNonKeyFrames Optional. Whether to break on non key frames. - * @param audioSampleRate Optional. Specify a specific audio sample rate, e.g. 44100. - * @param maxAudioBitDepth Optional. The maximum audio bit depth. - * @param audioBitRate Optional. Specify an audio bitrate to encode to, e.g. 128000. If omitted this will be left to encoder defaults. - * @param audioChannels Optional. Specify a specific number of audio channels to encode to, e.g. 2. - * @param maxAudioChannels Optional. Specify a maximum number of audio channels to encode to, e.g. 2. - * @param profile Optional. Specify a specific an encoder profile (varies by encoder), e.g. main, baseline, high. - * @param level Optional. Specify a level for the encoder profile (varies by encoder), e.g. 3, 3.1. - * @param framerate Optional. A specific video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param maxFramerate Optional. A specific maximum video framerate to encode to, e.g. 23.976. Generally this should be omitted unless the device has specific requirements. - * @param copyTimestamps Whether or not to copy timestamps when transcoding with an offset. Defaults to false. - * @param startTimeTicks Optional. Specify a starting offset, in ticks. 1 tick = 10000 ms. - * @param width Optional. The fixed horizontal resolution of the encoded video. - * @param height Optional. The fixed vertical resolution of the encoded video. - * @param maxWidth Optional. The maximum horizontal resolution of the encoded video. - * @param maxHeight Optional. The maximum vertical resolution of the encoded video. - * @param videoBitRate Optional. Specify a video bitrate to encode to, e.g. 500000. If omitted this will be left to encoder defaults. - * @param subtitleStreamIndex Optional. The index of the subtitle stream to use. If omitted no subtitles will be used. - * @param subtitleMethod Optional. Specify the subtitle delivery method. - * @param maxRefFrames Optional. - * @param maxVideoBitDepth Optional. The maximum video bit depth. - * @param requireAvc Optional. Whether to require avc. - * @param deInterlace Optional. Whether to deinterlace the video. - * @param requireNonAnamorphic Optional. Whether to require a non anamorphic stream. - * @param transcodingMaxAudioChannels Optional. The maximum number of audio channels to transcode. - * @param cpuCoreLimit Optional. The limit of how many cpu cores to use. - * @param liveStreamId The live stream id. - * @param enableMpegtsM2TsMode Optional. Whether to enable the MpegtsM2Ts mode. - * @param videoCodec Optional. Specify a video codec to encode to, e.g. h264. If omitted the server will auto-select using the url\'s extension. Options: h265, h264, mpeg4, theora, vp8, vp9, vpx (deprecated), wmv. - * @param subtitleCodec Optional. Specify a subtitle codec to encode to. - * @param transcodeReasons Optional. The transcoding reason. - * @param audioStreamIndex Optional. The index of the audio stream to use. If omitted the first audio stream will be used. - * @param videoStreamIndex Optional. The index of the video stream to use. If omitted the first video stream will be used. - * @param context Optional. The MediaBrowser.Model.Dlna.EncodingContext. - * @param streamOptions Optional. The streaming options. - */ - public async headVideoStreamByContainer (itemId: string, container: string, _static?: boolean, params?: string, tag?: string, deviceProfileId?: string, playSessionId?: string, segmentContainer?: string, segmentLength?: number, minSegments?: number, mediaSourceId?: string, deviceId?: string, audioCodec?: string, enableAutoStreamCopy?: boolean, allowVideoStreamCopy?: boolean, allowAudioStreamCopy?: boolean, breakOnNonKeyFrames?: boolean, audioSampleRate?: number, maxAudioBitDepth?: number, audioBitRate?: number, audioChannels?: number, maxAudioChannels?: number, profile?: string, level?: string, framerate?: number, maxFramerate?: number, copyTimestamps?: boolean, startTimeTicks?: number, width?: number, height?: number, maxWidth?: number, maxHeight?: number, videoBitRate?: number, subtitleStreamIndex?: number, subtitleMethod?: SubtitleDeliveryMethod, maxRefFrames?: number, maxVideoBitDepth?: number, requireAvc?: boolean, deInterlace?: boolean, requireNonAnamorphic?: boolean, transcodingMaxAudioChannels?: number, cpuCoreLimit?: number, liveStreamId?: string, enableMpegtsM2TsMode?: boolean, videoCodec?: string, subtitleCodec?: string, transcodeReasons?: string, audioStreamIndex?: number, videoStreamIndex?: number, context?: EncodingContext, streamOptions?: { [key: string]: string; }, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: Buffer; }> { - const localVarPath = this.basePath + '/Videos/{itemId}/stream.{container}' - .replace('{' + 'itemId' + '}', encodeURIComponent(String(itemId))) - .replace('{' + 'container' + '}', encodeURIComponent(String(container))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['video/*']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'itemId' is not null or undefined - if (itemId === null || itemId === undefined) { - throw new Error('Required parameter itemId was null or undefined when calling headVideoStreamByContainer.'); - } - - // verify required parameter 'container' is not null or undefined - if (container === null || container === undefined) { - throw new Error('Required parameter container was null or undefined when calling headVideoStreamByContainer.'); - } - - if (_static !== undefined) { - localVarQueryParameters['static'] = ObjectSerializer.serialize(_static, "boolean"); - } - - if (params !== undefined) { - localVarQueryParameters['params'] = ObjectSerializer.serialize(params, "string"); - } - - if (tag !== undefined) { - localVarQueryParameters['tag'] = ObjectSerializer.serialize(tag, "string"); - } - - if (deviceProfileId !== undefined) { - localVarQueryParameters['deviceProfileId'] = ObjectSerializer.serialize(deviceProfileId, "string"); - } - - if (playSessionId !== undefined) { - localVarQueryParameters['playSessionId'] = ObjectSerializer.serialize(playSessionId, "string"); - } - - if (segmentContainer !== undefined) { - localVarQueryParameters['segmentContainer'] = ObjectSerializer.serialize(segmentContainer, "string"); - } - - if (segmentLength !== undefined) { - localVarQueryParameters['segmentLength'] = ObjectSerializer.serialize(segmentLength, "number"); - } - - if (minSegments !== undefined) { - localVarQueryParameters['minSegments'] = ObjectSerializer.serialize(minSegments, "number"); - } - - if (mediaSourceId !== undefined) { - localVarQueryParameters['mediaSourceId'] = ObjectSerializer.serialize(mediaSourceId, "string"); - } - - if (deviceId !== undefined) { - localVarQueryParameters['deviceId'] = ObjectSerializer.serialize(deviceId, "string"); - } - - if (audioCodec !== undefined) { - localVarQueryParameters['audioCodec'] = ObjectSerializer.serialize(audioCodec, "string"); - } - - if (enableAutoStreamCopy !== undefined) { - localVarQueryParameters['enableAutoStreamCopy'] = ObjectSerializer.serialize(enableAutoStreamCopy, "boolean"); - } - - if (allowVideoStreamCopy !== undefined) { - localVarQueryParameters['allowVideoStreamCopy'] = ObjectSerializer.serialize(allowVideoStreamCopy, "boolean"); - } - - if (allowAudioStreamCopy !== undefined) { - localVarQueryParameters['allowAudioStreamCopy'] = ObjectSerializer.serialize(allowAudioStreamCopy, "boolean"); - } - - if (breakOnNonKeyFrames !== undefined) { - localVarQueryParameters['breakOnNonKeyFrames'] = ObjectSerializer.serialize(breakOnNonKeyFrames, "boolean"); - } - - if (audioSampleRate !== undefined) { - localVarQueryParameters['audioSampleRate'] = ObjectSerializer.serialize(audioSampleRate, "number"); - } - - if (maxAudioBitDepth !== undefined) { - localVarQueryParameters['maxAudioBitDepth'] = ObjectSerializer.serialize(maxAudioBitDepth, "number"); - } - - if (audioBitRate !== undefined) { - localVarQueryParameters['audioBitRate'] = ObjectSerializer.serialize(audioBitRate, "number"); - } - - if (audioChannels !== undefined) { - localVarQueryParameters['audioChannels'] = ObjectSerializer.serialize(audioChannels, "number"); - } - - if (maxAudioChannels !== undefined) { - localVarQueryParameters['maxAudioChannels'] = ObjectSerializer.serialize(maxAudioChannels, "number"); - } - - if (profile !== undefined) { - localVarQueryParameters['profile'] = ObjectSerializer.serialize(profile, "string"); - } - - if (level !== undefined) { - localVarQueryParameters['level'] = ObjectSerializer.serialize(level, "string"); - } - - if (framerate !== undefined) { - localVarQueryParameters['framerate'] = ObjectSerializer.serialize(framerate, "number"); - } - - if (maxFramerate !== undefined) { - localVarQueryParameters['maxFramerate'] = ObjectSerializer.serialize(maxFramerate, "number"); - } - - if (copyTimestamps !== undefined) { - localVarQueryParameters['copyTimestamps'] = ObjectSerializer.serialize(copyTimestamps, "boolean"); - } - - if (startTimeTicks !== undefined) { - localVarQueryParameters['startTimeTicks'] = ObjectSerializer.serialize(startTimeTicks, "number"); - } - - if (width !== undefined) { - localVarQueryParameters['width'] = ObjectSerializer.serialize(width, "number"); - } - - if (height !== undefined) { - localVarQueryParameters['height'] = ObjectSerializer.serialize(height, "number"); - } - - if (maxWidth !== undefined) { - localVarQueryParameters['maxWidth'] = ObjectSerializer.serialize(maxWidth, "number"); - } - - if (maxHeight !== undefined) { - localVarQueryParameters['maxHeight'] = ObjectSerializer.serialize(maxHeight, "number"); - } - - if (videoBitRate !== undefined) { - localVarQueryParameters['videoBitRate'] = ObjectSerializer.serialize(videoBitRate, "number"); - } - - if (subtitleStreamIndex !== undefined) { - localVarQueryParameters['subtitleStreamIndex'] = ObjectSerializer.serialize(subtitleStreamIndex, "number"); - } - - if (subtitleMethod !== undefined) { - localVarQueryParameters['subtitleMethod'] = ObjectSerializer.serialize(subtitleMethod, "SubtitleDeliveryMethod"); - } - - if (maxRefFrames !== undefined) { - localVarQueryParameters['maxRefFrames'] = ObjectSerializer.serialize(maxRefFrames, "number"); - } - - if (maxVideoBitDepth !== undefined) { - localVarQueryParameters['maxVideoBitDepth'] = ObjectSerializer.serialize(maxVideoBitDepth, "number"); - } - - if (requireAvc !== undefined) { - localVarQueryParameters['requireAvc'] = ObjectSerializer.serialize(requireAvc, "boolean"); - } - - if (deInterlace !== undefined) { - localVarQueryParameters['deInterlace'] = ObjectSerializer.serialize(deInterlace, "boolean"); - } - - if (requireNonAnamorphic !== undefined) { - localVarQueryParameters['requireNonAnamorphic'] = ObjectSerializer.serialize(requireNonAnamorphic, "boolean"); - } - - if (transcodingMaxAudioChannels !== undefined) { - localVarQueryParameters['transcodingMaxAudioChannels'] = ObjectSerializer.serialize(transcodingMaxAudioChannels, "number"); - } - - if (cpuCoreLimit !== undefined) { - localVarQueryParameters['cpuCoreLimit'] = ObjectSerializer.serialize(cpuCoreLimit, "number"); - } - - if (liveStreamId !== undefined) { - localVarQueryParameters['liveStreamId'] = ObjectSerializer.serialize(liveStreamId, "string"); - } - - if (enableMpegtsM2TsMode !== undefined) { - localVarQueryParameters['enableMpegtsM2TsMode'] = ObjectSerializer.serialize(enableMpegtsM2TsMode, "boolean"); - } - - if (videoCodec !== undefined) { - localVarQueryParameters['videoCodec'] = ObjectSerializer.serialize(videoCodec, "string"); - } - - if (subtitleCodec !== undefined) { - localVarQueryParameters['subtitleCodec'] = ObjectSerializer.serialize(subtitleCodec, "string"); - } - - if (transcodeReasons !== undefined) { - localVarQueryParameters['transcodeReasons'] = ObjectSerializer.serialize(transcodeReasons, "string"); - } - - if (audioStreamIndex !== undefined) { - localVarQueryParameters['audioStreamIndex'] = ObjectSerializer.serialize(audioStreamIndex, "number"); - } - - if (videoStreamIndex !== undefined) { - localVarQueryParameters['videoStreamIndex'] = ObjectSerializer.serialize(videoStreamIndex, "number"); - } - - if (context !== undefined) { - localVarQueryParameters['context'] = ObjectSerializer.serialize(context, "EncodingContext"); - } - - if (streamOptions !== undefined) { - localVarQueryParameters['streamOptions'] = ObjectSerializer.serialize(streamOptions, "{ [key: string]: string; }"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'HEAD', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - encoding: null, - }; - - let authenticationPromise = Promise.resolve(); - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: Buffer; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "Buffer"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Merges videos into a single record. - * @param ids Item id list. This allows multiple, comma delimited. - */ - public async mergeVersions (ids: Array, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body?: any; }> { - const localVarPath = this.basePath + '/Videos/MergeVersions'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'ids' is not null or undefined - if (ids === null || ids === undefined) { - throw new Error('Required parameter ids was null or undefined when calling mergeVersions.'); - } - - if (ids !== undefined) { - localVarQueryParameters['ids'] = ObjectSerializer.serialize(ids, "Array"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'POST', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body?: any; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/api/yearsApi.ts b/jellyfin/api/yearsApi.ts deleted file mode 100644 index 99ac9b2..0000000 --- a/jellyfin/api/yearsApi.ts +++ /dev/null @@ -1,315 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import localVarRequest from 'request'; -import http from 'http'; - -/* tslint:disable:no-unused-locals */ -import { BaseItemDto } from '../model/baseItemDto'; -import { BaseItemDtoQueryResult } from '../model/baseItemDtoQueryResult'; -import { BaseItemKind } from '../model/baseItemKind'; -import { ImageType } from '../model/imageType'; -import { ItemFields } from '../model/itemFields'; -import { ProblemDetails } from '../model/problemDetails'; -import { SortOrder } from '../model/sortOrder'; - -import { ObjectSerializer, Authentication, VoidAuth, Interceptor } from '../model/models'; -import { HttpBasicAuth, HttpBearerAuth, ApiKeyAuth, OAuth } from '../model/models'; - -import { HttpError, RequestFile } from './apis'; - -let defaultBasePath = 'http://localhost'; - -// =============================================== -// This file is autogenerated - Please do not edit -// =============================================== - -export enum YearsApiApiKeys { - CustomAuthentication, -} - -export class YearsApi { - protected _basePath = defaultBasePath; - protected _defaultHeaders : any = {}; - protected _useQuerystring : boolean = false; - - protected authentications = { - 'default': new VoidAuth(), - 'CustomAuthentication': new ApiKeyAuth('header', 'Authorization'), - } - - protected interceptors: Interceptor[] = []; - - constructor(basePath?: string); - constructor(basePathOrUsername: string, password?: string, basePath?: string) { - if (password) { - if (basePath) { - this.basePath = basePath; - } - } else { - if (basePathOrUsername) { - this.basePath = basePathOrUsername - } - } - } - - set useQuerystring(value: boolean) { - this._useQuerystring = value; - } - - set basePath(basePath: string) { - this._basePath = basePath; - } - - set defaultHeaders(defaultHeaders: any) { - this._defaultHeaders = defaultHeaders; - } - - get defaultHeaders() { - return this._defaultHeaders; - } - - get basePath() { - return this._basePath; - } - - public setDefaultAuthentication(auth: Authentication) { - this.authentications.default = auth; - } - - public setApiKey(key: YearsApiApiKeys, value: string) { - (this.authentications as any)[YearsApiApiKeys[key]].apiKey = value; - } - - public addInterceptor(interceptor: Interceptor) { - this.interceptors.push(interceptor); - } - - /** - * - * @summary Gets a year. - * @param year The year. - * @param userId Optional. Filter by user id, and attach user data. - */ - public async getYear (year: number, userId?: string, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDto; }> { - const localVarPath = this.basePath + '/Years/{year}' - .replace('{' + 'year' + '}', encodeURIComponent(String(year))); - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - // verify required parameter 'year' is not null or undefined - if (year === null || year === undefined) { - throw new Error('Required parameter year was null or undefined when calling getYear.'); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDto; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDto"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } - /** - * - * @summary Get years. - * @param startIndex Skips over a given number of items within the results. Use for paging. - * @param limit Optional. The maximum number of records to return. - * @param sortOrder Sort Order - Ascending,Descending. - * @param parentId Specify this to localize the search to a specific item or folder. Omit to use the root. - * @param fields Optional. Specify additional fields of information to return in the output. - * @param excludeItemTypes Optional. If specified, results will be excluded based on item type. This allows multiple, comma delimited. - * @param includeItemTypes Optional. If specified, results will be included based on item type. This allows multiple, comma delimited. - * @param mediaTypes Optional. Filter by MediaType. Allows multiple, comma delimited. - * @param sortBy Optional. Specify one or more sort orders, comma delimited. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime. - * @param enableUserData Optional. Include user data. - * @param imageTypeLimit Optional. The max number of images to return, per image type. - * @param enableImageTypes Optional. The image types to include in the output. - * @param userId User Id. - * @param recursive Search recursively. - * @param enableImages Optional. Include image information in output. - */ - public async getYears (startIndex?: number, limit?: number, sortOrder?: Array, parentId?: string, fields?: Array, excludeItemTypes?: Array, includeItemTypes?: Array, mediaTypes?: Array, sortBy?: Array, enableUserData?: boolean, imageTypeLimit?: number, enableImageTypes?: Array, userId?: string, recursive?: boolean, enableImages?: boolean, options: {headers: {[name: string]: string}} = {headers: {}}) : Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }> { - const localVarPath = this.basePath + '/Years'; - let localVarQueryParameters: any = {}; - let localVarHeaderParams: any = (Object).assign({}, this._defaultHeaders); - const produces = ['application/json', 'application/json; profile=CamelCase', 'application/json; profile=PascalCase']; - // give precedence to 'application/json' - if (produces.indexOf('application/json') >= 0) { - localVarHeaderParams.Accept = 'application/json'; - } else { - localVarHeaderParams.Accept = produces.join(','); - } - let localVarFormParams: any = {}; - - if (startIndex !== undefined) { - localVarQueryParameters['startIndex'] = ObjectSerializer.serialize(startIndex, "number"); - } - - if (limit !== undefined) { - localVarQueryParameters['limit'] = ObjectSerializer.serialize(limit, "number"); - } - - if (sortOrder !== undefined) { - localVarQueryParameters['sortOrder'] = ObjectSerializer.serialize(sortOrder, "Array"); - } - - if (parentId !== undefined) { - localVarQueryParameters['parentId'] = ObjectSerializer.serialize(parentId, "string"); - } - - if (fields !== undefined) { - localVarQueryParameters['fields'] = ObjectSerializer.serialize(fields, "Array"); - } - - if (excludeItemTypes !== undefined) { - localVarQueryParameters['excludeItemTypes'] = ObjectSerializer.serialize(excludeItemTypes, "Array"); - } - - if (includeItemTypes !== undefined) { - localVarQueryParameters['includeItemTypes'] = ObjectSerializer.serialize(includeItemTypes, "Array"); - } - - if (mediaTypes !== undefined) { - localVarQueryParameters['mediaTypes'] = ObjectSerializer.serialize(mediaTypes, "Array"); - } - - if (sortBy !== undefined) { - localVarQueryParameters['sortBy'] = ObjectSerializer.serialize(sortBy, "Array"); - } - - if (enableUserData !== undefined) { - localVarQueryParameters['enableUserData'] = ObjectSerializer.serialize(enableUserData, "boolean"); - } - - if (imageTypeLimit !== undefined) { - localVarQueryParameters['imageTypeLimit'] = ObjectSerializer.serialize(imageTypeLimit, "number"); - } - - if (enableImageTypes !== undefined) { - localVarQueryParameters['enableImageTypes'] = ObjectSerializer.serialize(enableImageTypes, "Array"); - } - - if (userId !== undefined) { - localVarQueryParameters['userId'] = ObjectSerializer.serialize(userId, "string"); - } - - if (recursive !== undefined) { - localVarQueryParameters['recursive'] = ObjectSerializer.serialize(recursive, "boolean"); - } - - if (enableImages !== undefined) { - localVarQueryParameters['enableImages'] = ObjectSerializer.serialize(enableImages, "boolean"); - } - - (Object).assign(localVarHeaderParams, options.headers); - - let localVarUseFormData = false; - - let localVarRequestOptions: localVarRequest.Options = { - method: 'GET', - qs: localVarQueryParameters, - headers: localVarHeaderParams, - uri: localVarPath, - useQuerystring: this._useQuerystring, - json: true, - }; - - let authenticationPromise = Promise.resolve(); - if (this.authentications.CustomAuthentication.apiKey) { - authenticationPromise = authenticationPromise.then(() => this.authentications.CustomAuthentication.applyToRequest(localVarRequestOptions)); - } - authenticationPromise = authenticationPromise.then(() => this.authentications.default.applyToRequest(localVarRequestOptions)); - - let interceptorPromise = authenticationPromise; - for (const interceptor of this.interceptors) { - interceptorPromise = interceptorPromise.then(() => interceptor(localVarRequestOptions)); - } - - return interceptorPromise.then(() => { - if (Object.keys(localVarFormParams).length) { - if (localVarUseFormData) { - (localVarRequestOptions).formData = localVarFormParams; - } else { - localVarRequestOptions.form = localVarFormParams; - } - } - return new Promise<{ response: http.IncomingMessage; body: BaseItemDtoQueryResult; }>((resolve, reject) => { - localVarRequest(localVarRequestOptions, (error, response, body) => { - if (error) { - reject(error); - } else { - if (response.statusCode && response.statusCode >= 200 && response.statusCode <= 299) { - body = ObjectSerializer.deserialize(body, "BaseItemDtoQueryResult"); - resolve({ response: response, body: body }); - } else { - reject(new HttpError(response, body, response.statusCode)); - } - } - }); - }); - }); - } -} diff --git a/jellyfin/git_push.sh b/jellyfin/git_push.sh deleted file mode 100644 index f53a75d..0000000 --- a/jellyfin/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/jellyfin/model/accessSchedule.ts b/jellyfin/model/accessSchedule.ts deleted file mode 100644 index 2af2005..0000000 --- a/jellyfin/model/accessSchedule.ts +++ /dev/null @@ -1,73 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { DynamicDayOfWeek } from './dynamicDayOfWeek'; - -/** -* An entity representing a user\'s access schedule. -*/ -export class AccessSchedule { - /** - * Gets the id of this instance. - */ - 'id'?: number; - /** - * Gets the id of the associated user. - */ - 'userId'?: string; - 'dayOfWeek'?: DynamicDayOfWeek; - /** - * Gets or sets the start hour. - */ - 'startHour'?: number; - /** - * Gets or sets the end hour. - */ - 'endHour'?: number; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "id", - "baseName": "Id", - "type": "number" - }, - { - "name": "userId", - "baseName": "UserId", - "type": "string" - }, - { - "name": "dayOfWeek", - "baseName": "DayOfWeek", - "type": "DynamicDayOfWeek" - }, - { - "name": "startHour", - "baseName": "StartHour", - "type": "number" - }, - { - "name": "endHour", - "baseName": "EndHour", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return AccessSchedule.attributeTypeMap; - } -} - -export namespace AccessSchedule { -} diff --git a/jellyfin/model/activityLogEntry.ts b/jellyfin/model/activityLogEntry.ts deleted file mode 100644 index 0f7e864..0000000 --- a/jellyfin/model/activityLogEntry.ts +++ /dev/null @@ -1,118 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { LogLevel } from './logLevel'; - -/** -* An activity log entry. -*/ -export class ActivityLogEntry { - /** - * Gets or sets the identifier. - */ - 'id'?: number; - /** - * Gets or sets the name. - */ - 'name'?: string; - /** - * Gets or sets the overview. - */ - 'overview'?: string | null; - /** - * Gets or sets the short overview. - */ - 'shortOverview'?: string | null; - /** - * Gets or sets the type. - */ - 'type'?: string; - /** - * Gets or sets the item identifier. - */ - 'itemId'?: string | null; - /** - * Gets or sets the date. - */ - 'date'?: Date; - /** - * Gets or sets the user identifier. - */ - 'userId'?: string; - /** - * Gets or sets the user primary image tag. - */ - 'userPrimaryImageTag'?: string | null; - 'severity'?: LogLevel; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "id", - "baseName": "Id", - "type": "number" - }, - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "overview", - "baseName": "Overview", - "type": "string" - }, - { - "name": "shortOverview", - "baseName": "ShortOverview", - "type": "string" - }, - { - "name": "type", - "baseName": "Type", - "type": "string" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "date", - "baseName": "Date", - "type": "Date" - }, - { - "name": "userId", - "baseName": "UserId", - "type": "string" - }, - { - "name": "userPrimaryImageTag", - "baseName": "UserPrimaryImageTag", - "type": "string" - }, - { - "name": "severity", - "baseName": "Severity", - "type": "LogLevel" - } ]; - - static getAttributeTypeMap() { - return ActivityLogEntry.attributeTypeMap; - } -} - -export namespace ActivityLogEntry { -} diff --git a/jellyfin/model/activityLogEntryQueryResult.ts b/jellyfin/model/activityLogEntryQueryResult.ts deleted file mode 100644 index 427c6f5..0000000 --- a/jellyfin/model/activityLogEntryQueryResult.ts +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ActivityLogEntry } from './activityLogEntry'; - -export class ActivityLogEntryQueryResult { - /** - * Gets or sets the items. - */ - 'items'?: Array | null; - /** - * Gets or sets the total number of records available. - */ - 'totalRecordCount'?: number; - /** - * Gets or sets the index of the first record in Items. - */ - 'startIndex'?: number; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "items", - "baseName": "Items", - "type": "Array" - }, - { - "name": "totalRecordCount", - "baseName": "TotalRecordCount", - "type": "number" - }, - { - "name": "startIndex", - "baseName": "StartIndex", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return ActivityLogEntryQueryResult.attributeTypeMap; - } -} - diff --git a/jellyfin/model/addListingProviderRequest.ts b/jellyfin/model/addListingProviderRequest.ts deleted file mode 100644 index 35d6e2e..0000000 --- a/jellyfin/model/addListingProviderRequest.ts +++ /dev/null @@ -1,134 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { NameValuePair } from './nameValuePair'; - -export class AddListingProviderRequest { - 'id'?: string | null; - 'type'?: string | null; - 'username'?: string | null; - 'password'?: string | null; - 'listingsId'?: string | null; - 'zipCode'?: string | null; - 'country'?: string | null; - 'path'?: string | null; - 'enabledTuners'?: Array | null; - 'enableAllTuners'?: boolean; - 'newsCategories'?: Array | null; - 'sportsCategories'?: Array | null; - 'kidsCategories'?: Array | null; - 'movieCategories'?: Array | null; - 'channelMappings'?: Array | null; - 'moviePrefix'?: string | null; - 'preferredLanguage'?: string | null; - 'userAgent'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "type", - "baseName": "Type", - "type": "string" - }, - { - "name": "username", - "baseName": "Username", - "type": "string" - }, - { - "name": "password", - "baseName": "Password", - "type": "string" - }, - { - "name": "listingsId", - "baseName": "ListingsId", - "type": "string" - }, - { - "name": "zipCode", - "baseName": "ZipCode", - "type": "string" - }, - { - "name": "country", - "baseName": "Country", - "type": "string" - }, - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "enabledTuners", - "baseName": "EnabledTuners", - "type": "Array" - }, - { - "name": "enableAllTuners", - "baseName": "EnableAllTuners", - "type": "boolean" - }, - { - "name": "newsCategories", - "baseName": "NewsCategories", - "type": "Array" - }, - { - "name": "sportsCategories", - "baseName": "SportsCategories", - "type": "Array" - }, - { - "name": "kidsCategories", - "baseName": "KidsCategories", - "type": "Array" - }, - { - "name": "movieCategories", - "baseName": "MovieCategories", - "type": "Array" - }, - { - "name": "channelMappings", - "baseName": "ChannelMappings", - "type": "Array" - }, - { - "name": "moviePrefix", - "baseName": "MoviePrefix", - "type": "string" - }, - { - "name": "preferredLanguage", - "baseName": "PreferredLanguage", - "type": "string" - }, - { - "name": "userAgent", - "baseName": "UserAgent", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return AddListingProviderRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/addMediaPathRequest.ts b/jellyfin/model/addMediaPathRequest.ts deleted file mode 100644 index 1b12ee2..0000000 --- a/jellyfin/model/addMediaPathRequest.ts +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { MediaPathDtoPathInfo } from './mediaPathDtoPathInfo'; - -/** -* Media Path dto. -*/ -export class AddMediaPathRequest { - /** - * Gets or sets the name of the library. - */ - 'name': string; - /** - * Gets or sets the path to add. - */ - 'path'?: string | null; - 'pathInfo'?: MediaPathDtoPathInfo | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "pathInfo", - "baseName": "PathInfo", - "type": "MediaPathDtoPathInfo" - } ]; - - static getAttributeTypeMap() { - return AddMediaPathRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/addTunerHostRequest.ts b/jellyfin/model/addTunerHostRequest.ts deleted file mode 100644 index 86c855f..0000000 --- a/jellyfin/model/addTunerHostRequest.ts +++ /dev/null @@ -1,91 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class AddTunerHostRequest { - 'id'?: string | null; - 'url'?: string | null; - 'type'?: string | null; - 'deviceId'?: string | null; - 'friendlyName'?: string | null; - 'importFavoritesOnly'?: boolean; - 'allowHWTranscoding'?: boolean; - 'enableStreamLooping'?: boolean; - 'source'?: string | null; - 'tunerCount'?: number; - 'userAgent'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "url", - "baseName": "Url", - "type": "string" - }, - { - "name": "type", - "baseName": "Type", - "type": "string" - }, - { - "name": "deviceId", - "baseName": "DeviceId", - "type": "string" - }, - { - "name": "friendlyName", - "baseName": "FriendlyName", - "type": "string" - }, - { - "name": "importFavoritesOnly", - "baseName": "ImportFavoritesOnly", - "type": "boolean" - }, - { - "name": "allowHWTranscoding", - "baseName": "AllowHWTranscoding", - "type": "boolean" - }, - { - "name": "enableStreamLooping", - "baseName": "EnableStreamLooping", - "type": "boolean" - }, - { - "name": "source", - "baseName": "Source", - "type": "string" - }, - { - "name": "tunerCount", - "baseName": "TunerCount", - "type": "number" - }, - { - "name": "userAgent", - "baseName": "UserAgent", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return AddTunerHostRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/addVirtualFolderDto.ts b/jellyfin/model/addVirtualFolderDto.ts deleted file mode 100644 index 93ad1c5..0000000 --- a/jellyfin/model/addVirtualFolderDto.ts +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { AddVirtualFolderDtoLibraryOptions } from './addVirtualFolderDtoLibraryOptions'; - -/** -* Add virtual folder dto. -*/ -export class AddVirtualFolderDto { - 'libraryOptions'?: AddVirtualFolderDtoLibraryOptions | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "libraryOptions", - "baseName": "LibraryOptions", - "type": "AddVirtualFolderDtoLibraryOptions" - } ]; - - static getAttributeTypeMap() { - return AddVirtualFolderDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/addVirtualFolderDtoLibraryOptions.ts b/jellyfin/model/addVirtualFolderDtoLibraryOptions.ts deleted file mode 100644 index 56064a3..0000000 --- a/jellyfin/model/addVirtualFolderDtoLibraryOptions.ts +++ /dev/null @@ -1,201 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { EmbeddedSubtitleOptions } from './embeddedSubtitleOptions'; -import { MediaPathInfo } from './mediaPathInfo'; -import { TypeOptions } from './typeOptions'; - -/** -* Gets or sets library options. -*/ -export class AddVirtualFolderDtoLibraryOptions { - 'enablePhotos'?: boolean; - 'enableRealtimeMonitor'?: boolean; - 'enableChapterImageExtraction'?: boolean; - 'extractChapterImagesDuringLibraryScan'?: boolean; - 'pathInfos'?: Array; - 'saveLocalMetadata'?: boolean; - 'enableInternetProviders'?: boolean; - 'enableAutomaticSeriesGrouping'?: boolean; - 'enableEmbeddedTitles'?: boolean; - 'enableEmbeddedEpisodeInfos'?: boolean; - 'automaticRefreshIntervalDays'?: number; - /** - * Gets or sets the preferred metadata language. - */ - 'preferredMetadataLanguage'?: string | null; - /** - * Gets or sets the metadata country code. - */ - 'metadataCountryCode'?: string | null; - 'seasonZeroDisplayName'?: string; - 'metadataSavers'?: Array | null; - 'disabledLocalMetadataReaders'?: Array; - 'localMetadataReaderOrder'?: Array | null; - 'disabledSubtitleFetchers'?: Array; - 'subtitleFetcherOrder'?: Array; - 'skipSubtitlesIfEmbeddedSubtitlesPresent'?: boolean; - 'skipSubtitlesIfAudioTrackMatches'?: boolean; - 'subtitleDownloadLanguages'?: Array | null; - 'requirePerfectSubtitleMatch'?: boolean; - 'saveSubtitlesWithMedia'?: boolean; - 'automaticallyAddToCollection'?: boolean; - 'allowEmbeddedSubtitles'?: EmbeddedSubtitleOptions; - 'typeOptions'?: Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "enablePhotos", - "baseName": "EnablePhotos", - "type": "boolean" - }, - { - "name": "enableRealtimeMonitor", - "baseName": "EnableRealtimeMonitor", - "type": "boolean" - }, - { - "name": "enableChapterImageExtraction", - "baseName": "EnableChapterImageExtraction", - "type": "boolean" - }, - { - "name": "extractChapterImagesDuringLibraryScan", - "baseName": "ExtractChapterImagesDuringLibraryScan", - "type": "boolean" - }, - { - "name": "pathInfos", - "baseName": "PathInfos", - "type": "Array" - }, - { - "name": "saveLocalMetadata", - "baseName": "SaveLocalMetadata", - "type": "boolean" - }, - { - "name": "enableInternetProviders", - "baseName": "EnableInternetProviders", - "type": "boolean" - }, - { - "name": "enableAutomaticSeriesGrouping", - "baseName": "EnableAutomaticSeriesGrouping", - "type": "boolean" - }, - { - "name": "enableEmbeddedTitles", - "baseName": "EnableEmbeddedTitles", - "type": "boolean" - }, - { - "name": "enableEmbeddedEpisodeInfos", - "baseName": "EnableEmbeddedEpisodeInfos", - "type": "boolean" - }, - { - "name": "automaticRefreshIntervalDays", - "baseName": "AutomaticRefreshIntervalDays", - "type": "number" - }, - { - "name": "preferredMetadataLanguage", - "baseName": "PreferredMetadataLanguage", - "type": "string" - }, - { - "name": "metadataCountryCode", - "baseName": "MetadataCountryCode", - "type": "string" - }, - { - "name": "seasonZeroDisplayName", - "baseName": "SeasonZeroDisplayName", - "type": "string" - }, - { - "name": "metadataSavers", - "baseName": "MetadataSavers", - "type": "Array" - }, - { - "name": "disabledLocalMetadataReaders", - "baseName": "DisabledLocalMetadataReaders", - "type": "Array" - }, - { - "name": "localMetadataReaderOrder", - "baseName": "LocalMetadataReaderOrder", - "type": "Array" - }, - { - "name": "disabledSubtitleFetchers", - "baseName": "DisabledSubtitleFetchers", - "type": "Array" - }, - { - "name": "subtitleFetcherOrder", - "baseName": "SubtitleFetcherOrder", - "type": "Array" - }, - { - "name": "skipSubtitlesIfEmbeddedSubtitlesPresent", - "baseName": "SkipSubtitlesIfEmbeddedSubtitlesPresent", - "type": "boolean" - }, - { - "name": "skipSubtitlesIfAudioTrackMatches", - "baseName": "SkipSubtitlesIfAudioTrackMatches", - "type": "boolean" - }, - { - "name": "subtitleDownloadLanguages", - "baseName": "SubtitleDownloadLanguages", - "type": "Array" - }, - { - "name": "requirePerfectSubtitleMatch", - "baseName": "RequirePerfectSubtitleMatch", - "type": "boolean" - }, - { - "name": "saveSubtitlesWithMedia", - "baseName": "SaveSubtitlesWithMedia", - "type": "boolean" - }, - { - "name": "automaticallyAddToCollection", - "baseName": "AutomaticallyAddToCollection", - "type": "boolean" - }, - { - "name": "allowEmbeddedSubtitles", - "baseName": "AllowEmbeddedSubtitles", - "type": "EmbeddedSubtitleOptions" - }, - { - "name": "typeOptions", - "baseName": "TypeOptions", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return AddVirtualFolderDtoLibraryOptions.attributeTypeMap; - } -} - -export namespace AddVirtualFolderDtoLibraryOptions { -} diff --git a/jellyfin/model/addVirtualFolderRequest.ts b/jellyfin/model/addVirtualFolderRequest.ts deleted file mode 100644 index 2349d31..0000000 --- a/jellyfin/model/addVirtualFolderRequest.ts +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { AddVirtualFolderDtoLibraryOptions } from './addVirtualFolderDtoLibraryOptions'; - -/** -* Add virtual folder dto. -*/ -export class AddVirtualFolderRequest { - 'libraryOptions'?: AddVirtualFolderDtoLibraryOptions | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "libraryOptions", - "baseName": "LibraryOptions", - "type": "AddVirtualFolderDtoLibraryOptions" - } ]; - - static getAttributeTypeMap() { - return AddVirtualFolderRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/adminNotificationDto.ts b/jellyfin/model/adminNotificationDto.ts deleted file mode 100644 index 5b32fc5..0000000 --- a/jellyfin/model/adminNotificationDto.ts +++ /dev/null @@ -1,64 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { NotificationLevel } from './notificationLevel'; - -/** -* The admin notification dto. -*/ -export class AdminNotificationDto { - /** - * Gets or sets the notification name. - */ - 'name'?: string | null; - /** - * Gets or sets the notification description. - */ - 'description'?: string | null; - 'notificationLevel'?: NotificationLevel | null; - /** - * Gets or sets the notification url. - */ - 'url'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "description", - "baseName": "Description", - "type": "string" - }, - { - "name": "notificationLevel", - "baseName": "NotificationLevel", - "type": "NotificationLevel" - }, - { - "name": "url", - "baseName": "Url", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return AdminNotificationDto.attributeTypeMap; - } -} - -export namespace AdminNotificationDto { -} diff --git a/jellyfin/model/albumInfo.ts b/jellyfin/model/albumInfo.ts deleted file mode 100644 index b8355e8..0000000 --- a/jellyfin/model/albumInfo.ts +++ /dev/null @@ -1,137 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { SongInfo } from './songInfo'; - -export class AlbumInfo { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the original title. - */ - 'originalTitle'?: string | null; - /** - * Gets or sets the path. - */ - 'path'?: string | null; - /** - * Gets or sets the metadata language. - */ - 'metadataLanguage'?: string | null; - /** - * Gets or sets the metadata country code. - */ - 'metadataCountryCode'?: string | null; - /** - * Gets or sets the provider ids. - */ - 'providerIds'?: { [key: string]: string; } | null; - /** - * Gets or sets the year. - */ - 'year'?: number | null; - 'indexNumber'?: number | null; - 'parentIndexNumber'?: number | null; - 'premiereDate'?: Date | null; - 'isAutomated'?: boolean; - /** - * Gets or sets the album artist. - */ - 'albumArtists'?: Array; - /** - * Gets or sets the artist provider ids. - */ - 'artistProviderIds'?: { [key: string]: string; }; - 'songInfos'?: Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "originalTitle", - "baseName": "OriginalTitle", - "type": "string" - }, - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "metadataLanguage", - "baseName": "MetadataLanguage", - "type": "string" - }, - { - "name": "metadataCountryCode", - "baseName": "MetadataCountryCode", - "type": "string" - }, - { - "name": "providerIds", - "baseName": "ProviderIds", - "type": "{ [key: string]: string; }" - }, - { - "name": "year", - "baseName": "Year", - "type": "number" - }, - { - "name": "indexNumber", - "baseName": "IndexNumber", - "type": "number" - }, - { - "name": "parentIndexNumber", - "baseName": "ParentIndexNumber", - "type": "number" - }, - { - "name": "premiereDate", - "baseName": "PremiereDate", - "type": "Date" - }, - { - "name": "isAutomated", - "baseName": "IsAutomated", - "type": "boolean" - }, - { - "name": "albumArtists", - "baseName": "AlbumArtists", - "type": "Array" - }, - { - "name": "artistProviderIds", - "baseName": "ArtistProviderIds", - "type": "{ [key: string]: string; }" - }, - { - "name": "songInfos", - "baseName": "SongInfos", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return AlbumInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/albumInfoRemoteSearchQuery.ts b/jellyfin/model/albumInfoRemoteSearchQuery.ts deleted file mode 100644 index 9ec41e4..0000000 --- a/jellyfin/model/albumInfoRemoteSearchQuery.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { AlbumInfo } from './albumInfo'; - -export class AlbumInfoRemoteSearchQuery { - 'searchInfo'?: AlbumInfo | null; - 'itemId'?: string; - /** - * Gets or sets the provider name to search within if set. - */ - 'searchProviderName'?: string | null; - /** - * Gets or sets a value indicating whether disabled providers should be included. - */ - 'includeDisabledProviders'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "searchInfo", - "baseName": "SearchInfo", - "type": "AlbumInfo" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "searchProviderName", - "baseName": "SearchProviderName", - "type": "string" - }, - { - "name": "includeDisabledProviders", - "baseName": "IncludeDisabledProviders", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return AlbumInfoRemoteSearchQuery.attributeTypeMap; - } -} - diff --git a/jellyfin/model/allThemeMediaResult.ts b/jellyfin/model/allThemeMediaResult.ts deleted file mode 100644 index a1ed9d2..0000000 --- a/jellyfin/model/allThemeMediaResult.ts +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { AllThemeMediaResultThemeVideosResult } from './allThemeMediaResultThemeVideosResult'; - -export class AllThemeMediaResult { - 'themeVideosResult'?: AllThemeMediaResultThemeVideosResult | null; - 'themeSongsResult'?: AllThemeMediaResultThemeVideosResult | null; - 'soundtrackSongsResult'?: AllThemeMediaResultThemeVideosResult | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "themeVideosResult", - "baseName": "ThemeVideosResult", - "type": "AllThemeMediaResultThemeVideosResult" - }, - { - "name": "themeSongsResult", - "baseName": "ThemeSongsResult", - "type": "AllThemeMediaResultThemeVideosResult" - }, - { - "name": "soundtrackSongsResult", - "baseName": "SoundtrackSongsResult", - "type": "AllThemeMediaResultThemeVideosResult" - } ]; - - static getAttributeTypeMap() { - return AllThemeMediaResult.attributeTypeMap; - } -} - diff --git a/jellyfin/model/allThemeMediaResultThemeVideosResult.ts b/jellyfin/model/allThemeMediaResultThemeVideosResult.ts deleted file mode 100644 index 0be90b1..0000000 --- a/jellyfin/model/allThemeMediaResultThemeVideosResult.ts +++ /dev/null @@ -1,65 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { BaseItemDto } from './baseItemDto'; - -/** -* Class ThemeMediaResult. -*/ -export class AllThemeMediaResultThemeVideosResult { - /** - * Gets or sets the items. - */ - 'items'?: Array | null; - /** - * Gets or sets the total number of records available. - */ - 'totalRecordCount'?: number; - /** - * Gets or sets the index of the first record in Items. - */ - 'startIndex'?: number; - /** - * Gets or sets the owner id. - */ - 'ownerId'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "items", - "baseName": "Items", - "type": "Array" - }, - { - "name": "totalRecordCount", - "baseName": "TotalRecordCount", - "type": "number" - }, - { - "name": "startIndex", - "baseName": "StartIndex", - "type": "number" - }, - { - "name": "ownerId", - "baseName": "OwnerId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return AllThemeMediaResultThemeVideosResult.attributeTypeMap; - } -} - diff --git a/jellyfin/model/applySearchCriteriaRequest.ts b/jellyfin/model/applySearchCriteriaRequest.ts deleted file mode 100644 index c934dc0..0000000 --- a/jellyfin/model/applySearchCriteriaRequest.ts +++ /dev/null @@ -1,107 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { RemoteSearchResult } from './remoteSearchResult'; - -export class ApplySearchCriteriaRequest { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the provider ids. - */ - 'providerIds'?: { [key: string]: string; } | null; - /** - * Gets or sets the year. - */ - 'productionYear'?: number | null; - 'indexNumber'?: number | null; - 'indexNumberEnd'?: number | null; - 'parentIndexNumber'?: number | null; - 'premiereDate'?: Date | null; - 'imageUrl'?: string | null; - 'searchProviderName'?: string | null; - 'overview'?: string | null; - 'albumArtist'?: RemoteSearchResult | null; - 'artists'?: Array | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "providerIds", - "baseName": "ProviderIds", - "type": "{ [key: string]: string; }" - }, - { - "name": "productionYear", - "baseName": "ProductionYear", - "type": "number" - }, - { - "name": "indexNumber", - "baseName": "IndexNumber", - "type": "number" - }, - { - "name": "indexNumberEnd", - "baseName": "IndexNumberEnd", - "type": "number" - }, - { - "name": "parentIndexNumber", - "baseName": "ParentIndexNumber", - "type": "number" - }, - { - "name": "premiereDate", - "baseName": "PremiereDate", - "type": "Date" - }, - { - "name": "imageUrl", - "baseName": "ImageUrl", - "type": "string" - }, - { - "name": "searchProviderName", - "baseName": "SearchProviderName", - "type": "string" - }, - { - "name": "overview", - "baseName": "Overview", - "type": "string" - }, - { - "name": "albumArtist", - "baseName": "AlbumArtist", - "type": "RemoteSearchResult" - }, - { - "name": "artists", - "baseName": "Artists", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return ApplySearchCriteriaRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/architecture.ts b/jellyfin/model/architecture.ts deleted file mode 100644 index b621576..0000000 --- a/jellyfin/model/architecture.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum Architecture { - X86 = 'X86', - X64 = 'X64', - Arm = 'Arm', - Arm64 = 'Arm64', - Wasm = 'Wasm', - S390x = 'S390x' -} diff --git a/jellyfin/model/artistInfo.ts b/jellyfin/model/artistInfo.ts deleted file mode 100644 index c7b6578..0000000 --- a/jellyfin/model/artistInfo.ts +++ /dev/null @@ -1,119 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { SongInfo } from './songInfo'; - -export class ArtistInfo { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the original title. - */ - 'originalTitle'?: string | null; - /** - * Gets or sets the path. - */ - 'path'?: string | null; - /** - * Gets or sets the metadata language. - */ - 'metadataLanguage'?: string | null; - /** - * Gets or sets the metadata country code. - */ - 'metadataCountryCode'?: string | null; - /** - * Gets or sets the provider ids. - */ - 'providerIds'?: { [key: string]: string; } | null; - /** - * Gets or sets the year. - */ - 'year'?: number | null; - 'indexNumber'?: number | null; - 'parentIndexNumber'?: number | null; - 'premiereDate'?: Date | null; - 'isAutomated'?: boolean; - 'songInfos'?: Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "originalTitle", - "baseName": "OriginalTitle", - "type": "string" - }, - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "metadataLanguage", - "baseName": "MetadataLanguage", - "type": "string" - }, - { - "name": "metadataCountryCode", - "baseName": "MetadataCountryCode", - "type": "string" - }, - { - "name": "providerIds", - "baseName": "ProviderIds", - "type": "{ [key: string]: string; }" - }, - { - "name": "year", - "baseName": "Year", - "type": "number" - }, - { - "name": "indexNumber", - "baseName": "IndexNumber", - "type": "number" - }, - { - "name": "parentIndexNumber", - "baseName": "ParentIndexNumber", - "type": "number" - }, - { - "name": "premiereDate", - "baseName": "PremiereDate", - "type": "Date" - }, - { - "name": "isAutomated", - "baseName": "IsAutomated", - "type": "boolean" - }, - { - "name": "songInfos", - "baseName": "SongInfos", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return ArtistInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/artistInfoRemoteSearchQuery.ts b/jellyfin/model/artistInfoRemoteSearchQuery.ts deleted file mode 100644 index 0af3165..0000000 --- a/jellyfin/model/artistInfoRemoteSearchQuery.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ArtistInfo } from './artistInfo'; - -export class ArtistInfoRemoteSearchQuery { - 'searchInfo'?: ArtistInfo | null; - 'itemId'?: string; - /** - * Gets or sets the provider name to search within if set. - */ - 'searchProviderName'?: string | null; - /** - * Gets or sets a value indicating whether disabled providers should be included. - */ - 'includeDisabledProviders'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "searchInfo", - "baseName": "SearchInfo", - "type": "ArtistInfo" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "searchProviderName", - "baseName": "SearchProviderName", - "type": "string" - }, - { - "name": "includeDisabledProviders", - "baseName": "IncludeDisabledProviders", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return ArtistInfoRemoteSearchQuery.attributeTypeMap; - } -} - diff --git a/jellyfin/model/authenticateUserByName.ts b/jellyfin/model/authenticateUserByName.ts deleted file mode 100644 index 99055b6..0000000 --- a/jellyfin/model/authenticateUserByName.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* The authenticate user by name request body. -*/ -export class AuthenticateUserByName { - /** - * Gets or sets the username. - */ - 'username'?: string | null; - /** - * Gets or sets the plain text password. - */ - 'pw'?: string | null; - /** - * Gets or sets the sha1-hashed password. - */ - 'password'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "username", - "baseName": "Username", - "type": "string" - }, - { - "name": "pw", - "baseName": "Pw", - "type": "string" - }, - { - "name": "password", - "baseName": "Password", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return AuthenticateUserByName.attributeTypeMap; - } -} - diff --git a/jellyfin/model/authenticateUserByNameRequest.ts b/jellyfin/model/authenticateUserByNameRequest.ts deleted file mode 100644 index d19b839..0000000 --- a/jellyfin/model/authenticateUserByNameRequest.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* The authenticate user by name request body. -*/ -export class AuthenticateUserByNameRequest { - /** - * Gets or sets the username. - */ - 'username'?: string | null; - /** - * Gets or sets the plain text password. - */ - 'pw'?: string | null; - /** - * Gets or sets the sha1-hashed password. - */ - 'password'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "username", - "baseName": "Username", - "type": "string" - }, - { - "name": "pw", - "baseName": "Pw", - "type": "string" - }, - { - "name": "password", - "baseName": "Password", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return AuthenticateUserByNameRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/authenticateWithQuickConnectRequest.ts b/jellyfin/model/authenticateWithQuickConnectRequest.ts deleted file mode 100644 index 2b4f744..0000000 --- a/jellyfin/model/authenticateWithQuickConnectRequest.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* The quick connect request body. -*/ -export class AuthenticateWithQuickConnectRequest { - /** - * Gets or sets the quick connect secret. - */ - 'secret': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "secret", - "baseName": "Secret", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return AuthenticateWithQuickConnectRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/authenticationInfo.ts b/jellyfin/model/authenticationInfo.ts deleted file mode 100644 index 294994f..0000000 --- a/jellyfin/model/authenticationInfo.ts +++ /dev/null @@ -1,127 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class AuthenticationInfo { - /** - * Gets or sets the identifier. - */ - 'id'?: number; - /** - * Gets or sets the access token. - */ - 'accessToken'?: string | null; - /** - * Gets or sets the device identifier. - */ - 'deviceId'?: string | null; - /** - * Gets or sets the name of the application. - */ - 'appName'?: string | null; - /** - * Gets or sets the application version. - */ - 'appVersion'?: string | null; - /** - * Gets or sets the name of the device. - */ - 'deviceName'?: string | null; - /** - * Gets or sets the user identifier. - */ - 'userId'?: string; - /** - * Gets or sets a value indicating whether this instance is active. - */ - 'isActive'?: boolean; - /** - * Gets or sets the date created. - */ - 'dateCreated'?: Date; - /** - * Gets or sets the date revoked. - */ - 'dateRevoked'?: Date | null; - 'dateLastActivity'?: Date; - 'userName'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "id", - "baseName": "Id", - "type": "number" - }, - { - "name": "accessToken", - "baseName": "AccessToken", - "type": "string" - }, - { - "name": "deviceId", - "baseName": "DeviceId", - "type": "string" - }, - { - "name": "appName", - "baseName": "AppName", - "type": "string" - }, - { - "name": "appVersion", - "baseName": "AppVersion", - "type": "string" - }, - { - "name": "deviceName", - "baseName": "DeviceName", - "type": "string" - }, - { - "name": "userId", - "baseName": "UserId", - "type": "string" - }, - { - "name": "isActive", - "baseName": "IsActive", - "type": "boolean" - }, - { - "name": "dateCreated", - "baseName": "DateCreated", - "type": "Date" - }, - { - "name": "dateRevoked", - "baseName": "DateRevoked", - "type": "Date" - }, - { - "name": "dateLastActivity", - "baseName": "DateLastActivity", - "type": "Date" - }, - { - "name": "userName", - "baseName": "UserName", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return AuthenticationInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/authenticationInfoQueryResult.ts b/jellyfin/model/authenticationInfoQueryResult.ts deleted file mode 100644 index 95dafb0..0000000 --- a/jellyfin/model/authenticationInfoQueryResult.ts +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { AuthenticationInfo } from './authenticationInfo'; - -export class AuthenticationInfoQueryResult { - /** - * Gets or sets the items. - */ - 'items'?: Array | null; - /** - * Gets or sets the total number of records available. - */ - 'totalRecordCount'?: number; - /** - * Gets or sets the index of the first record in Items. - */ - 'startIndex'?: number; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "items", - "baseName": "Items", - "type": "Array" - }, - { - "name": "totalRecordCount", - "baseName": "TotalRecordCount", - "type": "number" - }, - { - "name": "startIndex", - "baseName": "StartIndex", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return AuthenticationInfoQueryResult.attributeTypeMap; - } -} - diff --git a/jellyfin/model/authenticationResult.ts b/jellyfin/model/authenticationResult.ts deleted file mode 100644 index b64a9e6..0000000 --- a/jellyfin/model/authenticationResult.ts +++ /dev/null @@ -1,51 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { AuthenticationResultSessionInfo } from './authenticationResultSessionInfo'; -import { AuthenticationResultUser } from './authenticationResultUser'; - -export class AuthenticationResult { - 'user'?: AuthenticationResultUser | null; - 'sessionInfo'?: AuthenticationResultSessionInfo | null; - 'accessToken'?: string | null; - 'serverId'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "user", - "baseName": "User", - "type": "AuthenticationResultUser" - }, - { - "name": "sessionInfo", - "baseName": "SessionInfo", - "type": "AuthenticationResultSessionInfo" - }, - { - "name": "accessToken", - "baseName": "AccessToken", - "type": "string" - }, - { - "name": "serverId", - "baseName": "ServerId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return AuthenticationResult.attributeTypeMap; - } -} - diff --git a/jellyfin/model/authenticationResultSessionInfo.ts b/jellyfin/model/authenticationResultSessionInfo.ts deleted file mode 100644 index 3fdc36d..0000000 --- a/jellyfin/model/authenticationResultSessionInfo.ts +++ /dev/null @@ -1,253 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { BaseItemDto } from './baseItemDto'; -import { ClientCapabilities } from './clientCapabilities'; -import { GeneralCommandType } from './generalCommandType'; -import { PlayerStateInfo } from './playerStateInfo'; -import { QueueItem } from './queueItem'; -import { SessionInfoFullNowPlayingItem } from './sessionInfoFullNowPlayingItem'; -import { SessionInfoNowPlayingItem } from './sessionInfoNowPlayingItem'; -import { SessionUserInfo } from './sessionUserInfo'; -import { TranscodingInfo } from './transcodingInfo'; - -/** -* Class SessionInfo. -*/ -export class AuthenticationResultSessionInfo { - 'playState'?: PlayerStateInfo | null; - 'additionalUsers'?: Array | null; - 'capabilities'?: ClientCapabilities | null; - /** - * Gets or sets the remote end point. - */ - 'remoteEndPoint'?: string | null; - /** - * Gets the playable media types. - */ - 'playableMediaTypes'?: Array | null; - /** - * Gets or sets the id. - */ - 'id'?: string | null; - /** - * Gets or sets the user id. - */ - 'userId'?: string; - /** - * Gets or sets the username. - */ - 'userName'?: string | null; - /** - * Gets or sets the type of the client. - */ - 'client'?: string | null; - /** - * Gets or sets the last activity date. - */ - 'lastActivityDate'?: Date; - /** - * Gets or sets the last playback check in. - */ - 'lastPlaybackCheckIn'?: Date; - /** - * Gets or sets the name of the device. - */ - 'deviceName'?: string | null; - /** - * Gets or sets the type of the device. - */ - 'deviceType'?: string | null; - 'nowPlayingItem'?: SessionInfoNowPlayingItem | null; - 'fullNowPlayingItem'?: SessionInfoFullNowPlayingItem | null; - 'nowViewingItem'?: SessionInfoNowPlayingItem | null; - /** - * Gets or sets the device id. - */ - 'deviceId'?: string | null; - /** - * Gets or sets the application version. - */ - 'applicationVersion'?: string | null; - 'transcodingInfo'?: TranscodingInfo | null; - /** - * Gets a value indicating whether this instance is active. - */ - 'isActive'?: boolean; - 'supportsMediaControl'?: boolean; - 'supportsRemoteControl'?: boolean; - 'nowPlayingQueue'?: Array | null; - 'nowPlayingQueueFullItems'?: Array | null; - 'hasCustomDeviceName'?: boolean; - 'playlistItemId'?: string | null; - 'serverId'?: string | null; - 'userPrimaryImageTag'?: string | null; - /** - * Gets the supported commands. - */ - 'supportedCommands'?: Array | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "playState", - "baseName": "PlayState", - "type": "PlayerStateInfo" - }, - { - "name": "additionalUsers", - "baseName": "AdditionalUsers", - "type": "Array" - }, - { - "name": "capabilities", - "baseName": "Capabilities", - "type": "ClientCapabilities" - }, - { - "name": "remoteEndPoint", - "baseName": "RemoteEndPoint", - "type": "string" - }, - { - "name": "playableMediaTypes", - "baseName": "PlayableMediaTypes", - "type": "Array" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "userId", - "baseName": "UserId", - "type": "string" - }, - { - "name": "userName", - "baseName": "UserName", - "type": "string" - }, - { - "name": "client", - "baseName": "Client", - "type": "string" - }, - { - "name": "lastActivityDate", - "baseName": "LastActivityDate", - "type": "Date" - }, - { - "name": "lastPlaybackCheckIn", - "baseName": "LastPlaybackCheckIn", - "type": "Date" - }, - { - "name": "deviceName", - "baseName": "DeviceName", - "type": "string" - }, - { - "name": "deviceType", - "baseName": "DeviceType", - "type": "string" - }, - { - "name": "nowPlayingItem", - "baseName": "NowPlayingItem", - "type": "SessionInfoNowPlayingItem" - }, - { - "name": "fullNowPlayingItem", - "baseName": "FullNowPlayingItem", - "type": "SessionInfoFullNowPlayingItem" - }, - { - "name": "nowViewingItem", - "baseName": "NowViewingItem", - "type": "SessionInfoNowPlayingItem" - }, - { - "name": "deviceId", - "baseName": "DeviceId", - "type": "string" - }, - { - "name": "applicationVersion", - "baseName": "ApplicationVersion", - "type": "string" - }, - { - "name": "transcodingInfo", - "baseName": "TranscodingInfo", - "type": "TranscodingInfo" - }, - { - "name": "isActive", - "baseName": "IsActive", - "type": "boolean" - }, - { - "name": "supportsMediaControl", - "baseName": "SupportsMediaControl", - "type": "boolean" - }, - { - "name": "supportsRemoteControl", - "baseName": "SupportsRemoteControl", - "type": "boolean" - }, - { - "name": "nowPlayingQueue", - "baseName": "NowPlayingQueue", - "type": "Array" - }, - { - "name": "nowPlayingQueueFullItems", - "baseName": "NowPlayingQueueFullItems", - "type": "Array" - }, - { - "name": "hasCustomDeviceName", - "baseName": "HasCustomDeviceName", - "type": "boolean" - }, - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - }, - { - "name": "serverId", - "baseName": "ServerId", - "type": "string" - }, - { - "name": "userPrimaryImageTag", - "baseName": "UserPrimaryImageTag", - "type": "string" - }, - { - "name": "supportedCommands", - "baseName": "SupportedCommands", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return AuthenticationResultSessionInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/authenticationResultUser.ts b/jellyfin/model/authenticationResultUser.ts deleted file mode 100644 index 9a8ec80..0000000 --- a/jellyfin/model/authenticationResultUser.ts +++ /dev/null @@ -1,150 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { UserDtoConfiguration } from './userDtoConfiguration'; -import { UserDtoPolicy } from './userDtoPolicy'; - -/** -* Class UserDto. -*/ -export class AuthenticationResultUser { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the server identifier. - */ - 'serverId'?: string | null; - /** - * Gets or sets the name of the server. This is not used by the server and is for client-side usage only. - */ - 'serverName'?: string | null; - /** - * Gets or sets the id. - */ - 'id'?: string; - /** - * Gets or sets the primary image tag. - */ - 'primaryImageTag'?: string | null; - /** - * Gets or sets a value indicating whether this instance has password. - */ - 'hasPassword'?: boolean; - /** - * Gets or sets a value indicating whether this instance has configured password. - */ - 'hasConfiguredPassword'?: boolean; - /** - * Gets or sets a value indicating whether this instance has configured easy password. - */ - 'hasConfiguredEasyPassword'?: boolean; - /** - * Gets or sets whether async login is enabled or not. - */ - 'enableAutoLogin'?: boolean | null; - /** - * Gets or sets the last login date. - */ - 'lastLoginDate'?: Date | null; - /** - * Gets or sets the last activity date. - */ - 'lastActivityDate'?: Date | null; - 'configuration'?: UserDtoConfiguration | null; - 'policy'?: UserDtoPolicy | null; - /** - * Gets or sets the primary image aspect ratio. - */ - 'primaryImageAspectRatio'?: number | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "serverId", - "baseName": "ServerId", - "type": "string" - }, - { - "name": "serverName", - "baseName": "ServerName", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "primaryImageTag", - "baseName": "PrimaryImageTag", - "type": "string" - }, - { - "name": "hasPassword", - "baseName": "HasPassword", - "type": "boolean" - }, - { - "name": "hasConfiguredPassword", - "baseName": "HasConfiguredPassword", - "type": "boolean" - }, - { - "name": "hasConfiguredEasyPassword", - "baseName": "HasConfiguredEasyPassword", - "type": "boolean" - }, - { - "name": "enableAutoLogin", - "baseName": "EnableAutoLogin", - "type": "boolean" - }, - { - "name": "lastLoginDate", - "baseName": "LastLoginDate", - "type": "Date" - }, - { - "name": "lastActivityDate", - "baseName": "LastActivityDate", - "type": "Date" - }, - { - "name": "configuration", - "baseName": "Configuration", - "type": "UserDtoConfiguration" - }, - { - "name": "policy", - "baseName": "Policy", - "type": "UserDtoPolicy" - }, - { - "name": "primaryImageAspectRatio", - "baseName": "PrimaryImageAspectRatio", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return AuthenticationResultUser.attributeTypeMap; - } -} - diff --git a/jellyfin/model/baseItem.ts b/jellyfin/model/baseItem.ts deleted file mode 100644 index 77b14a5..0000000 --- a/jellyfin/model/baseItem.ts +++ /dev/null @@ -1,98 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { MediaUrl } from './mediaUrl'; - -/** -* Class BaseItem. -*/ -export class BaseItem { - 'size'?: number | null; - 'container'?: string | null; - 'isHD'?: boolean; - 'isShortcut'?: boolean; - 'shortcutPath'?: string | null; - 'width'?: number; - 'height'?: number; - 'extraIds'?: Array | null; - 'dateLastSaved'?: Date; - /** - * Gets or sets the remote trailers. - */ - 'remoteTrailers'?: Array | null; - 'supportsExternalTransfer'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "size", - "baseName": "Size", - "type": "number" - }, - { - "name": "container", - "baseName": "Container", - "type": "string" - }, - { - "name": "isHD", - "baseName": "IsHD", - "type": "boolean" - }, - { - "name": "isShortcut", - "baseName": "IsShortcut", - "type": "boolean" - }, - { - "name": "shortcutPath", - "baseName": "ShortcutPath", - "type": "string" - }, - { - "name": "width", - "baseName": "Width", - "type": "number" - }, - { - "name": "height", - "baseName": "Height", - "type": "number" - }, - { - "name": "extraIds", - "baseName": "ExtraIds", - "type": "Array" - }, - { - "name": "dateLastSaved", - "baseName": "DateLastSaved", - "type": "Date" - }, - { - "name": "remoteTrailers", - "baseName": "RemoteTrailers", - "type": "Array" - }, - { - "name": "supportsExternalTransfer", - "baseName": "SupportsExternalTransfer", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return BaseItem.attributeTypeMap; - } -} - diff --git a/jellyfin/model/baseItemDto.ts b/jellyfin/model/baseItemDto.ts deleted file mode 100644 index cbf5090..0000000 --- a/jellyfin/model/baseItemDto.ts +++ /dev/null @@ -1,1272 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { BaseItemDtoCurrentProgram } from './baseItemDtoCurrentProgram'; -import { BaseItemDtoImageBlurHashes } from './baseItemDtoImageBlurHashes'; -import { BaseItemDtoUserData } from './baseItemDtoUserData'; -import { BaseItemKind } from './baseItemKind'; -import { BaseItemPerson } from './baseItemPerson'; -import { ChannelType } from './channelType'; -import { ChapterInfo } from './chapterInfo'; -import { DayOfWeek } from './dayOfWeek'; -import { ExternalUrl } from './externalUrl'; -import { ImageOrientation } from './imageOrientation'; -import { IsoType } from './isoType'; -import { LocationType } from './locationType'; -import { MediaSourceInfo } from './mediaSourceInfo'; -import { MediaStream } from './mediaStream'; -import { MediaUrl } from './mediaUrl'; -import { MetadataField } from './metadataField'; -import { NameGuidPair } from './nameGuidPair'; -import { PlayAccess } from './playAccess'; -import { ProgramAudio } from './programAudio'; -import { Video3DFormat } from './video3DFormat'; -import { VideoType } from './videoType'; - -/** -* This is strictly used as a data transfer object from the api layer. This holds information about a BaseItem in a format that is convenient for the client. -*/ -export class BaseItemDto { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - 'originalTitle'?: string | null; - /** - * Gets or sets the server identifier. - */ - 'serverId'?: string | null; - /** - * Gets or sets the id. - */ - 'id'?: string; - /** - * Gets or sets the etag. - */ - 'etag'?: string | null; - /** - * Gets or sets the type of the source. - */ - 'sourceType'?: string | null; - /** - * Gets or sets the playlist item identifier. - */ - 'playlistItemId'?: string | null; - /** - * Gets or sets the date created. - */ - 'dateCreated'?: Date | null; - 'dateLastMediaAdded'?: Date | null; - 'extraType'?: string | null; - 'airsBeforeSeasonNumber'?: number | null; - 'airsAfterSeasonNumber'?: number | null; - 'airsBeforeEpisodeNumber'?: number | null; - 'canDelete'?: boolean | null; - 'canDownload'?: boolean | null; - 'hasSubtitles'?: boolean | null; - 'preferredMetadataLanguage'?: string | null; - 'preferredMetadataCountryCode'?: string | null; - /** - * Gets or sets a value indicating whether [supports synchronize]. - */ - 'supportsSync'?: boolean | null; - 'container'?: string | null; - /** - * Gets or sets the name of the sort. - */ - 'sortName'?: string | null; - 'forcedSortName'?: string | null; - 'video3DFormat'?: Video3DFormat | null; - /** - * Gets or sets the premiere date. - */ - 'premiereDate'?: Date | null; - /** - * Gets or sets the external urls. - */ - 'externalUrls'?: Array | null; - /** - * Gets or sets the media versions. - */ - 'mediaSources'?: Array | null; - /** - * Gets or sets the critic rating. - */ - 'criticRating'?: number | null; - 'productionLocations'?: Array | null; - /** - * Gets or sets the path. - */ - 'path'?: string | null; - 'enableMediaSourceDisplay'?: boolean | null; - /** - * Gets or sets the official rating. - */ - 'officialRating'?: string | null; - /** - * Gets or sets the custom rating. - */ - 'customRating'?: string | null; - /** - * Gets or sets the channel identifier. - */ - 'channelId'?: string | null; - 'channelName'?: string | null; - /** - * Gets or sets the overview. - */ - 'overview'?: string | null; - /** - * Gets or sets the taglines. - */ - 'taglines'?: Array | null; - /** - * Gets or sets the genres. - */ - 'genres'?: Array | null; - /** - * Gets or sets the community rating. - */ - 'communityRating'?: number | null; - /** - * Gets or sets the cumulative run time ticks. - */ - 'cumulativeRunTimeTicks'?: number | null; - /** - * Gets or sets the run time ticks. - */ - 'runTimeTicks'?: number | null; - 'playAccess'?: PlayAccess | null; - /** - * Gets or sets the aspect ratio. - */ - 'aspectRatio'?: string | null; - /** - * Gets or sets the production year. - */ - 'productionYear'?: number | null; - /** - * Gets or sets a value indicating whether this instance is place holder. - */ - 'isPlaceHolder'?: boolean | null; - /** - * Gets or sets the number. - */ - 'number'?: string | null; - 'channelNumber'?: string | null; - /** - * Gets or sets the index number. - */ - 'indexNumber'?: number | null; - /** - * Gets or sets the index number end. - */ - 'indexNumberEnd'?: number | null; - /** - * Gets or sets the parent index number. - */ - 'parentIndexNumber'?: number | null; - /** - * Gets or sets the trailer urls. - */ - 'remoteTrailers'?: Array | null; - /** - * Gets or sets the provider ids. - */ - 'providerIds'?: { [key: string]: string; } | null; - /** - * Gets or sets a value indicating whether this instance is HD. - */ - 'isHD'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is folder. - */ - 'isFolder'?: boolean | null; - /** - * Gets or sets the parent id. - */ - 'parentId'?: string | null; - 'type'?: BaseItemKind; - /** - * Gets or sets the people. - */ - 'people'?: Array | null; - /** - * Gets or sets the studios. - */ - 'studios'?: Array | null; - 'genreItems'?: Array | null; - /** - * Gets or sets wether the item has a logo, this will hold the Id of the Parent that has one. - */ - 'parentLogoItemId'?: string | null; - /** - * Gets or sets wether the item has any backdrops, this will hold the Id of the Parent that has one. - */ - 'parentBackdropItemId'?: string | null; - /** - * Gets or sets the parent backdrop image tags. - */ - 'parentBackdropImageTags'?: Array | null; - /** - * Gets or sets the local trailer count. - */ - 'localTrailerCount'?: number | null; - 'userData'?: BaseItemDtoUserData | null; - /** - * Gets or sets the recursive item count. - */ - 'recursiveItemCount'?: number | null; - /** - * Gets or sets the child count. - */ - 'childCount'?: number | null; - /** - * Gets or sets the name of the series. - */ - 'seriesName'?: string | null; - /** - * Gets or sets the series id. - */ - 'seriesId'?: string | null; - /** - * Gets or sets the season identifier. - */ - 'seasonId'?: string | null; - /** - * Gets or sets the special feature count. - */ - 'specialFeatureCount'?: number | null; - /** - * Gets or sets the display preferences id. - */ - 'displayPreferencesId'?: string | null; - /** - * Gets or sets the status. - */ - 'status'?: string | null; - /** - * Gets or sets the air time. - */ - 'airTime'?: string | null; - /** - * Gets or sets the air days. - */ - 'airDays'?: Array | null; - /** - * Gets or sets the tags. - */ - 'tags'?: Array | null; - /** - * Gets or sets the primary image aspect ratio, after image enhancements. - */ - 'primaryImageAspectRatio'?: number | null; - /** - * Gets or sets the artists. - */ - 'artists'?: Array | null; - /** - * Gets or sets the artist items. - */ - 'artistItems'?: Array | null; - /** - * Gets or sets the album. - */ - 'album'?: string | null; - /** - * Gets or sets the type of the collection. - */ - 'collectionType'?: string | null; - /** - * Gets or sets the display order. - */ - 'displayOrder'?: string | null; - /** - * Gets or sets the album id. - */ - 'albumId'?: string | null; - /** - * Gets or sets the album image tag. - */ - 'albumPrimaryImageTag'?: string | null; - /** - * Gets or sets the series primary image tag. - */ - 'seriesPrimaryImageTag'?: string | null; - /** - * Gets or sets the album artist. - */ - 'albumArtist'?: string | null; - /** - * Gets or sets the album artists. - */ - 'albumArtists'?: Array | null; - /** - * Gets or sets the name of the season. - */ - 'seasonName'?: string | null; - /** - * Gets or sets the media streams. - */ - 'mediaStreams'?: Array | null; - 'videoType'?: VideoType | null; - /** - * Gets or sets the part count. - */ - 'partCount'?: number | null; - 'mediaSourceCount'?: number | null; - /** - * Gets or sets the image tags. - */ - 'imageTags'?: { [key: string]: string; } | null; - /** - * Gets or sets the backdrop image tags. - */ - 'backdropImageTags'?: Array | null; - /** - * Gets or sets the screenshot image tags. - */ - 'screenshotImageTags'?: Array | null; - /** - * Gets or sets the parent logo image tag. - */ - 'parentLogoImageTag'?: string | null; - /** - * Gets or sets wether the item has fan art, this will hold the Id of the Parent that has one. - */ - 'parentArtItemId'?: string | null; - /** - * Gets or sets the parent art image tag. - */ - 'parentArtImageTag'?: string | null; - /** - * Gets or sets the series thumb image tag. - */ - 'seriesThumbImageTag'?: string | null; - 'imageBlurHashes'?: BaseItemDtoImageBlurHashes | null; - /** - * Gets or sets the series studio. - */ - 'seriesStudio'?: string | null; - /** - * Gets or sets the parent thumb item id. - */ - 'parentThumbItemId'?: string | null; - /** - * Gets or sets the parent thumb image tag. - */ - 'parentThumbImageTag'?: string | null; - /** - * Gets or sets the parent primary image item identifier. - */ - 'parentPrimaryImageItemId'?: string | null; - /** - * Gets or sets the parent primary image tag. - */ - 'parentPrimaryImageTag'?: string | null; - /** - * Gets or sets the chapters. - */ - 'chapters'?: Array | null; - 'locationType'?: LocationType | null; - 'isoType'?: IsoType | null; - /** - * Gets or sets the type of the media. - */ - 'mediaType'?: string | null; - /** - * Gets or sets the end date. - */ - 'endDate'?: Date | null; - /** - * Gets or sets the locked fields. - */ - 'lockedFields'?: Array | null; - /** - * Gets or sets the trailer count. - */ - 'trailerCount'?: number | null; - /** - * Gets or sets the movie count. - */ - 'movieCount'?: number | null; - /** - * Gets or sets the series count. - */ - 'seriesCount'?: number | null; - 'programCount'?: number | null; - /** - * Gets or sets the episode count. - */ - 'episodeCount'?: number | null; - /** - * Gets or sets the song count. - */ - 'songCount'?: number | null; - /** - * Gets or sets the album count. - */ - 'albumCount'?: number | null; - 'artistCount'?: number | null; - /** - * Gets or sets the music video count. - */ - 'musicVideoCount'?: number | null; - /** - * Gets or sets a value indicating whether [enable internet providers]. - */ - 'lockData'?: boolean | null; - 'width'?: number | null; - 'height'?: number | null; - 'cameraMake'?: string | null; - 'cameraModel'?: string | null; - 'software'?: string | null; - 'exposureTime'?: number | null; - 'focalLength'?: number | null; - 'imageOrientation'?: ImageOrientation | null; - 'aperture'?: number | null; - 'shutterSpeed'?: number | null; - 'latitude'?: number | null; - 'longitude'?: number | null; - 'altitude'?: number | null; - 'isoSpeedRating'?: number | null; - /** - * Gets or sets the series timer identifier. - */ - 'seriesTimerId'?: string | null; - /** - * Gets or sets the program identifier. - */ - 'programId'?: string | null; - /** - * Gets or sets the channel primary image tag. - */ - 'channelPrimaryImageTag'?: string | null; - /** - * Gets or sets the start date of the recording, in UTC. - */ - 'startDate'?: Date | null; - /** - * Gets or sets the completion percentage. - */ - 'completionPercentage'?: number | null; - /** - * Gets or sets a value indicating whether this instance is repeat. - */ - 'isRepeat'?: boolean | null; - /** - * Gets or sets the episode title. - */ - 'episodeTitle'?: string | null; - 'channelType'?: ChannelType | null; - 'audio'?: ProgramAudio | null; - /** - * Gets or sets a value indicating whether this instance is movie. - */ - 'isMovie'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is sports. - */ - 'isSports'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is series. - */ - 'isSeries'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is live. - */ - 'isLive'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is news. - */ - 'isNews'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is kids. - */ - 'isKids'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is premiere. - */ - 'isPremiere'?: boolean | null; - /** - * Gets or sets the timer identifier. - */ - 'timerId'?: string | null; - 'currentProgram'?: BaseItemDtoCurrentProgram | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "originalTitle", - "baseName": "OriginalTitle", - "type": "string" - }, - { - "name": "serverId", - "baseName": "ServerId", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "etag", - "baseName": "Etag", - "type": "string" - }, - { - "name": "sourceType", - "baseName": "SourceType", - "type": "string" - }, - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - }, - { - "name": "dateCreated", - "baseName": "DateCreated", - "type": "Date" - }, - { - "name": "dateLastMediaAdded", - "baseName": "DateLastMediaAdded", - "type": "Date" - }, - { - "name": "extraType", - "baseName": "ExtraType", - "type": "string" - }, - { - "name": "airsBeforeSeasonNumber", - "baseName": "AirsBeforeSeasonNumber", - "type": "number" - }, - { - "name": "airsAfterSeasonNumber", - "baseName": "AirsAfterSeasonNumber", - "type": "number" - }, - { - "name": "airsBeforeEpisodeNumber", - "baseName": "AirsBeforeEpisodeNumber", - "type": "number" - }, - { - "name": "canDelete", - "baseName": "CanDelete", - "type": "boolean" - }, - { - "name": "canDownload", - "baseName": "CanDownload", - "type": "boolean" - }, - { - "name": "hasSubtitles", - "baseName": "HasSubtitles", - "type": "boolean" - }, - { - "name": "preferredMetadataLanguage", - "baseName": "PreferredMetadataLanguage", - "type": "string" - }, - { - "name": "preferredMetadataCountryCode", - "baseName": "PreferredMetadataCountryCode", - "type": "string" - }, - { - "name": "supportsSync", - "baseName": "SupportsSync", - "type": "boolean" - }, - { - "name": "container", - "baseName": "Container", - "type": "string" - }, - { - "name": "sortName", - "baseName": "SortName", - "type": "string" - }, - { - "name": "forcedSortName", - "baseName": "ForcedSortName", - "type": "string" - }, - { - "name": "video3DFormat", - "baseName": "Video3DFormat", - "type": "Video3DFormat" - }, - { - "name": "premiereDate", - "baseName": "PremiereDate", - "type": "Date" - }, - { - "name": "externalUrls", - "baseName": "ExternalUrls", - "type": "Array" - }, - { - "name": "mediaSources", - "baseName": "MediaSources", - "type": "Array" - }, - { - "name": "criticRating", - "baseName": "CriticRating", - "type": "number" - }, - { - "name": "productionLocations", - "baseName": "ProductionLocations", - "type": "Array" - }, - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "enableMediaSourceDisplay", - "baseName": "EnableMediaSourceDisplay", - "type": "boolean" - }, - { - "name": "officialRating", - "baseName": "OfficialRating", - "type": "string" - }, - { - "name": "customRating", - "baseName": "CustomRating", - "type": "string" - }, - { - "name": "channelId", - "baseName": "ChannelId", - "type": "string" - }, - { - "name": "channelName", - "baseName": "ChannelName", - "type": "string" - }, - { - "name": "overview", - "baseName": "Overview", - "type": "string" - }, - { - "name": "taglines", - "baseName": "Taglines", - "type": "Array" - }, - { - "name": "genres", - "baseName": "Genres", - "type": "Array" - }, - { - "name": "communityRating", - "baseName": "CommunityRating", - "type": "number" - }, - { - "name": "cumulativeRunTimeTicks", - "baseName": "CumulativeRunTimeTicks", - "type": "number" - }, - { - "name": "runTimeTicks", - "baseName": "RunTimeTicks", - "type": "number" - }, - { - "name": "playAccess", - "baseName": "PlayAccess", - "type": "PlayAccess" - }, - { - "name": "aspectRatio", - "baseName": "AspectRatio", - "type": "string" - }, - { - "name": "productionYear", - "baseName": "ProductionYear", - "type": "number" - }, - { - "name": "isPlaceHolder", - "baseName": "IsPlaceHolder", - "type": "boolean" - }, - { - "name": "number", - "baseName": "Number", - "type": "string" - }, - { - "name": "channelNumber", - "baseName": "ChannelNumber", - "type": "string" - }, - { - "name": "indexNumber", - "baseName": "IndexNumber", - "type": "number" - }, - { - "name": "indexNumberEnd", - "baseName": "IndexNumberEnd", - "type": "number" - }, - { - "name": "parentIndexNumber", - "baseName": "ParentIndexNumber", - "type": "number" - }, - { - "name": "remoteTrailers", - "baseName": "RemoteTrailers", - "type": "Array" - }, - { - "name": "providerIds", - "baseName": "ProviderIds", - "type": "{ [key: string]: string; }" - }, - { - "name": "isHD", - "baseName": "IsHD", - "type": "boolean" - }, - { - "name": "isFolder", - "baseName": "IsFolder", - "type": "boolean" - }, - { - "name": "parentId", - "baseName": "ParentId", - "type": "string" - }, - { - "name": "type", - "baseName": "Type", - "type": "BaseItemKind" - }, - { - "name": "people", - "baseName": "People", - "type": "Array" - }, - { - "name": "studios", - "baseName": "Studios", - "type": "Array" - }, - { - "name": "genreItems", - "baseName": "GenreItems", - "type": "Array" - }, - { - "name": "parentLogoItemId", - "baseName": "ParentLogoItemId", - "type": "string" - }, - { - "name": "parentBackdropItemId", - "baseName": "ParentBackdropItemId", - "type": "string" - }, - { - "name": "parentBackdropImageTags", - "baseName": "ParentBackdropImageTags", - "type": "Array" - }, - { - "name": "localTrailerCount", - "baseName": "LocalTrailerCount", - "type": "number" - }, - { - "name": "userData", - "baseName": "UserData", - "type": "BaseItemDtoUserData" - }, - { - "name": "recursiveItemCount", - "baseName": "RecursiveItemCount", - "type": "number" - }, - { - "name": "childCount", - "baseName": "ChildCount", - "type": "number" - }, - { - "name": "seriesName", - "baseName": "SeriesName", - "type": "string" - }, - { - "name": "seriesId", - "baseName": "SeriesId", - "type": "string" - }, - { - "name": "seasonId", - "baseName": "SeasonId", - "type": "string" - }, - { - "name": "specialFeatureCount", - "baseName": "SpecialFeatureCount", - "type": "number" - }, - { - "name": "displayPreferencesId", - "baseName": "DisplayPreferencesId", - "type": "string" - }, - { - "name": "status", - "baseName": "Status", - "type": "string" - }, - { - "name": "airTime", - "baseName": "AirTime", - "type": "string" - }, - { - "name": "airDays", - "baseName": "AirDays", - "type": "Array" - }, - { - "name": "tags", - "baseName": "Tags", - "type": "Array" - }, - { - "name": "primaryImageAspectRatio", - "baseName": "PrimaryImageAspectRatio", - "type": "number" - }, - { - "name": "artists", - "baseName": "Artists", - "type": "Array" - }, - { - "name": "artistItems", - "baseName": "ArtistItems", - "type": "Array" - }, - { - "name": "album", - "baseName": "Album", - "type": "string" - }, - { - "name": "collectionType", - "baseName": "CollectionType", - "type": "string" - }, - { - "name": "displayOrder", - "baseName": "DisplayOrder", - "type": "string" - }, - { - "name": "albumId", - "baseName": "AlbumId", - "type": "string" - }, - { - "name": "albumPrimaryImageTag", - "baseName": "AlbumPrimaryImageTag", - "type": "string" - }, - { - "name": "seriesPrimaryImageTag", - "baseName": "SeriesPrimaryImageTag", - "type": "string" - }, - { - "name": "albumArtist", - "baseName": "AlbumArtist", - "type": "string" - }, - { - "name": "albumArtists", - "baseName": "AlbumArtists", - "type": "Array" - }, - { - "name": "seasonName", - "baseName": "SeasonName", - "type": "string" - }, - { - "name": "mediaStreams", - "baseName": "MediaStreams", - "type": "Array" - }, - { - "name": "videoType", - "baseName": "VideoType", - "type": "VideoType" - }, - { - "name": "partCount", - "baseName": "PartCount", - "type": "number" - }, - { - "name": "mediaSourceCount", - "baseName": "MediaSourceCount", - "type": "number" - }, - { - "name": "imageTags", - "baseName": "ImageTags", - "type": "{ [key: string]: string; }" - }, - { - "name": "backdropImageTags", - "baseName": "BackdropImageTags", - "type": "Array" - }, - { - "name": "screenshotImageTags", - "baseName": "ScreenshotImageTags", - "type": "Array" - }, - { - "name": "parentLogoImageTag", - "baseName": "ParentLogoImageTag", - "type": "string" - }, - { - "name": "parentArtItemId", - "baseName": "ParentArtItemId", - "type": "string" - }, - { - "name": "parentArtImageTag", - "baseName": "ParentArtImageTag", - "type": "string" - }, - { - "name": "seriesThumbImageTag", - "baseName": "SeriesThumbImageTag", - "type": "string" - }, - { - "name": "imageBlurHashes", - "baseName": "ImageBlurHashes", - "type": "BaseItemDtoImageBlurHashes" - }, - { - "name": "seriesStudio", - "baseName": "SeriesStudio", - "type": "string" - }, - { - "name": "parentThumbItemId", - "baseName": "ParentThumbItemId", - "type": "string" - }, - { - "name": "parentThumbImageTag", - "baseName": "ParentThumbImageTag", - "type": "string" - }, - { - "name": "parentPrimaryImageItemId", - "baseName": "ParentPrimaryImageItemId", - "type": "string" - }, - { - "name": "parentPrimaryImageTag", - "baseName": "ParentPrimaryImageTag", - "type": "string" - }, - { - "name": "chapters", - "baseName": "Chapters", - "type": "Array" - }, - { - "name": "locationType", - "baseName": "LocationType", - "type": "LocationType" - }, - { - "name": "isoType", - "baseName": "IsoType", - "type": "IsoType" - }, - { - "name": "mediaType", - "baseName": "MediaType", - "type": "string" - }, - { - "name": "endDate", - "baseName": "EndDate", - "type": "Date" - }, - { - "name": "lockedFields", - "baseName": "LockedFields", - "type": "Array" - }, - { - "name": "trailerCount", - "baseName": "TrailerCount", - "type": "number" - }, - { - "name": "movieCount", - "baseName": "MovieCount", - "type": "number" - }, - { - "name": "seriesCount", - "baseName": "SeriesCount", - "type": "number" - }, - { - "name": "programCount", - "baseName": "ProgramCount", - "type": "number" - }, - { - "name": "episodeCount", - "baseName": "EpisodeCount", - "type": "number" - }, - { - "name": "songCount", - "baseName": "SongCount", - "type": "number" - }, - { - "name": "albumCount", - "baseName": "AlbumCount", - "type": "number" - }, - { - "name": "artistCount", - "baseName": "ArtistCount", - "type": "number" - }, - { - "name": "musicVideoCount", - "baseName": "MusicVideoCount", - "type": "number" - }, - { - "name": "lockData", - "baseName": "LockData", - "type": "boolean" - }, - { - "name": "width", - "baseName": "Width", - "type": "number" - }, - { - "name": "height", - "baseName": "Height", - "type": "number" - }, - { - "name": "cameraMake", - "baseName": "CameraMake", - "type": "string" - }, - { - "name": "cameraModel", - "baseName": "CameraModel", - "type": "string" - }, - { - "name": "software", - "baseName": "Software", - "type": "string" - }, - { - "name": "exposureTime", - "baseName": "ExposureTime", - "type": "number" - }, - { - "name": "focalLength", - "baseName": "FocalLength", - "type": "number" - }, - { - "name": "imageOrientation", - "baseName": "ImageOrientation", - "type": "ImageOrientation" - }, - { - "name": "aperture", - "baseName": "Aperture", - "type": "number" - }, - { - "name": "shutterSpeed", - "baseName": "ShutterSpeed", - "type": "number" - }, - { - "name": "latitude", - "baseName": "Latitude", - "type": "number" - }, - { - "name": "longitude", - "baseName": "Longitude", - "type": "number" - }, - { - "name": "altitude", - "baseName": "Altitude", - "type": "number" - }, - { - "name": "isoSpeedRating", - "baseName": "IsoSpeedRating", - "type": "number" - }, - { - "name": "seriesTimerId", - "baseName": "SeriesTimerId", - "type": "string" - }, - { - "name": "programId", - "baseName": "ProgramId", - "type": "string" - }, - { - "name": "channelPrimaryImageTag", - "baseName": "ChannelPrimaryImageTag", - "type": "string" - }, - { - "name": "startDate", - "baseName": "StartDate", - "type": "Date" - }, - { - "name": "completionPercentage", - "baseName": "CompletionPercentage", - "type": "number" - }, - { - "name": "isRepeat", - "baseName": "IsRepeat", - "type": "boolean" - }, - { - "name": "episodeTitle", - "baseName": "EpisodeTitle", - "type": "string" - }, - { - "name": "channelType", - "baseName": "ChannelType", - "type": "ChannelType" - }, - { - "name": "audio", - "baseName": "Audio", - "type": "ProgramAudio" - }, - { - "name": "isMovie", - "baseName": "IsMovie", - "type": "boolean" - }, - { - "name": "isSports", - "baseName": "IsSports", - "type": "boolean" - }, - { - "name": "isSeries", - "baseName": "IsSeries", - "type": "boolean" - }, - { - "name": "isLive", - "baseName": "IsLive", - "type": "boolean" - }, - { - "name": "isNews", - "baseName": "IsNews", - "type": "boolean" - }, - { - "name": "isKids", - "baseName": "IsKids", - "type": "boolean" - }, - { - "name": "isPremiere", - "baseName": "IsPremiere", - "type": "boolean" - }, - { - "name": "timerId", - "baseName": "TimerId", - "type": "string" - }, - { - "name": "currentProgram", - "baseName": "CurrentProgram", - "type": "BaseItemDtoCurrentProgram" - } ]; - - static getAttributeTypeMap() { - return BaseItemDto.attributeTypeMap; - } -} - -export namespace BaseItemDto { -} diff --git a/jellyfin/model/baseItemDtoCurrentProgram.ts b/jellyfin/model/baseItemDtoCurrentProgram.ts deleted file mode 100644 index 0d7b938..0000000 --- a/jellyfin/model/baseItemDtoCurrentProgram.ts +++ /dev/null @@ -1,1271 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { BaseItemDtoImageBlurHashes } from './baseItemDtoImageBlurHashes'; -import { BaseItemDtoUserData } from './baseItemDtoUserData'; -import { BaseItemKind } from './baseItemKind'; -import { BaseItemPerson } from './baseItemPerson'; -import { ChannelType } from './channelType'; -import { ChapterInfo } from './chapterInfo'; -import { DayOfWeek } from './dayOfWeek'; -import { ExternalUrl } from './externalUrl'; -import { ImageOrientation } from './imageOrientation'; -import { IsoType } from './isoType'; -import { LocationType } from './locationType'; -import { MediaSourceInfo } from './mediaSourceInfo'; -import { MediaStream } from './mediaStream'; -import { MediaUrl } from './mediaUrl'; -import { MetadataField } from './metadataField'; -import { NameGuidPair } from './nameGuidPair'; -import { PlayAccess } from './playAccess'; -import { ProgramAudio } from './programAudio'; -import { Video3DFormat } from './video3DFormat'; -import { VideoType } from './videoType'; - -/** -* Gets or sets the current program. -*/ -export class BaseItemDtoCurrentProgram { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - 'originalTitle'?: string | null; - /** - * Gets or sets the server identifier. - */ - 'serverId'?: string | null; - /** - * Gets or sets the id. - */ - 'id'?: string; - /** - * Gets or sets the etag. - */ - 'etag'?: string | null; - /** - * Gets or sets the type of the source. - */ - 'sourceType'?: string | null; - /** - * Gets or sets the playlist item identifier. - */ - 'playlistItemId'?: string | null; - /** - * Gets or sets the date created. - */ - 'dateCreated'?: Date | null; - 'dateLastMediaAdded'?: Date | null; - 'extraType'?: string | null; - 'airsBeforeSeasonNumber'?: number | null; - 'airsAfterSeasonNumber'?: number | null; - 'airsBeforeEpisodeNumber'?: number | null; - 'canDelete'?: boolean | null; - 'canDownload'?: boolean | null; - 'hasSubtitles'?: boolean | null; - 'preferredMetadataLanguage'?: string | null; - 'preferredMetadataCountryCode'?: string | null; - /** - * Gets or sets a value indicating whether [supports synchronize]. - */ - 'supportsSync'?: boolean | null; - 'container'?: string | null; - /** - * Gets or sets the name of the sort. - */ - 'sortName'?: string | null; - 'forcedSortName'?: string | null; - 'video3DFormat'?: Video3DFormat | null; - /** - * Gets or sets the premiere date. - */ - 'premiereDate'?: Date | null; - /** - * Gets or sets the external urls. - */ - 'externalUrls'?: Array | null; - /** - * Gets or sets the media versions. - */ - 'mediaSources'?: Array | null; - /** - * Gets or sets the critic rating. - */ - 'criticRating'?: number | null; - 'productionLocations'?: Array | null; - /** - * Gets or sets the path. - */ - 'path'?: string | null; - 'enableMediaSourceDisplay'?: boolean | null; - /** - * Gets or sets the official rating. - */ - 'officialRating'?: string | null; - /** - * Gets or sets the custom rating. - */ - 'customRating'?: string | null; - /** - * Gets or sets the channel identifier. - */ - 'channelId'?: string | null; - 'channelName'?: string | null; - /** - * Gets or sets the overview. - */ - 'overview'?: string | null; - /** - * Gets or sets the taglines. - */ - 'taglines'?: Array | null; - /** - * Gets or sets the genres. - */ - 'genres'?: Array | null; - /** - * Gets or sets the community rating. - */ - 'communityRating'?: number | null; - /** - * Gets or sets the cumulative run time ticks. - */ - 'cumulativeRunTimeTicks'?: number | null; - /** - * Gets or sets the run time ticks. - */ - 'runTimeTicks'?: number | null; - 'playAccess'?: PlayAccess | null; - /** - * Gets or sets the aspect ratio. - */ - 'aspectRatio'?: string | null; - /** - * Gets or sets the production year. - */ - 'productionYear'?: number | null; - /** - * Gets or sets a value indicating whether this instance is place holder. - */ - 'isPlaceHolder'?: boolean | null; - /** - * Gets or sets the number. - */ - 'number'?: string | null; - 'channelNumber'?: string | null; - /** - * Gets or sets the index number. - */ - 'indexNumber'?: number | null; - /** - * Gets or sets the index number end. - */ - 'indexNumberEnd'?: number | null; - /** - * Gets or sets the parent index number. - */ - 'parentIndexNumber'?: number | null; - /** - * Gets or sets the trailer urls. - */ - 'remoteTrailers'?: Array | null; - /** - * Gets or sets the provider ids. - */ - 'providerIds'?: { [key: string]: string; } | null; - /** - * Gets or sets a value indicating whether this instance is HD. - */ - 'isHD'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is folder. - */ - 'isFolder'?: boolean | null; - /** - * Gets or sets the parent id. - */ - 'parentId'?: string | null; - 'type'?: BaseItemKind; - /** - * Gets or sets the people. - */ - 'people'?: Array | null; - /** - * Gets or sets the studios. - */ - 'studios'?: Array | null; - 'genreItems'?: Array | null; - /** - * Gets or sets wether the item has a logo, this will hold the Id of the Parent that has one. - */ - 'parentLogoItemId'?: string | null; - /** - * Gets or sets wether the item has any backdrops, this will hold the Id of the Parent that has one. - */ - 'parentBackdropItemId'?: string | null; - /** - * Gets or sets the parent backdrop image tags. - */ - 'parentBackdropImageTags'?: Array | null; - /** - * Gets or sets the local trailer count. - */ - 'localTrailerCount'?: number | null; - 'userData'?: BaseItemDtoUserData | null; - /** - * Gets or sets the recursive item count. - */ - 'recursiveItemCount'?: number | null; - /** - * Gets or sets the child count. - */ - 'childCount'?: number | null; - /** - * Gets or sets the name of the series. - */ - 'seriesName'?: string | null; - /** - * Gets or sets the series id. - */ - 'seriesId'?: string | null; - /** - * Gets or sets the season identifier. - */ - 'seasonId'?: string | null; - /** - * Gets or sets the special feature count. - */ - 'specialFeatureCount'?: number | null; - /** - * Gets or sets the display preferences id. - */ - 'displayPreferencesId'?: string | null; - /** - * Gets or sets the status. - */ - 'status'?: string | null; - /** - * Gets or sets the air time. - */ - 'airTime'?: string | null; - /** - * Gets or sets the air days. - */ - 'airDays'?: Array | null; - /** - * Gets or sets the tags. - */ - 'tags'?: Array | null; - /** - * Gets or sets the primary image aspect ratio, after image enhancements. - */ - 'primaryImageAspectRatio'?: number | null; - /** - * Gets or sets the artists. - */ - 'artists'?: Array | null; - /** - * Gets or sets the artist items. - */ - 'artistItems'?: Array | null; - /** - * Gets or sets the album. - */ - 'album'?: string | null; - /** - * Gets or sets the type of the collection. - */ - 'collectionType'?: string | null; - /** - * Gets or sets the display order. - */ - 'displayOrder'?: string | null; - /** - * Gets or sets the album id. - */ - 'albumId'?: string | null; - /** - * Gets or sets the album image tag. - */ - 'albumPrimaryImageTag'?: string | null; - /** - * Gets or sets the series primary image tag. - */ - 'seriesPrimaryImageTag'?: string | null; - /** - * Gets or sets the album artist. - */ - 'albumArtist'?: string | null; - /** - * Gets or sets the album artists. - */ - 'albumArtists'?: Array | null; - /** - * Gets or sets the name of the season. - */ - 'seasonName'?: string | null; - /** - * Gets or sets the media streams. - */ - 'mediaStreams'?: Array | null; - 'videoType'?: VideoType | null; - /** - * Gets or sets the part count. - */ - 'partCount'?: number | null; - 'mediaSourceCount'?: number | null; - /** - * Gets or sets the image tags. - */ - 'imageTags'?: { [key: string]: string; } | null; - /** - * Gets or sets the backdrop image tags. - */ - 'backdropImageTags'?: Array | null; - /** - * Gets or sets the screenshot image tags. - */ - 'screenshotImageTags'?: Array | null; - /** - * Gets or sets the parent logo image tag. - */ - 'parentLogoImageTag'?: string | null; - /** - * Gets or sets wether the item has fan art, this will hold the Id of the Parent that has one. - */ - 'parentArtItemId'?: string | null; - /** - * Gets or sets the parent art image tag. - */ - 'parentArtImageTag'?: string | null; - /** - * Gets or sets the series thumb image tag. - */ - 'seriesThumbImageTag'?: string | null; - 'imageBlurHashes'?: BaseItemDtoImageBlurHashes | null; - /** - * Gets or sets the series studio. - */ - 'seriesStudio'?: string | null; - /** - * Gets or sets the parent thumb item id. - */ - 'parentThumbItemId'?: string | null; - /** - * Gets or sets the parent thumb image tag. - */ - 'parentThumbImageTag'?: string | null; - /** - * Gets or sets the parent primary image item identifier. - */ - 'parentPrimaryImageItemId'?: string | null; - /** - * Gets or sets the parent primary image tag. - */ - 'parentPrimaryImageTag'?: string | null; - /** - * Gets or sets the chapters. - */ - 'chapters'?: Array | null; - 'locationType'?: LocationType | null; - 'isoType'?: IsoType | null; - /** - * Gets or sets the type of the media. - */ - 'mediaType'?: string | null; - /** - * Gets or sets the end date. - */ - 'endDate'?: Date | null; - /** - * Gets or sets the locked fields. - */ - 'lockedFields'?: Array | null; - /** - * Gets or sets the trailer count. - */ - 'trailerCount'?: number | null; - /** - * Gets or sets the movie count. - */ - 'movieCount'?: number | null; - /** - * Gets or sets the series count. - */ - 'seriesCount'?: number | null; - 'programCount'?: number | null; - /** - * Gets or sets the episode count. - */ - 'episodeCount'?: number | null; - /** - * Gets or sets the song count. - */ - 'songCount'?: number | null; - /** - * Gets or sets the album count. - */ - 'albumCount'?: number | null; - 'artistCount'?: number | null; - /** - * Gets or sets the music video count. - */ - 'musicVideoCount'?: number | null; - /** - * Gets or sets a value indicating whether [enable internet providers]. - */ - 'lockData'?: boolean | null; - 'width'?: number | null; - 'height'?: number | null; - 'cameraMake'?: string | null; - 'cameraModel'?: string | null; - 'software'?: string | null; - 'exposureTime'?: number | null; - 'focalLength'?: number | null; - 'imageOrientation'?: ImageOrientation | null; - 'aperture'?: number | null; - 'shutterSpeed'?: number | null; - 'latitude'?: number | null; - 'longitude'?: number | null; - 'altitude'?: number | null; - 'isoSpeedRating'?: number | null; - /** - * Gets or sets the series timer identifier. - */ - 'seriesTimerId'?: string | null; - /** - * Gets or sets the program identifier. - */ - 'programId'?: string | null; - /** - * Gets or sets the channel primary image tag. - */ - 'channelPrimaryImageTag'?: string | null; - /** - * Gets or sets the start date of the recording, in UTC. - */ - 'startDate'?: Date | null; - /** - * Gets or sets the completion percentage. - */ - 'completionPercentage'?: number | null; - /** - * Gets or sets a value indicating whether this instance is repeat. - */ - 'isRepeat'?: boolean | null; - /** - * Gets or sets the episode title. - */ - 'episodeTitle'?: string | null; - 'channelType'?: ChannelType | null; - 'audio'?: ProgramAudio | null; - /** - * Gets or sets a value indicating whether this instance is movie. - */ - 'isMovie'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is sports. - */ - 'isSports'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is series. - */ - 'isSeries'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is live. - */ - 'isLive'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is news. - */ - 'isNews'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is kids. - */ - 'isKids'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is premiere. - */ - 'isPremiere'?: boolean | null; - /** - * Gets or sets the timer identifier. - */ - 'timerId'?: string | null; - 'currentProgram'?: BaseItemDtoCurrentProgram | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "originalTitle", - "baseName": "OriginalTitle", - "type": "string" - }, - { - "name": "serverId", - "baseName": "ServerId", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "etag", - "baseName": "Etag", - "type": "string" - }, - { - "name": "sourceType", - "baseName": "SourceType", - "type": "string" - }, - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - }, - { - "name": "dateCreated", - "baseName": "DateCreated", - "type": "Date" - }, - { - "name": "dateLastMediaAdded", - "baseName": "DateLastMediaAdded", - "type": "Date" - }, - { - "name": "extraType", - "baseName": "ExtraType", - "type": "string" - }, - { - "name": "airsBeforeSeasonNumber", - "baseName": "AirsBeforeSeasonNumber", - "type": "number" - }, - { - "name": "airsAfterSeasonNumber", - "baseName": "AirsAfterSeasonNumber", - "type": "number" - }, - { - "name": "airsBeforeEpisodeNumber", - "baseName": "AirsBeforeEpisodeNumber", - "type": "number" - }, - { - "name": "canDelete", - "baseName": "CanDelete", - "type": "boolean" - }, - { - "name": "canDownload", - "baseName": "CanDownload", - "type": "boolean" - }, - { - "name": "hasSubtitles", - "baseName": "HasSubtitles", - "type": "boolean" - }, - { - "name": "preferredMetadataLanguage", - "baseName": "PreferredMetadataLanguage", - "type": "string" - }, - { - "name": "preferredMetadataCountryCode", - "baseName": "PreferredMetadataCountryCode", - "type": "string" - }, - { - "name": "supportsSync", - "baseName": "SupportsSync", - "type": "boolean" - }, - { - "name": "container", - "baseName": "Container", - "type": "string" - }, - { - "name": "sortName", - "baseName": "SortName", - "type": "string" - }, - { - "name": "forcedSortName", - "baseName": "ForcedSortName", - "type": "string" - }, - { - "name": "video3DFormat", - "baseName": "Video3DFormat", - "type": "Video3DFormat" - }, - { - "name": "premiereDate", - "baseName": "PremiereDate", - "type": "Date" - }, - { - "name": "externalUrls", - "baseName": "ExternalUrls", - "type": "Array" - }, - { - "name": "mediaSources", - "baseName": "MediaSources", - "type": "Array" - }, - { - "name": "criticRating", - "baseName": "CriticRating", - "type": "number" - }, - { - "name": "productionLocations", - "baseName": "ProductionLocations", - "type": "Array" - }, - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "enableMediaSourceDisplay", - "baseName": "EnableMediaSourceDisplay", - "type": "boolean" - }, - { - "name": "officialRating", - "baseName": "OfficialRating", - "type": "string" - }, - { - "name": "customRating", - "baseName": "CustomRating", - "type": "string" - }, - { - "name": "channelId", - "baseName": "ChannelId", - "type": "string" - }, - { - "name": "channelName", - "baseName": "ChannelName", - "type": "string" - }, - { - "name": "overview", - "baseName": "Overview", - "type": "string" - }, - { - "name": "taglines", - "baseName": "Taglines", - "type": "Array" - }, - { - "name": "genres", - "baseName": "Genres", - "type": "Array" - }, - { - "name": "communityRating", - "baseName": "CommunityRating", - "type": "number" - }, - { - "name": "cumulativeRunTimeTicks", - "baseName": "CumulativeRunTimeTicks", - "type": "number" - }, - { - "name": "runTimeTicks", - "baseName": "RunTimeTicks", - "type": "number" - }, - { - "name": "playAccess", - "baseName": "PlayAccess", - "type": "PlayAccess" - }, - { - "name": "aspectRatio", - "baseName": "AspectRatio", - "type": "string" - }, - { - "name": "productionYear", - "baseName": "ProductionYear", - "type": "number" - }, - { - "name": "isPlaceHolder", - "baseName": "IsPlaceHolder", - "type": "boolean" - }, - { - "name": "number", - "baseName": "Number", - "type": "string" - }, - { - "name": "channelNumber", - "baseName": "ChannelNumber", - "type": "string" - }, - { - "name": "indexNumber", - "baseName": "IndexNumber", - "type": "number" - }, - { - "name": "indexNumberEnd", - "baseName": "IndexNumberEnd", - "type": "number" - }, - { - "name": "parentIndexNumber", - "baseName": "ParentIndexNumber", - "type": "number" - }, - { - "name": "remoteTrailers", - "baseName": "RemoteTrailers", - "type": "Array" - }, - { - "name": "providerIds", - "baseName": "ProviderIds", - "type": "{ [key: string]: string; }" - }, - { - "name": "isHD", - "baseName": "IsHD", - "type": "boolean" - }, - { - "name": "isFolder", - "baseName": "IsFolder", - "type": "boolean" - }, - { - "name": "parentId", - "baseName": "ParentId", - "type": "string" - }, - { - "name": "type", - "baseName": "Type", - "type": "BaseItemKind" - }, - { - "name": "people", - "baseName": "People", - "type": "Array" - }, - { - "name": "studios", - "baseName": "Studios", - "type": "Array" - }, - { - "name": "genreItems", - "baseName": "GenreItems", - "type": "Array" - }, - { - "name": "parentLogoItemId", - "baseName": "ParentLogoItemId", - "type": "string" - }, - { - "name": "parentBackdropItemId", - "baseName": "ParentBackdropItemId", - "type": "string" - }, - { - "name": "parentBackdropImageTags", - "baseName": "ParentBackdropImageTags", - "type": "Array" - }, - { - "name": "localTrailerCount", - "baseName": "LocalTrailerCount", - "type": "number" - }, - { - "name": "userData", - "baseName": "UserData", - "type": "BaseItemDtoUserData" - }, - { - "name": "recursiveItemCount", - "baseName": "RecursiveItemCount", - "type": "number" - }, - { - "name": "childCount", - "baseName": "ChildCount", - "type": "number" - }, - { - "name": "seriesName", - "baseName": "SeriesName", - "type": "string" - }, - { - "name": "seriesId", - "baseName": "SeriesId", - "type": "string" - }, - { - "name": "seasonId", - "baseName": "SeasonId", - "type": "string" - }, - { - "name": "specialFeatureCount", - "baseName": "SpecialFeatureCount", - "type": "number" - }, - { - "name": "displayPreferencesId", - "baseName": "DisplayPreferencesId", - "type": "string" - }, - { - "name": "status", - "baseName": "Status", - "type": "string" - }, - { - "name": "airTime", - "baseName": "AirTime", - "type": "string" - }, - { - "name": "airDays", - "baseName": "AirDays", - "type": "Array" - }, - { - "name": "tags", - "baseName": "Tags", - "type": "Array" - }, - { - "name": "primaryImageAspectRatio", - "baseName": "PrimaryImageAspectRatio", - "type": "number" - }, - { - "name": "artists", - "baseName": "Artists", - "type": "Array" - }, - { - "name": "artistItems", - "baseName": "ArtistItems", - "type": "Array" - }, - { - "name": "album", - "baseName": "Album", - "type": "string" - }, - { - "name": "collectionType", - "baseName": "CollectionType", - "type": "string" - }, - { - "name": "displayOrder", - "baseName": "DisplayOrder", - "type": "string" - }, - { - "name": "albumId", - "baseName": "AlbumId", - "type": "string" - }, - { - "name": "albumPrimaryImageTag", - "baseName": "AlbumPrimaryImageTag", - "type": "string" - }, - { - "name": "seriesPrimaryImageTag", - "baseName": "SeriesPrimaryImageTag", - "type": "string" - }, - { - "name": "albumArtist", - "baseName": "AlbumArtist", - "type": "string" - }, - { - "name": "albumArtists", - "baseName": "AlbumArtists", - "type": "Array" - }, - { - "name": "seasonName", - "baseName": "SeasonName", - "type": "string" - }, - { - "name": "mediaStreams", - "baseName": "MediaStreams", - "type": "Array" - }, - { - "name": "videoType", - "baseName": "VideoType", - "type": "VideoType" - }, - { - "name": "partCount", - "baseName": "PartCount", - "type": "number" - }, - { - "name": "mediaSourceCount", - "baseName": "MediaSourceCount", - "type": "number" - }, - { - "name": "imageTags", - "baseName": "ImageTags", - "type": "{ [key: string]: string; }" - }, - { - "name": "backdropImageTags", - "baseName": "BackdropImageTags", - "type": "Array" - }, - { - "name": "screenshotImageTags", - "baseName": "ScreenshotImageTags", - "type": "Array" - }, - { - "name": "parentLogoImageTag", - "baseName": "ParentLogoImageTag", - "type": "string" - }, - { - "name": "parentArtItemId", - "baseName": "ParentArtItemId", - "type": "string" - }, - { - "name": "parentArtImageTag", - "baseName": "ParentArtImageTag", - "type": "string" - }, - { - "name": "seriesThumbImageTag", - "baseName": "SeriesThumbImageTag", - "type": "string" - }, - { - "name": "imageBlurHashes", - "baseName": "ImageBlurHashes", - "type": "BaseItemDtoImageBlurHashes" - }, - { - "name": "seriesStudio", - "baseName": "SeriesStudio", - "type": "string" - }, - { - "name": "parentThumbItemId", - "baseName": "ParentThumbItemId", - "type": "string" - }, - { - "name": "parentThumbImageTag", - "baseName": "ParentThumbImageTag", - "type": "string" - }, - { - "name": "parentPrimaryImageItemId", - "baseName": "ParentPrimaryImageItemId", - "type": "string" - }, - { - "name": "parentPrimaryImageTag", - "baseName": "ParentPrimaryImageTag", - "type": "string" - }, - { - "name": "chapters", - "baseName": "Chapters", - "type": "Array" - }, - { - "name": "locationType", - "baseName": "LocationType", - "type": "LocationType" - }, - { - "name": "isoType", - "baseName": "IsoType", - "type": "IsoType" - }, - { - "name": "mediaType", - "baseName": "MediaType", - "type": "string" - }, - { - "name": "endDate", - "baseName": "EndDate", - "type": "Date" - }, - { - "name": "lockedFields", - "baseName": "LockedFields", - "type": "Array" - }, - { - "name": "trailerCount", - "baseName": "TrailerCount", - "type": "number" - }, - { - "name": "movieCount", - "baseName": "MovieCount", - "type": "number" - }, - { - "name": "seriesCount", - "baseName": "SeriesCount", - "type": "number" - }, - { - "name": "programCount", - "baseName": "ProgramCount", - "type": "number" - }, - { - "name": "episodeCount", - "baseName": "EpisodeCount", - "type": "number" - }, - { - "name": "songCount", - "baseName": "SongCount", - "type": "number" - }, - { - "name": "albumCount", - "baseName": "AlbumCount", - "type": "number" - }, - { - "name": "artistCount", - "baseName": "ArtistCount", - "type": "number" - }, - { - "name": "musicVideoCount", - "baseName": "MusicVideoCount", - "type": "number" - }, - { - "name": "lockData", - "baseName": "LockData", - "type": "boolean" - }, - { - "name": "width", - "baseName": "Width", - "type": "number" - }, - { - "name": "height", - "baseName": "Height", - "type": "number" - }, - { - "name": "cameraMake", - "baseName": "CameraMake", - "type": "string" - }, - { - "name": "cameraModel", - "baseName": "CameraModel", - "type": "string" - }, - { - "name": "software", - "baseName": "Software", - "type": "string" - }, - { - "name": "exposureTime", - "baseName": "ExposureTime", - "type": "number" - }, - { - "name": "focalLength", - "baseName": "FocalLength", - "type": "number" - }, - { - "name": "imageOrientation", - "baseName": "ImageOrientation", - "type": "ImageOrientation" - }, - { - "name": "aperture", - "baseName": "Aperture", - "type": "number" - }, - { - "name": "shutterSpeed", - "baseName": "ShutterSpeed", - "type": "number" - }, - { - "name": "latitude", - "baseName": "Latitude", - "type": "number" - }, - { - "name": "longitude", - "baseName": "Longitude", - "type": "number" - }, - { - "name": "altitude", - "baseName": "Altitude", - "type": "number" - }, - { - "name": "isoSpeedRating", - "baseName": "IsoSpeedRating", - "type": "number" - }, - { - "name": "seriesTimerId", - "baseName": "SeriesTimerId", - "type": "string" - }, - { - "name": "programId", - "baseName": "ProgramId", - "type": "string" - }, - { - "name": "channelPrimaryImageTag", - "baseName": "ChannelPrimaryImageTag", - "type": "string" - }, - { - "name": "startDate", - "baseName": "StartDate", - "type": "Date" - }, - { - "name": "completionPercentage", - "baseName": "CompletionPercentage", - "type": "number" - }, - { - "name": "isRepeat", - "baseName": "IsRepeat", - "type": "boolean" - }, - { - "name": "episodeTitle", - "baseName": "EpisodeTitle", - "type": "string" - }, - { - "name": "channelType", - "baseName": "ChannelType", - "type": "ChannelType" - }, - { - "name": "audio", - "baseName": "Audio", - "type": "ProgramAudio" - }, - { - "name": "isMovie", - "baseName": "IsMovie", - "type": "boolean" - }, - { - "name": "isSports", - "baseName": "IsSports", - "type": "boolean" - }, - { - "name": "isSeries", - "baseName": "IsSeries", - "type": "boolean" - }, - { - "name": "isLive", - "baseName": "IsLive", - "type": "boolean" - }, - { - "name": "isNews", - "baseName": "IsNews", - "type": "boolean" - }, - { - "name": "isKids", - "baseName": "IsKids", - "type": "boolean" - }, - { - "name": "isPremiere", - "baseName": "IsPremiere", - "type": "boolean" - }, - { - "name": "timerId", - "baseName": "TimerId", - "type": "string" - }, - { - "name": "currentProgram", - "baseName": "CurrentProgram", - "type": "BaseItemDtoCurrentProgram" - } ]; - - static getAttributeTypeMap() { - return BaseItemDtoCurrentProgram.attributeTypeMap; - } -} - -export namespace BaseItemDtoCurrentProgram { -} diff --git a/jellyfin/model/baseItemDtoImageBlurHashes.ts b/jellyfin/model/baseItemDtoImageBlurHashes.ts deleted file mode 100644 index cf1ac82..0000000 --- a/jellyfin/model/baseItemDtoImageBlurHashes.ts +++ /dev/null @@ -1,106 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Gets or sets the blurhashes for the image tags. Maps image type to dictionary mapping image tag to blurhash value. -*/ -export class BaseItemDtoImageBlurHashes { - 'primary'?: { [key: string]: string; }; - 'art'?: { [key: string]: string; }; - 'backdrop'?: { [key: string]: string; }; - 'banner'?: { [key: string]: string; }; - 'logo'?: { [key: string]: string; }; - 'thumb'?: { [key: string]: string; }; - 'disc'?: { [key: string]: string; }; - 'box'?: { [key: string]: string; }; - 'screenshot'?: { [key: string]: string; }; - 'menu'?: { [key: string]: string; }; - 'chapter'?: { [key: string]: string; }; - 'boxRear'?: { [key: string]: string; }; - 'profile'?: { [key: string]: string; }; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "primary", - "baseName": "Primary", - "type": "{ [key: string]: string; }" - }, - { - "name": "art", - "baseName": "Art", - "type": "{ [key: string]: string; }" - }, - { - "name": "backdrop", - "baseName": "Backdrop", - "type": "{ [key: string]: string; }" - }, - { - "name": "banner", - "baseName": "Banner", - "type": "{ [key: string]: string; }" - }, - { - "name": "logo", - "baseName": "Logo", - "type": "{ [key: string]: string; }" - }, - { - "name": "thumb", - "baseName": "Thumb", - "type": "{ [key: string]: string; }" - }, - { - "name": "disc", - "baseName": "Disc", - "type": "{ [key: string]: string; }" - }, - { - "name": "box", - "baseName": "Box", - "type": "{ [key: string]: string; }" - }, - { - "name": "screenshot", - "baseName": "Screenshot", - "type": "{ [key: string]: string; }" - }, - { - "name": "menu", - "baseName": "Menu", - "type": "{ [key: string]: string; }" - }, - { - "name": "chapter", - "baseName": "Chapter", - "type": "{ [key: string]: string; }" - }, - { - "name": "boxRear", - "baseName": "BoxRear", - "type": "{ [key: string]: string; }" - }, - { - "name": "profile", - "baseName": "Profile", - "type": "{ [key: string]: string; }" - } ]; - - static getAttributeTypeMap() { - return BaseItemDtoImageBlurHashes.attributeTypeMap; - } -} - diff --git a/jellyfin/model/baseItemDtoQueryResult.ts b/jellyfin/model/baseItemDtoQueryResult.ts deleted file mode 100644 index 5c70e2b..0000000 --- a/jellyfin/model/baseItemDtoQueryResult.ts +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { BaseItemDto } from './baseItemDto'; - -export class BaseItemDtoQueryResult { - /** - * Gets or sets the items. - */ - 'items'?: Array | null; - /** - * Gets or sets the total number of records available. - */ - 'totalRecordCount'?: number; - /** - * Gets or sets the index of the first record in Items. - */ - 'startIndex'?: number; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "items", - "baseName": "Items", - "type": "Array" - }, - { - "name": "totalRecordCount", - "baseName": "TotalRecordCount", - "type": "number" - }, - { - "name": "startIndex", - "baseName": "StartIndex", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return BaseItemDtoQueryResult.attributeTypeMap; - } -} - diff --git a/jellyfin/model/baseItemDtoUserData.ts b/jellyfin/model/baseItemDtoUserData.ts deleted file mode 100644 index 75b4cf6..0000000 --- a/jellyfin/model/baseItemDtoUserData.ts +++ /dev/null @@ -1,127 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Gets or sets the user data for this item based on the user it\'s being requested for. -*/ -export class BaseItemDtoUserData { - /** - * Gets or sets the rating. - */ - 'rating'?: number | null; - /** - * Gets or sets the played percentage. - */ - 'playedPercentage'?: number | null; - /** - * Gets or sets the unplayed item count. - */ - 'unplayedItemCount'?: number | null; - /** - * Gets or sets the playback position ticks. - */ - 'playbackPositionTicks'?: number; - /** - * Gets or sets the play count. - */ - 'playCount'?: number; - /** - * Gets or sets a value indicating whether this instance is favorite. - */ - 'isFavorite'?: boolean; - /** - * Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UserItemDataDto is likes. - */ - 'likes'?: boolean | null; - /** - * Gets or sets the last played date. - */ - 'lastPlayedDate'?: Date | null; - /** - * Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UserItemDataDto is played. - */ - 'played'?: boolean; - /** - * Gets or sets the key. - */ - 'key'?: string | null; - /** - * Gets or sets the item identifier. - */ - 'itemId'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "rating", - "baseName": "Rating", - "type": "number" - }, - { - "name": "playedPercentage", - "baseName": "PlayedPercentage", - "type": "number" - }, - { - "name": "unplayedItemCount", - "baseName": "UnplayedItemCount", - "type": "number" - }, - { - "name": "playbackPositionTicks", - "baseName": "PlaybackPositionTicks", - "type": "number" - }, - { - "name": "playCount", - "baseName": "PlayCount", - "type": "number" - }, - { - "name": "isFavorite", - "baseName": "IsFavorite", - "type": "boolean" - }, - { - "name": "likes", - "baseName": "Likes", - "type": "boolean" - }, - { - "name": "lastPlayedDate", - "baseName": "LastPlayedDate", - "type": "Date" - }, - { - "name": "played", - "baseName": "Played", - "type": "boolean" - }, - { - "name": "key", - "baseName": "Key", - "type": "string" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return BaseItemDtoUserData.attributeTypeMap; - } -} - diff --git a/jellyfin/model/baseItemKind.ts b/jellyfin/model/baseItemKind.ts deleted file mode 100644 index 55a4e4c..0000000 --- a/jellyfin/model/baseItemKind.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* The base item kind. -*/ -export enum BaseItemKind { - AggregateFolder = 'AggregateFolder', - Audio = 'Audio', - AudioBook = 'AudioBook', - BasePluginFolder = 'BasePluginFolder', - Book = 'Book', - BoxSet = 'BoxSet', - Channel = 'Channel', - ChannelFolderItem = 'ChannelFolderItem', - CollectionFolder = 'CollectionFolder', - Episode = 'Episode', - Folder = 'Folder', - Genre = 'Genre', - ManualPlaylistsFolder = 'ManualPlaylistsFolder', - Movie = 'Movie', - LiveTvChannel = 'LiveTvChannel', - LiveTvProgram = 'LiveTvProgram', - MusicAlbum = 'MusicAlbum', - MusicArtist = 'MusicArtist', - MusicGenre = 'MusicGenre', - MusicVideo = 'MusicVideo', - Person = 'Person', - Photo = 'Photo', - PhotoAlbum = 'PhotoAlbum', - Playlist = 'Playlist', - PlaylistsFolder = 'PlaylistsFolder', - Program = 'Program', - Recording = 'Recording', - Season = 'Season', - Series = 'Series', - Studio = 'Studio', - Trailer = 'Trailer', - TvChannel = 'TvChannel', - TvProgram = 'TvProgram', - UserRootFolder = 'UserRootFolder', - UserView = 'UserView', - Video = 'Video', - Year = 'Year' -} diff --git a/jellyfin/model/baseItemPerson.ts b/jellyfin/model/baseItemPerson.ts deleted file mode 100644 index a56d27b..0000000 --- a/jellyfin/model/baseItemPerson.ts +++ /dev/null @@ -1,80 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { BaseItemPersonImageBlurHashes } from './baseItemPersonImageBlurHashes'; - -/** -* This is used by the api to get information about a Person within a BaseItem. -*/ -export class BaseItemPerson { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the identifier. - */ - 'id'?: string; - /** - * Gets or sets the role. - */ - 'role'?: string | null; - /** - * Gets or sets the type. - */ - 'type'?: string | null; - /** - * Gets or sets the primary image tag. - */ - 'primaryImageTag'?: string | null; - 'imageBlurHashes'?: BaseItemPersonImageBlurHashes | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "role", - "baseName": "Role", - "type": "string" - }, - { - "name": "type", - "baseName": "Type", - "type": "string" - }, - { - "name": "primaryImageTag", - "baseName": "PrimaryImageTag", - "type": "string" - }, - { - "name": "imageBlurHashes", - "baseName": "ImageBlurHashes", - "type": "BaseItemPersonImageBlurHashes" - } ]; - - static getAttributeTypeMap() { - return BaseItemPerson.attributeTypeMap; - } -} - diff --git a/jellyfin/model/baseItemPersonImageBlurHashes.ts b/jellyfin/model/baseItemPersonImageBlurHashes.ts deleted file mode 100644 index 43555b4..0000000 --- a/jellyfin/model/baseItemPersonImageBlurHashes.ts +++ /dev/null @@ -1,106 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Gets or sets the primary image blurhash. -*/ -export class BaseItemPersonImageBlurHashes { - 'primary'?: { [key: string]: string; }; - 'art'?: { [key: string]: string; }; - 'backdrop'?: { [key: string]: string; }; - 'banner'?: { [key: string]: string; }; - 'logo'?: { [key: string]: string; }; - 'thumb'?: { [key: string]: string; }; - 'disc'?: { [key: string]: string; }; - 'box'?: { [key: string]: string; }; - 'screenshot'?: { [key: string]: string; }; - 'menu'?: { [key: string]: string; }; - 'chapter'?: { [key: string]: string; }; - 'boxRear'?: { [key: string]: string; }; - 'profile'?: { [key: string]: string; }; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "primary", - "baseName": "Primary", - "type": "{ [key: string]: string; }" - }, - { - "name": "art", - "baseName": "Art", - "type": "{ [key: string]: string; }" - }, - { - "name": "backdrop", - "baseName": "Backdrop", - "type": "{ [key: string]: string; }" - }, - { - "name": "banner", - "baseName": "Banner", - "type": "{ [key: string]: string; }" - }, - { - "name": "logo", - "baseName": "Logo", - "type": "{ [key: string]: string; }" - }, - { - "name": "thumb", - "baseName": "Thumb", - "type": "{ [key: string]: string; }" - }, - { - "name": "disc", - "baseName": "Disc", - "type": "{ [key: string]: string; }" - }, - { - "name": "box", - "baseName": "Box", - "type": "{ [key: string]: string; }" - }, - { - "name": "screenshot", - "baseName": "Screenshot", - "type": "{ [key: string]: string; }" - }, - { - "name": "menu", - "baseName": "Menu", - "type": "{ [key: string]: string; }" - }, - { - "name": "chapter", - "baseName": "Chapter", - "type": "{ [key: string]: string; }" - }, - { - "name": "boxRear", - "baseName": "BoxRear", - "type": "{ [key: string]: string; }" - }, - { - "name": "profile", - "baseName": "Profile", - "type": "{ [key: string]: string; }" - } ]; - - static getAttributeTypeMap() { - return BaseItemPersonImageBlurHashes.attributeTypeMap; - } -} - diff --git a/jellyfin/model/bookInfo.ts b/jellyfin/model/bookInfo.ts deleted file mode 100644 index eeb85cd..0000000 --- a/jellyfin/model/bookInfo.ts +++ /dev/null @@ -1,118 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class BookInfo { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the original title. - */ - 'originalTitle'?: string | null; - /** - * Gets or sets the path. - */ - 'path'?: string | null; - /** - * Gets or sets the metadata language. - */ - 'metadataLanguage'?: string | null; - /** - * Gets or sets the metadata country code. - */ - 'metadataCountryCode'?: string | null; - /** - * Gets or sets the provider ids. - */ - 'providerIds'?: { [key: string]: string; } | null; - /** - * Gets or sets the year. - */ - 'year'?: number | null; - 'indexNumber'?: number | null; - 'parentIndexNumber'?: number | null; - 'premiereDate'?: Date | null; - 'isAutomated'?: boolean; - 'seriesName'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "originalTitle", - "baseName": "OriginalTitle", - "type": "string" - }, - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "metadataLanguage", - "baseName": "MetadataLanguage", - "type": "string" - }, - { - "name": "metadataCountryCode", - "baseName": "MetadataCountryCode", - "type": "string" - }, - { - "name": "providerIds", - "baseName": "ProviderIds", - "type": "{ [key: string]: string; }" - }, - { - "name": "year", - "baseName": "Year", - "type": "number" - }, - { - "name": "indexNumber", - "baseName": "IndexNumber", - "type": "number" - }, - { - "name": "parentIndexNumber", - "baseName": "ParentIndexNumber", - "type": "number" - }, - { - "name": "premiereDate", - "baseName": "PremiereDate", - "type": "Date" - }, - { - "name": "isAutomated", - "baseName": "IsAutomated", - "type": "boolean" - }, - { - "name": "seriesName", - "baseName": "SeriesName", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return BookInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/bookInfoRemoteSearchQuery.ts b/jellyfin/model/bookInfoRemoteSearchQuery.ts deleted file mode 100644 index bc11ab9..0000000 --- a/jellyfin/model/bookInfoRemoteSearchQuery.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { BookInfo } from './bookInfo'; - -export class BookInfoRemoteSearchQuery { - 'searchInfo'?: BookInfo | null; - 'itemId'?: string; - /** - * Gets or sets the provider name to search within if set. - */ - 'searchProviderName'?: string | null; - /** - * Gets or sets a value indicating whether disabled providers should be included. - */ - 'includeDisabledProviders'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "searchInfo", - "baseName": "SearchInfo", - "type": "BookInfo" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "searchProviderName", - "baseName": "SearchProviderName", - "type": "string" - }, - { - "name": "includeDisabledProviders", - "baseName": "IncludeDisabledProviders", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return BookInfoRemoteSearchQuery.attributeTypeMap; - } -} - diff --git a/jellyfin/model/boxSetInfo.ts b/jellyfin/model/boxSetInfo.ts deleted file mode 100644 index 9b8c087..0000000 --- a/jellyfin/model/boxSetInfo.ts +++ /dev/null @@ -1,112 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class BoxSetInfo { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the original title. - */ - 'originalTitle'?: string | null; - /** - * Gets or sets the path. - */ - 'path'?: string | null; - /** - * Gets or sets the metadata language. - */ - 'metadataLanguage'?: string | null; - /** - * Gets or sets the metadata country code. - */ - 'metadataCountryCode'?: string | null; - /** - * Gets or sets the provider ids. - */ - 'providerIds'?: { [key: string]: string; } | null; - /** - * Gets or sets the year. - */ - 'year'?: number | null; - 'indexNumber'?: number | null; - 'parentIndexNumber'?: number | null; - 'premiereDate'?: Date | null; - 'isAutomated'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "originalTitle", - "baseName": "OriginalTitle", - "type": "string" - }, - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "metadataLanguage", - "baseName": "MetadataLanguage", - "type": "string" - }, - { - "name": "metadataCountryCode", - "baseName": "MetadataCountryCode", - "type": "string" - }, - { - "name": "providerIds", - "baseName": "ProviderIds", - "type": "{ [key: string]: string; }" - }, - { - "name": "year", - "baseName": "Year", - "type": "number" - }, - { - "name": "indexNumber", - "baseName": "IndexNumber", - "type": "number" - }, - { - "name": "parentIndexNumber", - "baseName": "ParentIndexNumber", - "type": "number" - }, - { - "name": "premiereDate", - "baseName": "PremiereDate", - "type": "Date" - }, - { - "name": "isAutomated", - "baseName": "IsAutomated", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return BoxSetInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/boxSetInfoRemoteSearchQuery.ts b/jellyfin/model/boxSetInfoRemoteSearchQuery.ts deleted file mode 100644 index 41d87b3..0000000 --- a/jellyfin/model/boxSetInfoRemoteSearchQuery.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { BoxSetInfo } from './boxSetInfo'; - -export class BoxSetInfoRemoteSearchQuery { - 'searchInfo'?: BoxSetInfo | null; - 'itemId'?: string; - /** - * Gets or sets the provider name to search within if set. - */ - 'searchProviderName'?: string | null; - /** - * Gets or sets a value indicating whether disabled providers should be included. - */ - 'includeDisabledProviders'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "searchInfo", - "baseName": "SearchInfo", - "type": "BoxSetInfo" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "searchProviderName", - "baseName": "SearchProviderName", - "type": "string" - }, - { - "name": "includeDisabledProviders", - "baseName": "IncludeDisabledProviders", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return BoxSetInfoRemoteSearchQuery.attributeTypeMap; - } -} - diff --git a/jellyfin/model/brandingOptions.ts b/jellyfin/model/brandingOptions.ts deleted file mode 100644 index d01cde1..0000000 --- a/jellyfin/model/brandingOptions.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* The branding options. -*/ -export class BrandingOptions { - /** - * Gets or sets the login disclaimer. - */ - 'loginDisclaimer'?: string | null; - /** - * Gets or sets the custom CSS. - */ - 'customCss'?: string | null; - /** - * Gets or sets a value indicating whether to enable the splashscreen. - */ - 'splashscreenEnabled'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "loginDisclaimer", - "baseName": "LoginDisclaimer", - "type": "string" - }, - { - "name": "customCss", - "baseName": "CustomCss", - "type": "string" - }, - { - "name": "splashscreenEnabled", - "baseName": "SplashscreenEnabled", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return BrandingOptions.attributeTypeMap; - } -} - diff --git a/jellyfin/model/bufferRequestDto.ts b/jellyfin/model/bufferRequestDto.ts deleted file mode 100644 index 9f375a5..0000000 --- a/jellyfin/model/bufferRequestDto.ts +++ /dev/null @@ -1,64 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class BufferRequestDto. -*/ -export class BufferRequestDto { - /** - * Gets or sets when the request has been made by the client. - */ - 'when'?: Date; - /** - * Gets or sets the position ticks. - */ - 'positionTicks'?: number; - /** - * Gets or sets a value indicating whether the client playback is unpaused. - */ - 'isPlaying'?: boolean; - /** - * Gets or sets the playlist item identifier of the playing item. - */ - 'playlistItemId'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "when", - "baseName": "When", - "type": "Date" - }, - { - "name": "positionTicks", - "baseName": "PositionTicks", - "type": "number" - }, - { - "name": "isPlaying", - "baseName": "IsPlaying", - "type": "boolean" - }, - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return BufferRequestDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/channelFeatures.ts b/jellyfin/model/channelFeatures.ts deleted file mode 100644 index 1e01e8c..0000000 --- a/jellyfin/model/channelFeatures.ts +++ /dev/null @@ -1,136 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ChannelItemSortField } from './channelItemSortField'; -import { ChannelMediaContentType } from './channelMediaContentType'; -import { ChannelMediaType } from './channelMediaType'; - -export class ChannelFeatures { - /** - * Gets or sets the name. - */ - 'name'?: string; - /** - * Gets or sets the identifier. - */ - 'id'?: string; - /** - * Gets or sets a value indicating whether this instance can search. - */ - 'canSearch'?: boolean; - /** - * Gets or sets the media types. - */ - 'mediaTypes'?: Array; - /** - * Gets or sets the content types. - */ - 'contentTypes'?: Array; - /** - * Gets or sets the maximum number of records the channel allows retrieving at a time. - */ - 'maxPageSize'?: number | null; - /** - * Gets or sets the automatic refresh levels. - */ - 'autoRefreshLevels'?: number | null; - /** - * Gets or sets the default sort orders. - */ - 'defaultSortFields'?: Array; - /** - * Gets or sets a value indicating whether a sort ascending/descending toggle is supported. - */ - 'supportsSortOrderToggle'?: boolean; - /** - * Gets or sets a value indicating whether [supports latest media]. - */ - 'supportsLatestMedia'?: boolean; - /** - * Gets or sets a value indicating whether this instance can filter. - */ - 'canFilter'?: boolean; - /** - * Gets or sets a value indicating whether [supports content downloading]. - */ - 'supportsContentDownloading'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "canSearch", - "baseName": "CanSearch", - "type": "boolean" - }, - { - "name": "mediaTypes", - "baseName": "MediaTypes", - "type": "Array" - }, - { - "name": "contentTypes", - "baseName": "ContentTypes", - "type": "Array" - }, - { - "name": "maxPageSize", - "baseName": "MaxPageSize", - "type": "number" - }, - { - "name": "autoRefreshLevels", - "baseName": "AutoRefreshLevels", - "type": "number" - }, - { - "name": "defaultSortFields", - "baseName": "DefaultSortFields", - "type": "Array" - }, - { - "name": "supportsSortOrderToggle", - "baseName": "SupportsSortOrderToggle", - "type": "boolean" - }, - { - "name": "supportsLatestMedia", - "baseName": "SupportsLatestMedia", - "type": "boolean" - }, - { - "name": "canFilter", - "baseName": "CanFilter", - "type": "boolean" - }, - { - "name": "supportsContentDownloading", - "baseName": "SupportsContentDownloading", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return ChannelFeatures.attributeTypeMap; - } -} - diff --git a/jellyfin/model/channelItemSortField.ts b/jellyfin/model/channelItemSortField.ts deleted file mode 100644 index 8644886..0000000 --- a/jellyfin/model/channelItemSortField.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum ChannelItemSortField { - Name = 'Name', - CommunityRating = 'CommunityRating', - PremiereDate = 'PremiereDate', - DateCreated = 'DateCreated', - Runtime = 'Runtime', - PlayCount = 'PlayCount', - CommunityPlayCount = 'CommunityPlayCount' -} diff --git a/jellyfin/model/channelMappingOptionsDto.ts b/jellyfin/model/channelMappingOptionsDto.ts deleted file mode 100644 index b6b6e2e..0000000 --- a/jellyfin/model/channelMappingOptionsDto.ts +++ /dev/null @@ -1,67 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { NameIdPair } from './nameIdPair'; -import { NameValuePair } from './nameValuePair'; -import { TunerChannelMapping } from './tunerChannelMapping'; - -/** -* Channel mapping options dto. -*/ -export class ChannelMappingOptionsDto { - /** - * Gets or sets list of tuner channels. - */ - 'tunerChannels'?: Array; - /** - * Gets or sets list of provider channels. - */ - 'providerChannels'?: Array; - /** - * Gets or sets list of mappings. - */ - 'mappings'?: Array; - /** - * Gets or sets provider name. - */ - 'providerName'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "tunerChannels", - "baseName": "TunerChannels", - "type": "Array" - }, - { - "name": "providerChannels", - "baseName": "ProviderChannels", - "type": "Array" - }, - { - "name": "mappings", - "baseName": "Mappings", - "type": "Array" - }, - { - "name": "providerName", - "baseName": "ProviderName", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return ChannelMappingOptionsDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/channelMediaContentType.ts b/jellyfin/model/channelMediaContentType.ts deleted file mode 100644 index 2efd130..0000000 --- a/jellyfin/model/channelMediaContentType.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum ChannelMediaContentType { - Clip = 'Clip', - Podcast = 'Podcast', - Trailer = 'Trailer', - Movie = 'Movie', - Episode = 'Episode', - Song = 'Song', - MovieExtra = 'MovieExtra', - TvExtra = 'TvExtra' -} diff --git a/jellyfin/model/channelMediaType.ts b/jellyfin/model/channelMediaType.ts deleted file mode 100644 index d3140f0..0000000 --- a/jellyfin/model/channelMediaType.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum ChannelMediaType { - Audio = 'Audio', - Video = 'Video', - Photo = 'Photo' -} diff --git a/jellyfin/model/channelType.ts b/jellyfin/model/channelType.ts deleted file mode 100644 index 6ad23dc..0000000 --- a/jellyfin/model/channelType.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Enum ChannelType. -*/ -export enum ChannelType { - Tv = 'TV', - Radio = 'Radio' -} diff --git a/jellyfin/model/chapterInfo.ts b/jellyfin/model/chapterInfo.ts deleted file mode 100644 index 3860a0c..0000000 --- a/jellyfin/model/chapterInfo.ts +++ /dev/null @@ -1,67 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class ChapterInfo. -*/ -export class ChapterInfo { - /** - * Gets or sets the start position ticks. - */ - 'startPositionTicks'?: number; - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the image path. - */ - 'imagePath'?: string | null; - 'imageDateModified'?: Date; - 'imageTag'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "startPositionTicks", - "baseName": "StartPositionTicks", - "type": "number" - }, - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "imagePath", - "baseName": "ImagePath", - "type": "string" - }, - { - "name": "imageDateModified", - "baseName": "ImageDateModified", - "type": "Date" - }, - { - "name": "imageTag", - "baseName": "ImageTag", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return ChapterInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/clientCapabilities.ts b/jellyfin/model/clientCapabilities.ts deleted file mode 100644 index 52a6f05..0000000 --- a/jellyfin/model/clientCapabilities.ts +++ /dev/null @@ -1,87 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ClientCapabilitiesDeviceProfile } from './clientCapabilitiesDeviceProfile'; -import { GeneralCommandType } from './generalCommandType'; - -export class ClientCapabilities { - 'playableMediaTypes'?: Array | null; - 'supportedCommands'?: Array | null; - 'supportsMediaControl'?: boolean; - 'supportsContentUploading'?: boolean; - 'messageCallbackUrl'?: string | null; - 'supportsPersistentIdentifier'?: boolean; - 'supportsSync'?: boolean; - 'deviceProfile'?: ClientCapabilitiesDeviceProfile | null; - 'appStoreUrl'?: string | null; - 'iconUrl'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "playableMediaTypes", - "baseName": "PlayableMediaTypes", - "type": "Array" - }, - { - "name": "supportedCommands", - "baseName": "SupportedCommands", - "type": "Array" - }, - { - "name": "supportsMediaControl", - "baseName": "SupportsMediaControl", - "type": "boolean" - }, - { - "name": "supportsContentUploading", - "baseName": "SupportsContentUploading", - "type": "boolean" - }, - { - "name": "messageCallbackUrl", - "baseName": "MessageCallbackUrl", - "type": "string" - }, - { - "name": "supportsPersistentIdentifier", - "baseName": "SupportsPersistentIdentifier", - "type": "boolean" - }, - { - "name": "supportsSync", - "baseName": "SupportsSync", - "type": "boolean" - }, - { - "name": "deviceProfile", - "baseName": "DeviceProfile", - "type": "ClientCapabilitiesDeviceProfile" - }, - { - "name": "appStoreUrl", - "baseName": "AppStoreUrl", - "type": "string" - }, - { - "name": "iconUrl", - "baseName": "IconUrl", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return ClientCapabilities.attributeTypeMap; - } -} - diff --git a/jellyfin/model/clientCapabilitiesDeviceProfile.ts b/jellyfin/model/clientCapabilitiesDeviceProfile.ts deleted file mode 100644 index 500af10..0000000 --- a/jellyfin/model/clientCapabilitiesDeviceProfile.ts +++ /dev/null @@ -1,384 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { CodecProfile } from './codecProfile'; -import { ContainerProfile } from './containerProfile'; -import { DeviceProfileIdentification } from './deviceProfileIdentification'; -import { DirectPlayProfile } from './directPlayProfile'; -import { ResponseProfile } from './responseProfile'; -import { SubtitleProfile } from './subtitleProfile'; -import { TranscodingProfile } from './transcodingProfile'; -import { XmlAttribute } from './xmlAttribute'; - -/** -* A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play.
Specifically, it defines the supported containers and codecs (video and/or audio, including codec profiles and levels) the device is able to direct play (without transcoding or remuxing), as well as which containers/codecs to transcode to in case it isn\'t. -*/ -export class ClientCapabilitiesDeviceProfile { - /** - * Gets or sets the name of this device profile. - */ - 'name'?: string | null; - /** - * Gets or sets the Id. - */ - 'id'?: string | null; - 'identification'?: DeviceProfileIdentification | null; - /** - * Gets or sets the friendly name of the device profile, which can be shown to users. - */ - 'friendlyName'?: string | null; - /** - * Gets or sets the manufacturer of the device which this profile represents. - */ - 'manufacturer'?: string | null; - /** - * Gets or sets an url for the manufacturer of the device which this profile represents. - */ - 'manufacturerUrl'?: string | null; - /** - * Gets or sets the model name of the device which this profile represents. - */ - 'modelName'?: string | null; - /** - * Gets or sets the model description of the device which this profile represents. - */ - 'modelDescription'?: string | null; - /** - * Gets or sets the model number of the device which this profile represents. - */ - 'modelNumber'?: string | null; - /** - * Gets or sets the ModelUrl. - */ - 'modelUrl'?: string | null; - /** - * Gets or sets the serial number of the device which this profile represents. - */ - 'serialNumber'?: string | null; - /** - * Gets or sets a value indicating whether EnableAlbumArtInDidl. - */ - 'enableAlbumArtInDidl'?: boolean = false; - /** - * Gets or sets a value indicating whether EnableSingleAlbumArtLimit. - */ - 'enableSingleAlbumArtLimit'?: boolean = false; - /** - * Gets or sets a value indicating whether EnableSingleSubtitleLimit. - */ - 'enableSingleSubtitleLimit'?: boolean = false; - /** - * Gets or sets the SupportedMediaTypes. - */ - 'supportedMediaTypes'?: string; - /** - * Gets or sets the UserId. - */ - 'userId'?: string | null; - /** - * Gets or sets the AlbumArtPn. - */ - 'albumArtPn'?: string | null; - /** - * Gets or sets the MaxAlbumArtWidth. - */ - 'maxAlbumArtWidth'?: number | null; - /** - * Gets or sets the MaxAlbumArtHeight. - */ - 'maxAlbumArtHeight'?: number | null; - /** - * Gets or sets the maximum allowed width of embedded icons. - */ - 'maxIconWidth'?: number | null; - /** - * Gets or sets the maximum allowed height of embedded icons. - */ - 'maxIconHeight'?: number | null; - /** - * Gets or sets the maximum allowed bitrate for all streamed content. - */ - 'maxStreamingBitrate'?: number | null; - /** - * Gets or sets the maximum allowed bitrate for statically streamed content (= direct played files). - */ - 'maxStaticBitrate'?: number | null; - /** - * Gets or sets the maximum allowed bitrate for transcoded music streams. - */ - 'musicStreamingTranscodingBitrate'?: number | null; - /** - * Gets or sets the maximum allowed bitrate for statically streamed (= direct played) music files. - */ - 'maxStaticMusicBitrate'?: number | null; - /** - * Gets or sets the content of the aggregationFlags element in the urn:schemas-sonycom:av namespace. - */ - 'sonyAggregationFlags'?: string | null; - /** - * Gets or sets the ProtocolInfo. - */ - 'protocolInfo'?: string | null; - /** - * Gets or sets the TimelineOffsetSeconds. - */ - 'timelineOffsetSeconds'?: number = 0; - /** - * Gets or sets a value indicating whether RequiresPlainVideoItems. - */ - 'requiresPlainVideoItems'?: boolean = false; - /** - * Gets or sets a value indicating whether RequiresPlainFolders. - */ - 'requiresPlainFolders'?: boolean = false; - /** - * Gets or sets a value indicating whether EnableMSMediaReceiverRegistrar. - */ - 'enableMSMediaReceiverRegistrar'?: boolean = false; - /** - * Gets or sets a value indicating whether IgnoreTranscodeByteRangeRequests. - */ - 'ignoreTranscodeByteRangeRequests'?: boolean = false; - /** - * Gets or sets the XmlRootAttributes. - */ - 'xmlRootAttributes'?: Array; - /** - * Gets or sets the direct play profiles. - */ - 'directPlayProfiles'?: Array; - /** - * Gets or sets the transcoding profiles. - */ - 'transcodingProfiles'?: Array; - /** - * Gets or sets the container profiles. - */ - 'containerProfiles'?: Array; - /** - * Gets or sets the codec profiles. - */ - 'codecProfiles'?: Array; - /** - * Gets or sets the ResponseProfiles. - */ - 'responseProfiles'?: Array; - /** - * Gets or sets the subtitle profiles. - */ - 'subtitleProfiles'?: Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "identification", - "baseName": "Identification", - "type": "DeviceProfileIdentification" - }, - { - "name": "friendlyName", - "baseName": "FriendlyName", - "type": "string" - }, - { - "name": "manufacturer", - "baseName": "Manufacturer", - "type": "string" - }, - { - "name": "manufacturerUrl", - "baseName": "ManufacturerUrl", - "type": "string" - }, - { - "name": "modelName", - "baseName": "ModelName", - "type": "string" - }, - { - "name": "modelDescription", - "baseName": "ModelDescription", - "type": "string" - }, - { - "name": "modelNumber", - "baseName": "ModelNumber", - "type": "string" - }, - { - "name": "modelUrl", - "baseName": "ModelUrl", - "type": "string" - }, - { - "name": "serialNumber", - "baseName": "SerialNumber", - "type": "string" - }, - { - "name": "enableAlbumArtInDidl", - "baseName": "EnableAlbumArtInDidl", - "type": "boolean" - }, - { - "name": "enableSingleAlbumArtLimit", - "baseName": "EnableSingleAlbumArtLimit", - "type": "boolean" - }, - { - "name": "enableSingleSubtitleLimit", - "baseName": "EnableSingleSubtitleLimit", - "type": "boolean" - }, - { - "name": "supportedMediaTypes", - "baseName": "SupportedMediaTypes", - "type": "string" - }, - { - "name": "userId", - "baseName": "UserId", - "type": "string" - }, - { - "name": "albumArtPn", - "baseName": "AlbumArtPn", - "type": "string" - }, - { - "name": "maxAlbumArtWidth", - "baseName": "MaxAlbumArtWidth", - "type": "number" - }, - { - "name": "maxAlbumArtHeight", - "baseName": "MaxAlbumArtHeight", - "type": "number" - }, - { - "name": "maxIconWidth", - "baseName": "MaxIconWidth", - "type": "number" - }, - { - "name": "maxIconHeight", - "baseName": "MaxIconHeight", - "type": "number" - }, - { - "name": "maxStreamingBitrate", - "baseName": "MaxStreamingBitrate", - "type": "number" - }, - { - "name": "maxStaticBitrate", - "baseName": "MaxStaticBitrate", - "type": "number" - }, - { - "name": "musicStreamingTranscodingBitrate", - "baseName": "MusicStreamingTranscodingBitrate", - "type": "number" - }, - { - "name": "maxStaticMusicBitrate", - "baseName": "MaxStaticMusicBitrate", - "type": "number" - }, - { - "name": "sonyAggregationFlags", - "baseName": "SonyAggregationFlags", - "type": "string" - }, - { - "name": "protocolInfo", - "baseName": "ProtocolInfo", - "type": "string" - }, - { - "name": "timelineOffsetSeconds", - "baseName": "TimelineOffsetSeconds", - "type": "number" - }, - { - "name": "requiresPlainVideoItems", - "baseName": "RequiresPlainVideoItems", - "type": "boolean" - }, - { - "name": "requiresPlainFolders", - "baseName": "RequiresPlainFolders", - "type": "boolean" - }, - { - "name": "enableMSMediaReceiverRegistrar", - "baseName": "EnableMSMediaReceiverRegistrar", - "type": "boolean" - }, - { - "name": "ignoreTranscodeByteRangeRequests", - "baseName": "IgnoreTranscodeByteRangeRequests", - "type": "boolean" - }, - { - "name": "xmlRootAttributes", - "baseName": "XmlRootAttributes", - "type": "Array" - }, - { - "name": "directPlayProfiles", - "baseName": "DirectPlayProfiles", - "type": "Array" - }, - { - "name": "transcodingProfiles", - "baseName": "TranscodingProfiles", - "type": "Array" - }, - { - "name": "containerProfiles", - "baseName": "ContainerProfiles", - "type": "Array" - }, - { - "name": "codecProfiles", - "baseName": "CodecProfiles", - "type": "Array" - }, - { - "name": "responseProfiles", - "baseName": "ResponseProfiles", - "type": "Array" - }, - { - "name": "subtitleProfiles", - "baseName": "SubtitleProfiles", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return ClientCapabilitiesDeviceProfile.attributeTypeMap; - } -} - diff --git a/jellyfin/model/clientCapabilitiesDto.ts b/jellyfin/model/clientCapabilitiesDto.ts deleted file mode 100644 index 358d1ad..0000000 --- a/jellyfin/model/clientCapabilitiesDto.ts +++ /dev/null @@ -1,117 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ClientCapabilitiesDtoDeviceProfile } from './clientCapabilitiesDtoDeviceProfile'; -import { GeneralCommandType } from './generalCommandType'; - -/** -* Client capabilities dto. -*/ -export class ClientCapabilitiesDto { - /** - * Gets or sets the list of playable media types. - */ - 'playableMediaTypes'?: Array; - /** - * Gets or sets the list of supported commands. - */ - 'supportedCommands'?: Array; - /** - * Gets or sets a value indicating whether session supports media control. - */ - 'supportsMediaControl'?: boolean; - /** - * Gets or sets a value indicating whether session supports content uploading. - */ - 'supportsContentUploading'?: boolean; - /** - * Gets or sets the message callback url. - */ - 'messageCallbackUrl'?: string | null; - /** - * Gets or sets a value indicating whether session supports a persistent identifier. - */ - 'supportsPersistentIdentifier'?: boolean; - /** - * Gets or sets a value indicating whether session supports sync. - */ - 'supportsSync'?: boolean; - 'deviceProfile'?: ClientCapabilitiesDtoDeviceProfile | null; - /** - * Gets or sets the app store url. - */ - 'appStoreUrl'?: string | null; - /** - * Gets or sets the icon url. - */ - 'iconUrl'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "playableMediaTypes", - "baseName": "PlayableMediaTypes", - "type": "Array" - }, - { - "name": "supportedCommands", - "baseName": "SupportedCommands", - "type": "Array" - }, - { - "name": "supportsMediaControl", - "baseName": "SupportsMediaControl", - "type": "boolean" - }, - { - "name": "supportsContentUploading", - "baseName": "SupportsContentUploading", - "type": "boolean" - }, - { - "name": "messageCallbackUrl", - "baseName": "MessageCallbackUrl", - "type": "string" - }, - { - "name": "supportsPersistentIdentifier", - "baseName": "SupportsPersistentIdentifier", - "type": "boolean" - }, - { - "name": "supportsSync", - "baseName": "SupportsSync", - "type": "boolean" - }, - { - "name": "deviceProfile", - "baseName": "DeviceProfile", - "type": "ClientCapabilitiesDtoDeviceProfile" - }, - { - "name": "appStoreUrl", - "baseName": "AppStoreUrl", - "type": "string" - }, - { - "name": "iconUrl", - "baseName": "IconUrl", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return ClientCapabilitiesDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/clientCapabilitiesDtoDeviceProfile.ts b/jellyfin/model/clientCapabilitiesDtoDeviceProfile.ts deleted file mode 100644 index cc4b9f5..0000000 --- a/jellyfin/model/clientCapabilitiesDtoDeviceProfile.ts +++ /dev/null @@ -1,384 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { CodecProfile } from './codecProfile'; -import { ContainerProfile } from './containerProfile'; -import { DeviceProfileIdentification } from './deviceProfileIdentification'; -import { DirectPlayProfile } from './directPlayProfile'; -import { ResponseProfile } from './responseProfile'; -import { SubtitleProfile } from './subtitleProfile'; -import { TranscodingProfile } from './transcodingProfile'; -import { XmlAttribute } from './xmlAttribute'; - -/** -* Gets or sets the device profile. -*/ -export class ClientCapabilitiesDtoDeviceProfile { - /** - * Gets or sets the name of this device profile. - */ - 'name'?: string | null; - /** - * Gets or sets the Id. - */ - 'id'?: string | null; - 'identification'?: DeviceProfileIdentification | null; - /** - * Gets or sets the friendly name of the device profile, which can be shown to users. - */ - 'friendlyName'?: string | null; - /** - * Gets or sets the manufacturer of the device which this profile represents. - */ - 'manufacturer'?: string | null; - /** - * Gets or sets an url for the manufacturer of the device which this profile represents. - */ - 'manufacturerUrl'?: string | null; - /** - * Gets or sets the model name of the device which this profile represents. - */ - 'modelName'?: string | null; - /** - * Gets or sets the model description of the device which this profile represents. - */ - 'modelDescription'?: string | null; - /** - * Gets or sets the model number of the device which this profile represents. - */ - 'modelNumber'?: string | null; - /** - * Gets or sets the ModelUrl. - */ - 'modelUrl'?: string | null; - /** - * Gets or sets the serial number of the device which this profile represents. - */ - 'serialNumber'?: string | null; - /** - * Gets or sets a value indicating whether EnableAlbumArtInDidl. - */ - 'enableAlbumArtInDidl'?: boolean = false; - /** - * Gets or sets a value indicating whether EnableSingleAlbumArtLimit. - */ - 'enableSingleAlbumArtLimit'?: boolean = false; - /** - * Gets or sets a value indicating whether EnableSingleSubtitleLimit. - */ - 'enableSingleSubtitleLimit'?: boolean = false; - /** - * Gets or sets the SupportedMediaTypes. - */ - 'supportedMediaTypes'?: string; - /** - * Gets or sets the UserId. - */ - 'userId'?: string | null; - /** - * Gets or sets the AlbumArtPn. - */ - 'albumArtPn'?: string | null; - /** - * Gets or sets the MaxAlbumArtWidth. - */ - 'maxAlbumArtWidth'?: number | null; - /** - * Gets or sets the MaxAlbumArtHeight. - */ - 'maxAlbumArtHeight'?: number | null; - /** - * Gets or sets the maximum allowed width of embedded icons. - */ - 'maxIconWidth'?: number | null; - /** - * Gets or sets the maximum allowed height of embedded icons. - */ - 'maxIconHeight'?: number | null; - /** - * Gets or sets the maximum allowed bitrate for all streamed content. - */ - 'maxStreamingBitrate'?: number | null; - /** - * Gets or sets the maximum allowed bitrate for statically streamed content (= direct played files). - */ - 'maxStaticBitrate'?: number | null; - /** - * Gets or sets the maximum allowed bitrate for transcoded music streams. - */ - 'musicStreamingTranscodingBitrate'?: number | null; - /** - * Gets or sets the maximum allowed bitrate for statically streamed (= direct played) music files. - */ - 'maxStaticMusicBitrate'?: number | null; - /** - * Gets or sets the content of the aggregationFlags element in the urn:schemas-sonycom:av namespace. - */ - 'sonyAggregationFlags'?: string | null; - /** - * Gets or sets the ProtocolInfo. - */ - 'protocolInfo'?: string | null; - /** - * Gets or sets the TimelineOffsetSeconds. - */ - 'timelineOffsetSeconds'?: number = 0; - /** - * Gets or sets a value indicating whether RequiresPlainVideoItems. - */ - 'requiresPlainVideoItems'?: boolean = false; - /** - * Gets or sets a value indicating whether RequiresPlainFolders. - */ - 'requiresPlainFolders'?: boolean = false; - /** - * Gets or sets a value indicating whether EnableMSMediaReceiverRegistrar. - */ - 'enableMSMediaReceiverRegistrar'?: boolean = false; - /** - * Gets or sets a value indicating whether IgnoreTranscodeByteRangeRequests. - */ - 'ignoreTranscodeByteRangeRequests'?: boolean = false; - /** - * Gets or sets the XmlRootAttributes. - */ - 'xmlRootAttributes'?: Array; - /** - * Gets or sets the direct play profiles. - */ - 'directPlayProfiles'?: Array; - /** - * Gets or sets the transcoding profiles. - */ - 'transcodingProfiles'?: Array; - /** - * Gets or sets the container profiles. - */ - 'containerProfiles'?: Array; - /** - * Gets or sets the codec profiles. - */ - 'codecProfiles'?: Array; - /** - * Gets or sets the ResponseProfiles. - */ - 'responseProfiles'?: Array; - /** - * Gets or sets the subtitle profiles. - */ - 'subtitleProfiles'?: Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "identification", - "baseName": "Identification", - "type": "DeviceProfileIdentification" - }, - { - "name": "friendlyName", - "baseName": "FriendlyName", - "type": "string" - }, - { - "name": "manufacturer", - "baseName": "Manufacturer", - "type": "string" - }, - { - "name": "manufacturerUrl", - "baseName": "ManufacturerUrl", - "type": "string" - }, - { - "name": "modelName", - "baseName": "ModelName", - "type": "string" - }, - { - "name": "modelDescription", - "baseName": "ModelDescription", - "type": "string" - }, - { - "name": "modelNumber", - "baseName": "ModelNumber", - "type": "string" - }, - { - "name": "modelUrl", - "baseName": "ModelUrl", - "type": "string" - }, - { - "name": "serialNumber", - "baseName": "SerialNumber", - "type": "string" - }, - { - "name": "enableAlbumArtInDidl", - "baseName": "EnableAlbumArtInDidl", - "type": "boolean" - }, - { - "name": "enableSingleAlbumArtLimit", - "baseName": "EnableSingleAlbumArtLimit", - "type": "boolean" - }, - { - "name": "enableSingleSubtitleLimit", - "baseName": "EnableSingleSubtitleLimit", - "type": "boolean" - }, - { - "name": "supportedMediaTypes", - "baseName": "SupportedMediaTypes", - "type": "string" - }, - { - "name": "userId", - "baseName": "UserId", - "type": "string" - }, - { - "name": "albumArtPn", - "baseName": "AlbumArtPn", - "type": "string" - }, - { - "name": "maxAlbumArtWidth", - "baseName": "MaxAlbumArtWidth", - "type": "number" - }, - { - "name": "maxAlbumArtHeight", - "baseName": "MaxAlbumArtHeight", - "type": "number" - }, - { - "name": "maxIconWidth", - "baseName": "MaxIconWidth", - "type": "number" - }, - { - "name": "maxIconHeight", - "baseName": "MaxIconHeight", - "type": "number" - }, - { - "name": "maxStreamingBitrate", - "baseName": "MaxStreamingBitrate", - "type": "number" - }, - { - "name": "maxStaticBitrate", - "baseName": "MaxStaticBitrate", - "type": "number" - }, - { - "name": "musicStreamingTranscodingBitrate", - "baseName": "MusicStreamingTranscodingBitrate", - "type": "number" - }, - { - "name": "maxStaticMusicBitrate", - "baseName": "MaxStaticMusicBitrate", - "type": "number" - }, - { - "name": "sonyAggregationFlags", - "baseName": "SonyAggregationFlags", - "type": "string" - }, - { - "name": "protocolInfo", - "baseName": "ProtocolInfo", - "type": "string" - }, - { - "name": "timelineOffsetSeconds", - "baseName": "TimelineOffsetSeconds", - "type": "number" - }, - { - "name": "requiresPlainVideoItems", - "baseName": "RequiresPlainVideoItems", - "type": "boolean" - }, - { - "name": "requiresPlainFolders", - "baseName": "RequiresPlainFolders", - "type": "boolean" - }, - { - "name": "enableMSMediaReceiverRegistrar", - "baseName": "EnableMSMediaReceiverRegistrar", - "type": "boolean" - }, - { - "name": "ignoreTranscodeByteRangeRequests", - "baseName": "IgnoreTranscodeByteRangeRequests", - "type": "boolean" - }, - { - "name": "xmlRootAttributes", - "baseName": "XmlRootAttributes", - "type": "Array" - }, - { - "name": "directPlayProfiles", - "baseName": "DirectPlayProfiles", - "type": "Array" - }, - { - "name": "transcodingProfiles", - "baseName": "TranscodingProfiles", - "type": "Array" - }, - { - "name": "containerProfiles", - "baseName": "ContainerProfiles", - "type": "Array" - }, - { - "name": "codecProfiles", - "baseName": "CodecProfiles", - "type": "Array" - }, - { - "name": "responseProfiles", - "baseName": "ResponseProfiles", - "type": "Array" - }, - { - "name": "subtitleProfiles", - "baseName": "SubtitleProfiles", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return ClientCapabilitiesDtoDeviceProfile.attributeTypeMap; - } -} - diff --git a/jellyfin/model/clientLogDocumentResponseDto.ts b/jellyfin/model/clientLogDocumentResponseDto.ts deleted file mode 100644 index 7cab6cc..0000000 --- a/jellyfin/model/clientLogDocumentResponseDto.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Client log document response dto. -*/ -export class ClientLogDocumentResponseDto { - /** - * Gets the resulting filename. - */ - 'fileName'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "fileName", - "baseName": "FileName", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return ClientLogDocumentResponseDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/codecProfile.ts b/jellyfin/model/codecProfile.ts deleted file mode 100644 index d05dcfc..0000000 --- a/jellyfin/model/codecProfile.ts +++ /dev/null @@ -1,59 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { CodecType } from './codecType'; -import { ProfileCondition } from './profileCondition'; - -export class CodecProfile { - 'type'?: CodecType; - 'conditions'?: Array | null; - 'applyConditions'?: Array | null; - 'codec'?: string | null; - 'container'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "type", - "baseName": "Type", - "type": "CodecType" - }, - { - "name": "conditions", - "baseName": "Conditions", - "type": "Array" - }, - { - "name": "applyConditions", - "baseName": "ApplyConditions", - "type": "Array" - }, - { - "name": "codec", - "baseName": "Codec", - "type": "string" - }, - { - "name": "container", - "baseName": "Container", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return CodecProfile.attributeTypeMap; - } -} - -export namespace CodecProfile { -} diff --git a/jellyfin/model/codecType.ts b/jellyfin/model/codecType.ts deleted file mode 100644 index c83052b..0000000 --- a/jellyfin/model/codecType.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum CodecType { - Video = 'Video', - VideoAudio = 'VideoAudio', - Audio = 'Audio' -} diff --git a/jellyfin/model/collectionCreationResult.ts b/jellyfin/model/collectionCreationResult.ts deleted file mode 100644 index 19ae0df..0000000 --- a/jellyfin/model/collectionCreationResult.ts +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class CollectionCreationResult { - 'id'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "id", - "baseName": "Id", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return CollectionCreationResult.attributeTypeMap; - } -} - diff --git a/jellyfin/model/collectionTypeOptions.ts b/jellyfin/model/collectionTypeOptions.ts deleted file mode 100644 index 5e2cc11..0000000 --- a/jellyfin/model/collectionTypeOptions.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum CollectionTypeOptions { - Movies = 'Movies', - TvShows = 'TvShows', - Music = 'Music', - MusicVideos = 'MusicVideos', - HomeVideos = 'HomeVideos', - BoxSets = 'BoxSets', - Books = 'Books', - Mixed = 'Mixed' -} diff --git a/jellyfin/model/configImageTypes.ts b/jellyfin/model/configImageTypes.ts deleted file mode 100644 index 0b52172..0000000 --- a/jellyfin/model/configImageTypes.ts +++ /dev/null @@ -1,67 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class ConfigImageTypes { - 'backdropSizes'?: Array | null; - 'baseUrl'?: string | null; - 'logoSizes'?: Array | null; - 'posterSizes'?: Array | null; - 'profileSizes'?: Array | null; - 'secureBaseUrl'?: string | null; - 'stillSizes'?: Array | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "backdropSizes", - "baseName": "BackdropSizes", - "type": "Array" - }, - { - "name": "baseUrl", - "baseName": "BaseUrl", - "type": "string" - }, - { - "name": "logoSizes", - "baseName": "LogoSizes", - "type": "Array" - }, - { - "name": "posterSizes", - "baseName": "PosterSizes", - "type": "Array" - }, - { - "name": "profileSizes", - "baseName": "ProfileSizes", - "type": "Array" - }, - { - "name": "secureBaseUrl", - "baseName": "SecureBaseUrl", - "type": "string" - }, - { - "name": "stillSizes", - "baseName": "StillSizes", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return ConfigImageTypes.attributeTypeMap; - } -} - diff --git a/jellyfin/model/configurationPageInfo.ts b/jellyfin/model/configurationPageInfo.ts deleted file mode 100644 index efb0b0b..0000000 --- a/jellyfin/model/configurationPageInfo.ts +++ /dev/null @@ -1,82 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* The configuration page info. -*/ -export class ConfigurationPageInfo { - /** - * Gets or sets the name. - */ - 'name'?: string; - /** - * Gets or sets a value indicating whether the configurations page is enabled in the main menu. - */ - 'enableInMainMenu'?: boolean; - /** - * Gets or sets the menu section. - */ - 'menuSection'?: string | null; - /** - * Gets or sets the menu icon. - */ - 'menuIcon'?: string | null; - /** - * Gets or sets the display name. - */ - 'displayName'?: string | null; - /** - * Gets or sets the plugin id. - */ - 'pluginId'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "enableInMainMenu", - "baseName": "EnableInMainMenu", - "type": "boolean" - }, - { - "name": "menuSection", - "baseName": "MenuSection", - "type": "string" - }, - { - "name": "menuIcon", - "baseName": "MenuIcon", - "type": "string" - }, - { - "name": "displayName", - "baseName": "DisplayName", - "type": "string" - }, - { - "name": "pluginId", - "baseName": "PluginId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return ConfigurationPageInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/containerProfile.ts b/jellyfin/model/containerProfile.ts deleted file mode 100644 index 3b0066f..0000000 --- a/jellyfin/model/containerProfile.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { DlnaProfileType } from './dlnaProfileType'; -import { ProfileCondition } from './profileCondition'; - -export class ContainerProfile { - 'type'?: DlnaProfileType; - 'conditions'?: Array | null; - 'container'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "type", - "baseName": "Type", - "type": "DlnaProfileType" - }, - { - "name": "conditions", - "baseName": "Conditions", - "type": "Array" - }, - { - "name": "container", - "baseName": "Container", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return ContainerProfile.attributeTypeMap; - } -} - -export namespace ContainerProfile { -} diff --git a/jellyfin/model/controlResponse.ts b/jellyfin/model/controlResponse.ts deleted file mode 100644 index b9b3595..0000000 --- a/jellyfin/model/controlResponse.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class ControlResponse { - 'headers'?: { [key: string]: string; }; - 'xml'?: string; - 'isSuccessful'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "headers", - "baseName": "Headers", - "type": "{ [key: string]: string; }" - }, - { - "name": "xml", - "baseName": "Xml", - "type": "string" - }, - { - "name": "isSuccessful", - "baseName": "IsSuccessful", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return ControlResponse.attributeTypeMap; - } -} - diff --git a/jellyfin/model/countryInfo.ts b/jellyfin/model/countryInfo.ts deleted file mode 100644 index 35df04b..0000000 --- a/jellyfin/model/countryInfo.ts +++ /dev/null @@ -1,64 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class CountryInfo. -*/ -export class CountryInfo { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the display name. - */ - 'displayName'?: string | null; - /** - * Gets or sets the name of the two letter ISO region. - */ - 'twoLetterISORegionName'?: string | null; - /** - * Gets or sets the name of the three letter ISO region. - */ - 'threeLetterISORegionName'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "displayName", - "baseName": "DisplayName", - "type": "string" - }, - { - "name": "twoLetterISORegionName", - "baseName": "TwoLetterISORegionName", - "type": "string" - }, - { - "name": "threeLetterISORegionName", - "baseName": "ThreeLetterISORegionName", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return CountryInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/createAdminNotificationRequest.ts b/jellyfin/model/createAdminNotificationRequest.ts deleted file mode 100644 index 1b1795c..0000000 --- a/jellyfin/model/createAdminNotificationRequest.ts +++ /dev/null @@ -1,64 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { NotificationLevel } from './notificationLevel'; - -/** -* The admin notification dto. -*/ -export class CreateAdminNotificationRequest { - /** - * Gets or sets the notification name. - */ - 'name'?: string | null; - /** - * Gets or sets the notification description. - */ - 'description'?: string | null; - 'notificationLevel'?: NotificationLevel | null; - /** - * Gets or sets the notification url. - */ - 'url'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "description", - "baseName": "Description", - "type": "string" - }, - { - "name": "notificationLevel", - "baseName": "NotificationLevel", - "type": "NotificationLevel" - }, - { - "name": "url", - "baseName": "Url", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return CreateAdminNotificationRequest.attributeTypeMap; - } -} - -export namespace CreateAdminNotificationRequest { -} diff --git a/jellyfin/model/createPlaylistDto.ts b/jellyfin/model/createPlaylistDto.ts deleted file mode 100644 index 3ede6c7..0000000 --- a/jellyfin/model/createPlaylistDto.ts +++ /dev/null @@ -1,64 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Create new playlist dto. -*/ -export class CreatePlaylistDto { - /** - * Gets or sets the name of the new playlist. - */ - 'name'?: string | null; - /** - * Gets or sets item ids to add to the playlist. - */ - 'ids'?: Array; - /** - * Gets or sets the user id. - */ - 'userId'?: string | null; - /** - * Gets or sets the media type. - */ - 'mediaType'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "ids", - "baseName": "Ids", - "type": "Array" - }, - { - "name": "userId", - "baseName": "UserId", - "type": "string" - }, - { - "name": "mediaType", - "baseName": "MediaType", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return CreatePlaylistDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/createPlaylistRequest.ts b/jellyfin/model/createPlaylistRequest.ts deleted file mode 100644 index 5b10478..0000000 --- a/jellyfin/model/createPlaylistRequest.ts +++ /dev/null @@ -1,64 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Create new playlist dto. -*/ -export class CreatePlaylistRequest { - /** - * Gets or sets the name of the new playlist. - */ - 'name'?: string | null; - /** - * Gets or sets item ids to add to the playlist. - */ - 'ids'?: Array; - /** - * Gets or sets the user id. - */ - 'userId'?: string | null; - /** - * Gets or sets the media type. - */ - 'mediaType'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "ids", - "baseName": "Ids", - "type": "Array" - }, - { - "name": "userId", - "baseName": "UserId", - "type": "string" - }, - { - "name": "mediaType", - "baseName": "MediaType", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return CreatePlaylistRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/createProfileRequest.ts b/jellyfin/model/createProfileRequest.ts deleted file mode 100644 index 54aa4d6..0000000 --- a/jellyfin/model/createProfileRequest.ts +++ /dev/null @@ -1,384 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { CodecProfile } from './codecProfile'; -import { ContainerProfile } from './containerProfile'; -import { DeviceProfileIdentification } from './deviceProfileIdentification'; -import { DirectPlayProfile } from './directPlayProfile'; -import { ResponseProfile } from './responseProfile'; -import { SubtitleProfile } from './subtitleProfile'; -import { TranscodingProfile } from './transcodingProfile'; -import { XmlAttribute } from './xmlAttribute'; - -/** -* A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play.
Specifically, it defines the supported containers and codecs (video and/or audio, including codec profiles and levels) the device is able to direct play (without transcoding or remuxing), as well as which containers/codecs to transcode to in case it isn\'t. -*/ -export class CreateProfileRequest { - /** - * Gets or sets the name of this device profile. - */ - 'name'?: string | null; - /** - * Gets or sets the Id. - */ - 'id'?: string | null; - 'identification'?: DeviceProfileIdentification | null; - /** - * Gets or sets the friendly name of the device profile, which can be shown to users. - */ - 'friendlyName'?: string | null; - /** - * Gets or sets the manufacturer of the device which this profile represents. - */ - 'manufacturer'?: string | null; - /** - * Gets or sets an url for the manufacturer of the device which this profile represents. - */ - 'manufacturerUrl'?: string | null; - /** - * Gets or sets the model name of the device which this profile represents. - */ - 'modelName'?: string | null; - /** - * Gets or sets the model description of the device which this profile represents. - */ - 'modelDescription'?: string | null; - /** - * Gets or sets the model number of the device which this profile represents. - */ - 'modelNumber'?: string | null; - /** - * Gets or sets the ModelUrl. - */ - 'modelUrl'?: string | null; - /** - * Gets or sets the serial number of the device which this profile represents. - */ - 'serialNumber'?: string | null; - /** - * Gets or sets a value indicating whether EnableAlbumArtInDidl. - */ - 'enableAlbumArtInDidl'?: boolean = false; - /** - * Gets or sets a value indicating whether EnableSingleAlbumArtLimit. - */ - 'enableSingleAlbumArtLimit'?: boolean = false; - /** - * Gets or sets a value indicating whether EnableSingleSubtitleLimit. - */ - 'enableSingleSubtitleLimit'?: boolean = false; - /** - * Gets or sets the SupportedMediaTypes. - */ - 'supportedMediaTypes'?: string; - /** - * Gets or sets the UserId. - */ - 'userId'?: string | null; - /** - * Gets or sets the AlbumArtPn. - */ - 'albumArtPn'?: string | null; - /** - * Gets or sets the MaxAlbumArtWidth. - */ - 'maxAlbumArtWidth'?: number | null; - /** - * Gets or sets the MaxAlbumArtHeight. - */ - 'maxAlbumArtHeight'?: number | null; - /** - * Gets or sets the maximum allowed width of embedded icons. - */ - 'maxIconWidth'?: number | null; - /** - * Gets or sets the maximum allowed height of embedded icons. - */ - 'maxIconHeight'?: number | null; - /** - * Gets or sets the maximum allowed bitrate for all streamed content. - */ - 'maxStreamingBitrate'?: number | null; - /** - * Gets or sets the maximum allowed bitrate for statically streamed content (= direct played files). - */ - 'maxStaticBitrate'?: number | null; - /** - * Gets or sets the maximum allowed bitrate for transcoded music streams. - */ - 'musicStreamingTranscodingBitrate'?: number | null; - /** - * Gets or sets the maximum allowed bitrate for statically streamed (= direct played) music files. - */ - 'maxStaticMusicBitrate'?: number | null; - /** - * Gets or sets the content of the aggregationFlags element in the urn:schemas-sonycom:av namespace. - */ - 'sonyAggregationFlags'?: string | null; - /** - * Gets or sets the ProtocolInfo. - */ - 'protocolInfo'?: string | null; - /** - * Gets or sets the TimelineOffsetSeconds. - */ - 'timelineOffsetSeconds'?: number = 0; - /** - * Gets or sets a value indicating whether RequiresPlainVideoItems. - */ - 'requiresPlainVideoItems'?: boolean = false; - /** - * Gets or sets a value indicating whether RequiresPlainFolders. - */ - 'requiresPlainFolders'?: boolean = false; - /** - * Gets or sets a value indicating whether EnableMSMediaReceiverRegistrar. - */ - 'enableMSMediaReceiverRegistrar'?: boolean = false; - /** - * Gets or sets a value indicating whether IgnoreTranscodeByteRangeRequests. - */ - 'ignoreTranscodeByteRangeRequests'?: boolean = false; - /** - * Gets or sets the XmlRootAttributes. - */ - 'xmlRootAttributes'?: Array; - /** - * Gets or sets the direct play profiles. - */ - 'directPlayProfiles'?: Array; - /** - * Gets or sets the transcoding profiles. - */ - 'transcodingProfiles'?: Array; - /** - * Gets or sets the container profiles. - */ - 'containerProfiles'?: Array; - /** - * Gets or sets the codec profiles. - */ - 'codecProfiles'?: Array; - /** - * Gets or sets the ResponseProfiles. - */ - 'responseProfiles'?: Array; - /** - * Gets or sets the subtitle profiles. - */ - 'subtitleProfiles'?: Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "identification", - "baseName": "Identification", - "type": "DeviceProfileIdentification" - }, - { - "name": "friendlyName", - "baseName": "FriendlyName", - "type": "string" - }, - { - "name": "manufacturer", - "baseName": "Manufacturer", - "type": "string" - }, - { - "name": "manufacturerUrl", - "baseName": "ManufacturerUrl", - "type": "string" - }, - { - "name": "modelName", - "baseName": "ModelName", - "type": "string" - }, - { - "name": "modelDescription", - "baseName": "ModelDescription", - "type": "string" - }, - { - "name": "modelNumber", - "baseName": "ModelNumber", - "type": "string" - }, - { - "name": "modelUrl", - "baseName": "ModelUrl", - "type": "string" - }, - { - "name": "serialNumber", - "baseName": "SerialNumber", - "type": "string" - }, - { - "name": "enableAlbumArtInDidl", - "baseName": "EnableAlbumArtInDidl", - "type": "boolean" - }, - { - "name": "enableSingleAlbumArtLimit", - "baseName": "EnableSingleAlbumArtLimit", - "type": "boolean" - }, - { - "name": "enableSingleSubtitleLimit", - "baseName": "EnableSingleSubtitleLimit", - "type": "boolean" - }, - { - "name": "supportedMediaTypes", - "baseName": "SupportedMediaTypes", - "type": "string" - }, - { - "name": "userId", - "baseName": "UserId", - "type": "string" - }, - { - "name": "albumArtPn", - "baseName": "AlbumArtPn", - "type": "string" - }, - { - "name": "maxAlbumArtWidth", - "baseName": "MaxAlbumArtWidth", - "type": "number" - }, - { - "name": "maxAlbumArtHeight", - "baseName": "MaxAlbumArtHeight", - "type": "number" - }, - { - "name": "maxIconWidth", - "baseName": "MaxIconWidth", - "type": "number" - }, - { - "name": "maxIconHeight", - "baseName": "MaxIconHeight", - "type": "number" - }, - { - "name": "maxStreamingBitrate", - "baseName": "MaxStreamingBitrate", - "type": "number" - }, - { - "name": "maxStaticBitrate", - "baseName": "MaxStaticBitrate", - "type": "number" - }, - { - "name": "musicStreamingTranscodingBitrate", - "baseName": "MusicStreamingTranscodingBitrate", - "type": "number" - }, - { - "name": "maxStaticMusicBitrate", - "baseName": "MaxStaticMusicBitrate", - "type": "number" - }, - { - "name": "sonyAggregationFlags", - "baseName": "SonyAggregationFlags", - "type": "string" - }, - { - "name": "protocolInfo", - "baseName": "ProtocolInfo", - "type": "string" - }, - { - "name": "timelineOffsetSeconds", - "baseName": "TimelineOffsetSeconds", - "type": "number" - }, - { - "name": "requiresPlainVideoItems", - "baseName": "RequiresPlainVideoItems", - "type": "boolean" - }, - { - "name": "requiresPlainFolders", - "baseName": "RequiresPlainFolders", - "type": "boolean" - }, - { - "name": "enableMSMediaReceiverRegistrar", - "baseName": "EnableMSMediaReceiverRegistrar", - "type": "boolean" - }, - { - "name": "ignoreTranscodeByteRangeRequests", - "baseName": "IgnoreTranscodeByteRangeRequests", - "type": "boolean" - }, - { - "name": "xmlRootAttributes", - "baseName": "XmlRootAttributes", - "type": "Array" - }, - { - "name": "directPlayProfiles", - "baseName": "DirectPlayProfiles", - "type": "Array" - }, - { - "name": "transcodingProfiles", - "baseName": "TranscodingProfiles", - "type": "Array" - }, - { - "name": "containerProfiles", - "baseName": "ContainerProfiles", - "type": "Array" - }, - { - "name": "codecProfiles", - "baseName": "CodecProfiles", - "type": "Array" - }, - { - "name": "responseProfiles", - "baseName": "ResponseProfiles", - "type": "Array" - }, - { - "name": "subtitleProfiles", - "baseName": "SubtitleProfiles", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return CreateProfileRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/createSeriesTimerRequest.ts b/jellyfin/model/createSeriesTimerRequest.ts deleted file mode 100644 index ca4c989..0000000 --- a/jellyfin/model/createSeriesTimerRequest.ts +++ /dev/null @@ -1,330 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { DayOfWeek } from './dayOfWeek'; -import { DayPattern } from './dayPattern'; -import { KeepUntil } from './keepUntil'; - -/** -* Class SeriesTimerInfoDto. -*/ -export class CreateSeriesTimerRequest { - /** - * Gets or sets the Id of the recording. - */ - 'id'?: string | null; - 'type'?: string | null; - /** - * Gets or sets the server identifier. - */ - 'serverId'?: string | null; - /** - * Gets or sets the external identifier. - */ - 'externalId'?: string | null; - /** - * Gets or sets the channel id of the recording. - */ - 'channelId'?: string; - /** - * Gets or sets the external channel identifier. - */ - 'externalChannelId'?: string | null; - /** - * Gets or sets the channel name of the recording. - */ - 'channelName'?: string | null; - 'channelPrimaryImageTag'?: string | null; - /** - * Gets or sets the program identifier. - */ - 'programId'?: string | null; - /** - * Gets or sets the external program identifier. - */ - 'externalProgramId'?: string | null; - /** - * Gets or sets the name of the recording. - */ - 'name'?: string | null; - /** - * Gets or sets the description of the recording. - */ - 'overview'?: string | null; - /** - * Gets or sets the start date of the recording, in UTC. - */ - 'startDate'?: Date; - /** - * Gets or sets the end date of the recording, in UTC. - */ - 'endDate'?: Date; - /** - * Gets or sets the name of the service. - */ - 'serviceName'?: string | null; - /** - * Gets or sets the priority. - */ - 'priority'?: number; - /** - * Gets or sets the pre padding seconds. - */ - 'prePaddingSeconds'?: number; - /** - * Gets or sets the post padding seconds. - */ - 'postPaddingSeconds'?: number; - /** - * Gets or sets a value indicating whether this instance is pre padding required. - */ - 'isPrePaddingRequired'?: boolean; - /** - * Gets or sets the Id of the Parent that has a backdrop if the item does not have one. - */ - 'parentBackdropItemId'?: string | null; - /** - * Gets or sets the parent backdrop image tags. - */ - 'parentBackdropImageTags'?: Array | null; - /** - * Gets or sets a value indicating whether this instance is post padding required. - */ - 'isPostPaddingRequired'?: boolean; - 'keepUntil'?: KeepUntil; - /** - * Gets or sets a value indicating whether [record any time]. - */ - 'recordAnyTime'?: boolean; - 'skipEpisodesInLibrary'?: boolean; - /** - * Gets or sets a value indicating whether [record any channel]. - */ - 'recordAnyChannel'?: boolean; - 'keepUpTo'?: number; - /** - * Gets or sets a value indicating whether [record new only]. - */ - 'recordNewOnly'?: boolean; - /** - * Gets or sets the days. - */ - 'days'?: Array | null; - 'dayPattern'?: DayPattern | null; - /** - * Gets or sets the image tags. - */ - 'imageTags'?: { [key: string]: string; } | null; - /** - * Gets or sets the parent thumb item id. - */ - 'parentThumbItemId'?: string | null; - /** - * Gets or sets the parent thumb image tag. - */ - 'parentThumbImageTag'?: string | null; - /** - * Gets or sets the parent primary image item identifier. - */ - 'parentPrimaryImageItemId'?: string | null; - /** - * Gets or sets the parent primary image tag. - */ - 'parentPrimaryImageTag'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "type", - "baseName": "Type", - "type": "string" - }, - { - "name": "serverId", - "baseName": "ServerId", - "type": "string" - }, - { - "name": "externalId", - "baseName": "ExternalId", - "type": "string" - }, - { - "name": "channelId", - "baseName": "ChannelId", - "type": "string" - }, - { - "name": "externalChannelId", - "baseName": "ExternalChannelId", - "type": "string" - }, - { - "name": "channelName", - "baseName": "ChannelName", - "type": "string" - }, - { - "name": "channelPrimaryImageTag", - "baseName": "ChannelPrimaryImageTag", - "type": "string" - }, - { - "name": "programId", - "baseName": "ProgramId", - "type": "string" - }, - { - "name": "externalProgramId", - "baseName": "ExternalProgramId", - "type": "string" - }, - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "overview", - "baseName": "Overview", - "type": "string" - }, - { - "name": "startDate", - "baseName": "StartDate", - "type": "Date" - }, - { - "name": "endDate", - "baseName": "EndDate", - "type": "Date" - }, - { - "name": "serviceName", - "baseName": "ServiceName", - "type": "string" - }, - { - "name": "priority", - "baseName": "Priority", - "type": "number" - }, - { - "name": "prePaddingSeconds", - "baseName": "PrePaddingSeconds", - "type": "number" - }, - { - "name": "postPaddingSeconds", - "baseName": "PostPaddingSeconds", - "type": "number" - }, - { - "name": "isPrePaddingRequired", - "baseName": "IsPrePaddingRequired", - "type": "boolean" - }, - { - "name": "parentBackdropItemId", - "baseName": "ParentBackdropItemId", - "type": "string" - }, - { - "name": "parentBackdropImageTags", - "baseName": "ParentBackdropImageTags", - "type": "Array" - }, - { - "name": "isPostPaddingRequired", - "baseName": "IsPostPaddingRequired", - "type": "boolean" - }, - { - "name": "keepUntil", - "baseName": "KeepUntil", - "type": "KeepUntil" - }, - { - "name": "recordAnyTime", - "baseName": "RecordAnyTime", - "type": "boolean" - }, - { - "name": "skipEpisodesInLibrary", - "baseName": "SkipEpisodesInLibrary", - "type": "boolean" - }, - { - "name": "recordAnyChannel", - "baseName": "RecordAnyChannel", - "type": "boolean" - }, - { - "name": "keepUpTo", - "baseName": "KeepUpTo", - "type": "number" - }, - { - "name": "recordNewOnly", - "baseName": "RecordNewOnly", - "type": "boolean" - }, - { - "name": "days", - "baseName": "Days", - "type": "Array" - }, - { - "name": "dayPattern", - "baseName": "DayPattern", - "type": "DayPattern" - }, - { - "name": "imageTags", - "baseName": "ImageTags", - "type": "{ [key: string]: string; }" - }, - { - "name": "parentThumbItemId", - "baseName": "ParentThumbItemId", - "type": "string" - }, - { - "name": "parentThumbImageTag", - "baseName": "ParentThumbImageTag", - "type": "string" - }, - { - "name": "parentPrimaryImageItemId", - "baseName": "ParentPrimaryImageItemId", - "type": "string" - }, - { - "name": "parentPrimaryImageTag", - "baseName": "ParentPrimaryImageTag", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return CreateSeriesTimerRequest.attributeTypeMap; - } -} - -export namespace CreateSeriesTimerRequest { -} diff --git a/jellyfin/model/createTimerRequest.ts b/jellyfin/model/createTimerRequest.ts deleted file mode 100644 index 045a831..0000000 --- a/jellyfin/model/createTimerRequest.ts +++ /dev/null @@ -1,267 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { KeepUntil } from './keepUntil'; -import { RecordingStatus } from './recordingStatus'; -import { TimerInfoDtoProgramInfo } from './timerInfoDtoProgramInfo'; - -export class CreateTimerRequest { - /** - * Gets or sets the Id of the recording. - */ - 'id'?: string | null; - 'type'?: string | null; - /** - * Gets or sets the server identifier. - */ - 'serverId'?: string | null; - /** - * Gets or sets the external identifier. - */ - 'externalId'?: string | null; - /** - * Gets or sets the channel id of the recording. - */ - 'channelId'?: string; - /** - * Gets or sets the external channel identifier. - */ - 'externalChannelId'?: string | null; - /** - * Gets or sets the channel name of the recording. - */ - 'channelName'?: string | null; - 'channelPrimaryImageTag'?: string | null; - /** - * Gets or sets the program identifier. - */ - 'programId'?: string | null; - /** - * Gets or sets the external program identifier. - */ - 'externalProgramId'?: string | null; - /** - * Gets or sets the name of the recording. - */ - 'name'?: string | null; - /** - * Gets or sets the description of the recording. - */ - 'overview'?: string | null; - /** - * Gets or sets the start date of the recording, in UTC. - */ - 'startDate'?: Date; - /** - * Gets or sets the end date of the recording, in UTC. - */ - 'endDate'?: Date; - /** - * Gets or sets the name of the service. - */ - 'serviceName'?: string | null; - /** - * Gets or sets the priority. - */ - 'priority'?: number; - /** - * Gets or sets the pre padding seconds. - */ - 'prePaddingSeconds'?: number; - /** - * Gets or sets the post padding seconds. - */ - 'postPaddingSeconds'?: number; - /** - * Gets or sets a value indicating whether this instance is pre padding required. - */ - 'isPrePaddingRequired'?: boolean; - /** - * Gets or sets the Id of the Parent that has a backdrop if the item does not have one. - */ - 'parentBackdropItemId'?: string | null; - /** - * Gets or sets the parent backdrop image tags. - */ - 'parentBackdropImageTags'?: Array | null; - /** - * Gets or sets a value indicating whether this instance is post padding required. - */ - 'isPostPaddingRequired'?: boolean; - 'keepUntil'?: KeepUntil; - 'status'?: RecordingStatus; - /** - * Gets or sets the series timer identifier. - */ - 'seriesTimerId'?: string | null; - /** - * Gets or sets the external series timer identifier. - */ - 'externalSeriesTimerId'?: string | null; - /** - * Gets or sets the run time ticks. - */ - 'runTimeTicks'?: number | null; - 'programInfo'?: TimerInfoDtoProgramInfo | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "type", - "baseName": "Type", - "type": "string" - }, - { - "name": "serverId", - "baseName": "ServerId", - "type": "string" - }, - { - "name": "externalId", - "baseName": "ExternalId", - "type": "string" - }, - { - "name": "channelId", - "baseName": "ChannelId", - "type": "string" - }, - { - "name": "externalChannelId", - "baseName": "ExternalChannelId", - "type": "string" - }, - { - "name": "channelName", - "baseName": "ChannelName", - "type": "string" - }, - { - "name": "channelPrimaryImageTag", - "baseName": "ChannelPrimaryImageTag", - "type": "string" - }, - { - "name": "programId", - "baseName": "ProgramId", - "type": "string" - }, - { - "name": "externalProgramId", - "baseName": "ExternalProgramId", - "type": "string" - }, - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "overview", - "baseName": "Overview", - "type": "string" - }, - { - "name": "startDate", - "baseName": "StartDate", - "type": "Date" - }, - { - "name": "endDate", - "baseName": "EndDate", - "type": "Date" - }, - { - "name": "serviceName", - "baseName": "ServiceName", - "type": "string" - }, - { - "name": "priority", - "baseName": "Priority", - "type": "number" - }, - { - "name": "prePaddingSeconds", - "baseName": "PrePaddingSeconds", - "type": "number" - }, - { - "name": "postPaddingSeconds", - "baseName": "PostPaddingSeconds", - "type": "number" - }, - { - "name": "isPrePaddingRequired", - "baseName": "IsPrePaddingRequired", - "type": "boolean" - }, - { - "name": "parentBackdropItemId", - "baseName": "ParentBackdropItemId", - "type": "string" - }, - { - "name": "parentBackdropImageTags", - "baseName": "ParentBackdropImageTags", - "type": "Array" - }, - { - "name": "isPostPaddingRequired", - "baseName": "IsPostPaddingRequired", - "type": "boolean" - }, - { - "name": "keepUntil", - "baseName": "KeepUntil", - "type": "KeepUntil" - }, - { - "name": "status", - "baseName": "Status", - "type": "RecordingStatus" - }, - { - "name": "seriesTimerId", - "baseName": "SeriesTimerId", - "type": "string" - }, - { - "name": "externalSeriesTimerId", - "baseName": "ExternalSeriesTimerId", - "type": "string" - }, - { - "name": "runTimeTicks", - "baseName": "RunTimeTicks", - "type": "number" - }, - { - "name": "programInfo", - "baseName": "ProgramInfo", - "type": "TimerInfoDtoProgramInfo" - } ]; - - static getAttributeTypeMap() { - return CreateTimerRequest.attributeTypeMap; - } -} - -export namespace CreateTimerRequest { -} diff --git a/jellyfin/model/createUserByName.ts b/jellyfin/model/createUserByName.ts deleted file mode 100644 index bc85dcb..0000000 --- a/jellyfin/model/createUserByName.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* The create user by name request body. -*/ -export class CreateUserByName { - /** - * Gets or sets the username. - */ - 'name'?: string | null; - /** - * Gets or sets the password. - */ - 'password'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "password", - "baseName": "Password", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return CreateUserByName.attributeTypeMap; - } -} - diff --git a/jellyfin/model/createUserByNameRequest.ts b/jellyfin/model/createUserByNameRequest.ts deleted file mode 100644 index aa27917..0000000 --- a/jellyfin/model/createUserByNameRequest.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* The create user by name request body. -*/ -export class CreateUserByNameRequest { - /** - * Gets or sets the username. - */ - 'name'?: string | null; - /** - * Gets or sets the password. - */ - 'password'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "password", - "baseName": "Password", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return CreateUserByNameRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/cultureDto.ts b/jellyfin/model/cultureDto.ts deleted file mode 100644 index 0f0de49..0000000 --- a/jellyfin/model/cultureDto.ts +++ /dev/null @@ -1,70 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class CultureDto. -*/ -export class CultureDto { - /** - * Gets the name. - */ - 'name'?: string; - /** - * Gets the display name. - */ - 'displayName'?: string; - /** - * Gets the name of the two letter ISO language. - */ - 'twoLetterISOLanguageName'?: string; - /** - * Gets the name of the three letter ISO language. - */ - 'threeLetterISOLanguageName'?: string | null; - 'threeLetterISOLanguageNames'?: Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "displayName", - "baseName": "DisplayName", - "type": "string" - }, - { - "name": "twoLetterISOLanguageName", - "baseName": "TwoLetterISOLanguageName", - "type": "string" - }, - { - "name": "threeLetterISOLanguageName", - "baseName": "ThreeLetterISOLanguageName", - "type": "string" - }, - { - "name": "threeLetterISOLanguageNames", - "baseName": "ThreeLetterISOLanguageNames", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return CultureDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/dayOfWeek.ts b/jellyfin/model/dayOfWeek.ts deleted file mode 100644 index 5a7edd0..0000000 --- a/jellyfin/model/dayOfWeek.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum DayOfWeek { - Sunday = 'Sunday', - Monday = 'Monday', - Tuesday = 'Tuesday', - Wednesday = 'Wednesday', - Thursday = 'Thursday', - Friday = 'Friday', - Saturday = 'Saturday' -} diff --git a/jellyfin/model/dayPattern.ts b/jellyfin/model/dayPattern.ts deleted file mode 100644 index 329e958..0000000 --- a/jellyfin/model/dayPattern.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum DayPattern { - Daily = 'Daily', - Weekdays = 'Weekdays', - Weekends = 'Weekends' -} diff --git a/jellyfin/model/defaultDirectoryBrowserInfoDto.ts b/jellyfin/model/defaultDirectoryBrowserInfoDto.ts deleted file mode 100644 index 1e39e74..0000000 --- a/jellyfin/model/defaultDirectoryBrowserInfoDto.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Default directory browser info. -*/ -export class DefaultDirectoryBrowserInfoDto { - /** - * Gets or sets the path. - */ - 'path'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "path", - "baseName": "Path", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return DefaultDirectoryBrowserInfoDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/deviceIdentification.ts b/jellyfin/model/deviceIdentification.ts deleted file mode 100644 index 8889c9a..0000000 --- a/jellyfin/model/deviceIdentification.ts +++ /dev/null @@ -1,107 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { HttpHeaderInfo } from './httpHeaderInfo'; - -export class DeviceIdentification { - /** - * Gets or sets the name of the friendly. - */ - 'friendlyName'?: string; - /** - * Gets or sets the model number. - */ - 'modelNumber'?: string; - /** - * Gets or sets the serial number. - */ - 'serialNumber'?: string; - /** - * Gets or sets the name of the model. - */ - 'modelName'?: string; - /** - * Gets or sets the model description. - */ - 'modelDescription'?: string; - /** - * Gets or sets the model URL. - */ - 'modelUrl'?: string; - /** - * Gets or sets the manufacturer. - */ - 'manufacturer'?: string; - /** - * Gets or sets the manufacturer URL. - */ - 'manufacturerUrl'?: string; - /** - * Gets or sets the headers. - */ - 'headers'?: Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "friendlyName", - "baseName": "FriendlyName", - "type": "string" - }, - { - "name": "modelNumber", - "baseName": "ModelNumber", - "type": "string" - }, - { - "name": "serialNumber", - "baseName": "SerialNumber", - "type": "string" - }, - { - "name": "modelName", - "baseName": "ModelName", - "type": "string" - }, - { - "name": "modelDescription", - "baseName": "ModelDescription", - "type": "string" - }, - { - "name": "modelUrl", - "baseName": "ModelUrl", - "type": "string" - }, - { - "name": "manufacturer", - "baseName": "Manufacturer", - "type": "string" - }, - { - "name": "manufacturerUrl", - "baseName": "ManufacturerUrl", - "type": "string" - }, - { - "name": "headers", - "baseName": "Headers", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return DeviceIdentification.attributeTypeMap; - } -} - diff --git a/jellyfin/model/deviceInfo.ts b/jellyfin/model/deviceInfo.ts deleted file mode 100644 index 9c35282..0000000 --- a/jellyfin/model/deviceInfo.ts +++ /dev/null @@ -1,107 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { DeviceInfoCapabilities } from './deviceInfoCapabilities'; - -export class DeviceInfo { - 'name'?: string | null; - /** - * Gets or sets the access token. - */ - 'accessToken'?: string | null; - /** - * Gets or sets the identifier. - */ - 'id'?: string | null; - /** - * Gets or sets the last name of the user. - */ - 'lastUserName'?: string | null; - /** - * Gets or sets the name of the application. - */ - 'appName'?: string | null; - /** - * Gets or sets the application version. - */ - 'appVersion'?: string | null; - /** - * Gets or sets the last user identifier. - */ - 'lastUserId'?: string; - /** - * Gets or sets the date last modified. - */ - 'dateLastActivity'?: Date; - 'capabilities'?: DeviceInfoCapabilities | null; - 'iconUrl'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "accessToken", - "baseName": "AccessToken", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "lastUserName", - "baseName": "LastUserName", - "type": "string" - }, - { - "name": "appName", - "baseName": "AppName", - "type": "string" - }, - { - "name": "appVersion", - "baseName": "AppVersion", - "type": "string" - }, - { - "name": "lastUserId", - "baseName": "LastUserId", - "type": "string" - }, - { - "name": "dateLastActivity", - "baseName": "DateLastActivity", - "type": "Date" - }, - { - "name": "capabilities", - "baseName": "Capabilities", - "type": "DeviceInfoCapabilities" - }, - { - "name": "iconUrl", - "baseName": "IconUrl", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return DeviceInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/deviceInfoCapabilities.ts b/jellyfin/model/deviceInfoCapabilities.ts deleted file mode 100644 index 64957c4..0000000 --- a/jellyfin/model/deviceInfoCapabilities.ts +++ /dev/null @@ -1,90 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ClientCapabilitiesDeviceProfile } from './clientCapabilitiesDeviceProfile'; -import { GeneralCommandType } from './generalCommandType'; - -/** -* Gets or sets the capabilities. -*/ -export class DeviceInfoCapabilities { - 'playableMediaTypes'?: Array | null; - 'supportedCommands'?: Array | null; - 'supportsMediaControl'?: boolean; - 'supportsContentUploading'?: boolean; - 'messageCallbackUrl'?: string | null; - 'supportsPersistentIdentifier'?: boolean; - 'supportsSync'?: boolean; - 'deviceProfile'?: ClientCapabilitiesDeviceProfile | null; - 'appStoreUrl'?: string | null; - 'iconUrl'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "playableMediaTypes", - "baseName": "PlayableMediaTypes", - "type": "Array" - }, - { - "name": "supportedCommands", - "baseName": "SupportedCommands", - "type": "Array" - }, - { - "name": "supportsMediaControl", - "baseName": "SupportsMediaControl", - "type": "boolean" - }, - { - "name": "supportsContentUploading", - "baseName": "SupportsContentUploading", - "type": "boolean" - }, - { - "name": "messageCallbackUrl", - "baseName": "MessageCallbackUrl", - "type": "string" - }, - { - "name": "supportsPersistentIdentifier", - "baseName": "SupportsPersistentIdentifier", - "type": "boolean" - }, - { - "name": "supportsSync", - "baseName": "SupportsSync", - "type": "boolean" - }, - { - "name": "deviceProfile", - "baseName": "DeviceProfile", - "type": "ClientCapabilitiesDeviceProfile" - }, - { - "name": "appStoreUrl", - "baseName": "AppStoreUrl", - "type": "string" - }, - { - "name": "iconUrl", - "baseName": "IconUrl", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return DeviceInfoCapabilities.attributeTypeMap; - } -} - diff --git a/jellyfin/model/deviceInfoQueryResult.ts b/jellyfin/model/deviceInfoQueryResult.ts deleted file mode 100644 index 29d409e..0000000 --- a/jellyfin/model/deviceInfoQueryResult.ts +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { DeviceInfo } from './deviceInfo'; - -export class DeviceInfoQueryResult { - /** - * Gets or sets the items. - */ - 'items'?: Array | null; - /** - * Gets or sets the total number of records available. - */ - 'totalRecordCount'?: number; - /** - * Gets or sets the index of the first record in Items. - */ - 'startIndex'?: number; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "items", - "baseName": "Items", - "type": "Array" - }, - { - "name": "totalRecordCount", - "baseName": "TotalRecordCount", - "type": "number" - }, - { - "name": "startIndex", - "baseName": "StartIndex", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return DeviceInfoQueryResult.attributeTypeMap; - } -} - diff --git a/jellyfin/model/deviceOptions.ts b/jellyfin/model/deviceOptions.ts deleted file mode 100644 index 5746899..0000000 --- a/jellyfin/model/deviceOptions.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* An entity representing custom options for a device. -*/ -export class DeviceOptions { - /** - * Gets the id. - */ - 'id'?: number; - /** - * Gets the device id. - */ - 'deviceId'?: string; - /** - * Gets or sets the custom name. - */ - 'customName'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "id", - "baseName": "Id", - "type": "number" - }, - { - "name": "deviceId", - "baseName": "DeviceId", - "type": "string" - }, - { - "name": "customName", - "baseName": "CustomName", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return DeviceOptions.attributeTypeMap; - } -} - diff --git a/jellyfin/model/deviceOptionsDto.ts b/jellyfin/model/deviceOptionsDto.ts deleted file mode 100644 index 0c1a53d..0000000 --- a/jellyfin/model/deviceOptionsDto.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* A dto representing custom options for a device. -*/ -export class DeviceOptionsDto { - /** - * Gets or sets the id. - */ - 'id'?: number; - /** - * Gets or sets the device id. - */ - 'deviceId'?: string | null; - /** - * Gets or sets the custom name. - */ - 'customName'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "id", - "baseName": "Id", - "type": "number" - }, - { - "name": "deviceId", - "baseName": "DeviceId", - "type": "string" - }, - { - "name": "customName", - "baseName": "CustomName", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return DeviceOptionsDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/deviceProfile.ts b/jellyfin/model/deviceProfile.ts deleted file mode 100644 index 31c2990..0000000 --- a/jellyfin/model/deviceProfile.ts +++ /dev/null @@ -1,384 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { CodecProfile } from './codecProfile'; -import { ContainerProfile } from './containerProfile'; -import { DeviceProfileIdentification } from './deviceProfileIdentification'; -import { DirectPlayProfile } from './directPlayProfile'; -import { ResponseProfile } from './responseProfile'; -import { SubtitleProfile } from './subtitleProfile'; -import { TranscodingProfile } from './transcodingProfile'; -import { XmlAttribute } from './xmlAttribute'; - -/** -* A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play.
Specifically, it defines the supported containers and codecs (video and/or audio, including codec profiles and levels) the device is able to direct play (without transcoding or remuxing), as well as which containers/codecs to transcode to in case it isn\'t. -*/ -export class DeviceProfile { - /** - * Gets or sets the name of this device profile. - */ - 'name'?: string | null; - /** - * Gets or sets the Id. - */ - 'id'?: string | null; - 'identification'?: DeviceProfileIdentification | null; - /** - * Gets or sets the friendly name of the device profile, which can be shown to users. - */ - 'friendlyName'?: string | null; - /** - * Gets or sets the manufacturer of the device which this profile represents. - */ - 'manufacturer'?: string | null; - /** - * Gets or sets an url for the manufacturer of the device which this profile represents. - */ - 'manufacturerUrl'?: string | null; - /** - * Gets or sets the model name of the device which this profile represents. - */ - 'modelName'?: string | null; - /** - * Gets or sets the model description of the device which this profile represents. - */ - 'modelDescription'?: string | null; - /** - * Gets or sets the model number of the device which this profile represents. - */ - 'modelNumber'?: string | null; - /** - * Gets or sets the ModelUrl. - */ - 'modelUrl'?: string | null; - /** - * Gets or sets the serial number of the device which this profile represents. - */ - 'serialNumber'?: string | null; - /** - * Gets or sets a value indicating whether EnableAlbumArtInDidl. - */ - 'enableAlbumArtInDidl'?: boolean = false; - /** - * Gets or sets a value indicating whether EnableSingleAlbumArtLimit. - */ - 'enableSingleAlbumArtLimit'?: boolean = false; - /** - * Gets or sets a value indicating whether EnableSingleSubtitleLimit. - */ - 'enableSingleSubtitleLimit'?: boolean = false; - /** - * Gets or sets the SupportedMediaTypes. - */ - 'supportedMediaTypes'?: string; - /** - * Gets or sets the UserId. - */ - 'userId'?: string | null; - /** - * Gets or sets the AlbumArtPn. - */ - 'albumArtPn'?: string | null; - /** - * Gets or sets the MaxAlbumArtWidth. - */ - 'maxAlbumArtWidth'?: number | null; - /** - * Gets or sets the MaxAlbumArtHeight. - */ - 'maxAlbumArtHeight'?: number | null; - /** - * Gets or sets the maximum allowed width of embedded icons. - */ - 'maxIconWidth'?: number | null; - /** - * Gets or sets the maximum allowed height of embedded icons. - */ - 'maxIconHeight'?: number | null; - /** - * Gets or sets the maximum allowed bitrate for all streamed content. - */ - 'maxStreamingBitrate'?: number | null; - /** - * Gets or sets the maximum allowed bitrate for statically streamed content (= direct played files). - */ - 'maxStaticBitrate'?: number | null; - /** - * Gets or sets the maximum allowed bitrate for transcoded music streams. - */ - 'musicStreamingTranscodingBitrate'?: number | null; - /** - * Gets or sets the maximum allowed bitrate for statically streamed (= direct played) music files. - */ - 'maxStaticMusicBitrate'?: number | null; - /** - * Gets or sets the content of the aggregationFlags element in the urn:schemas-sonycom:av namespace. - */ - 'sonyAggregationFlags'?: string | null; - /** - * Gets or sets the ProtocolInfo. - */ - 'protocolInfo'?: string | null; - /** - * Gets or sets the TimelineOffsetSeconds. - */ - 'timelineOffsetSeconds'?: number = 0; - /** - * Gets or sets a value indicating whether RequiresPlainVideoItems. - */ - 'requiresPlainVideoItems'?: boolean = false; - /** - * Gets or sets a value indicating whether RequiresPlainFolders. - */ - 'requiresPlainFolders'?: boolean = false; - /** - * Gets or sets a value indicating whether EnableMSMediaReceiverRegistrar. - */ - 'enableMSMediaReceiverRegistrar'?: boolean = false; - /** - * Gets or sets a value indicating whether IgnoreTranscodeByteRangeRequests. - */ - 'ignoreTranscodeByteRangeRequests'?: boolean = false; - /** - * Gets or sets the XmlRootAttributes. - */ - 'xmlRootAttributes'?: Array; - /** - * Gets or sets the direct play profiles. - */ - 'directPlayProfiles'?: Array; - /** - * Gets or sets the transcoding profiles. - */ - 'transcodingProfiles'?: Array; - /** - * Gets or sets the container profiles. - */ - 'containerProfiles'?: Array; - /** - * Gets or sets the codec profiles. - */ - 'codecProfiles'?: Array; - /** - * Gets or sets the ResponseProfiles. - */ - 'responseProfiles'?: Array; - /** - * Gets or sets the subtitle profiles. - */ - 'subtitleProfiles'?: Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "identification", - "baseName": "Identification", - "type": "DeviceProfileIdentification" - }, - { - "name": "friendlyName", - "baseName": "FriendlyName", - "type": "string" - }, - { - "name": "manufacturer", - "baseName": "Manufacturer", - "type": "string" - }, - { - "name": "manufacturerUrl", - "baseName": "ManufacturerUrl", - "type": "string" - }, - { - "name": "modelName", - "baseName": "ModelName", - "type": "string" - }, - { - "name": "modelDescription", - "baseName": "ModelDescription", - "type": "string" - }, - { - "name": "modelNumber", - "baseName": "ModelNumber", - "type": "string" - }, - { - "name": "modelUrl", - "baseName": "ModelUrl", - "type": "string" - }, - { - "name": "serialNumber", - "baseName": "SerialNumber", - "type": "string" - }, - { - "name": "enableAlbumArtInDidl", - "baseName": "EnableAlbumArtInDidl", - "type": "boolean" - }, - { - "name": "enableSingleAlbumArtLimit", - "baseName": "EnableSingleAlbumArtLimit", - "type": "boolean" - }, - { - "name": "enableSingleSubtitleLimit", - "baseName": "EnableSingleSubtitleLimit", - "type": "boolean" - }, - { - "name": "supportedMediaTypes", - "baseName": "SupportedMediaTypes", - "type": "string" - }, - { - "name": "userId", - "baseName": "UserId", - "type": "string" - }, - { - "name": "albumArtPn", - "baseName": "AlbumArtPn", - "type": "string" - }, - { - "name": "maxAlbumArtWidth", - "baseName": "MaxAlbumArtWidth", - "type": "number" - }, - { - "name": "maxAlbumArtHeight", - "baseName": "MaxAlbumArtHeight", - "type": "number" - }, - { - "name": "maxIconWidth", - "baseName": "MaxIconWidth", - "type": "number" - }, - { - "name": "maxIconHeight", - "baseName": "MaxIconHeight", - "type": "number" - }, - { - "name": "maxStreamingBitrate", - "baseName": "MaxStreamingBitrate", - "type": "number" - }, - { - "name": "maxStaticBitrate", - "baseName": "MaxStaticBitrate", - "type": "number" - }, - { - "name": "musicStreamingTranscodingBitrate", - "baseName": "MusicStreamingTranscodingBitrate", - "type": "number" - }, - { - "name": "maxStaticMusicBitrate", - "baseName": "MaxStaticMusicBitrate", - "type": "number" - }, - { - "name": "sonyAggregationFlags", - "baseName": "SonyAggregationFlags", - "type": "string" - }, - { - "name": "protocolInfo", - "baseName": "ProtocolInfo", - "type": "string" - }, - { - "name": "timelineOffsetSeconds", - "baseName": "TimelineOffsetSeconds", - "type": "number" - }, - { - "name": "requiresPlainVideoItems", - "baseName": "RequiresPlainVideoItems", - "type": "boolean" - }, - { - "name": "requiresPlainFolders", - "baseName": "RequiresPlainFolders", - "type": "boolean" - }, - { - "name": "enableMSMediaReceiverRegistrar", - "baseName": "EnableMSMediaReceiverRegistrar", - "type": "boolean" - }, - { - "name": "ignoreTranscodeByteRangeRequests", - "baseName": "IgnoreTranscodeByteRangeRequests", - "type": "boolean" - }, - { - "name": "xmlRootAttributes", - "baseName": "XmlRootAttributes", - "type": "Array" - }, - { - "name": "directPlayProfiles", - "baseName": "DirectPlayProfiles", - "type": "Array" - }, - { - "name": "transcodingProfiles", - "baseName": "TranscodingProfiles", - "type": "Array" - }, - { - "name": "containerProfiles", - "baseName": "ContainerProfiles", - "type": "Array" - }, - { - "name": "codecProfiles", - "baseName": "CodecProfiles", - "type": "Array" - }, - { - "name": "responseProfiles", - "baseName": "ResponseProfiles", - "type": "Array" - }, - { - "name": "subtitleProfiles", - "baseName": "SubtitleProfiles", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return DeviceProfile.attributeTypeMap; - } -} - diff --git a/jellyfin/model/deviceProfileIdentification.ts b/jellyfin/model/deviceProfileIdentification.ts deleted file mode 100644 index b2511f0..0000000 --- a/jellyfin/model/deviceProfileIdentification.ts +++ /dev/null @@ -1,110 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { HttpHeaderInfo } from './httpHeaderInfo'; - -/** -* Gets or sets the Identification. -*/ -export class DeviceProfileIdentification { - /** - * Gets or sets the name of the friendly. - */ - 'friendlyName'?: string; - /** - * Gets or sets the model number. - */ - 'modelNumber'?: string; - /** - * Gets or sets the serial number. - */ - 'serialNumber'?: string; - /** - * Gets or sets the name of the model. - */ - 'modelName'?: string; - /** - * Gets or sets the model description. - */ - 'modelDescription'?: string; - /** - * Gets or sets the model URL. - */ - 'modelUrl'?: string; - /** - * Gets or sets the manufacturer. - */ - 'manufacturer'?: string; - /** - * Gets or sets the manufacturer URL. - */ - 'manufacturerUrl'?: string; - /** - * Gets or sets the headers. - */ - 'headers'?: Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "friendlyName", - "baseName": "FriendlyName", - "type": "string" - }, - { - "name": "modelNumber", - "baseName": "ModelNumber", - "type": "string" - }, - { - "name": "serialNumber", - "baseName": "SerialNumber", - "type": "string" - }, - { - "name": "modelName", - "baseName": "ModelName", - "type": "string" - }, - { - "name": "modelDescription", - "baseName": "ModelDescription", - "type": "string" - }, - { - "name": "modelUrl", - "baseName": "ModelUrl", - "type": "string" - }, - { - "name": "manufacturer", - "baseName": "Manufacturer", - "type": "string" - }, - { - "name": "manufacturerUrl", - "baseName": "ManufacturerUrl", - "type": "string" - }, - { - "name": "headers", - "baseName": "Headers", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return DeviceProfileIdentification.attributeTypeMap; - } -} - diff --git a/jellyfin/model/deviceProfileInfo.ts b/jellyfin/model/deviceProfileInfo.ts deleted file mode 100644 index 20896b6..0000000 --- a/jellyfin/model/deviceProfileInfo.ts +++ /dev/null @@ -1,52 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { DeviceProfileType } from './deviceProfileType'; - -export class DeviceProfileInfo { - /** - * Gets or sets the identifier. - */ - 'id'?: string | null; - /** - * Gets or sets the name. - */ - 'name'?: string | null; - 'type'?: DeviceProfileType; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "type", - "baseName": "Type", - "type": "DeviceProfileType" - } ]; - - static getAttributeTypeMap() { - return DeviceProfileInfo.attributeTypeMap; - } -} - -export namespace DeviceProfileInfo { -} diff --git a/jellyfin/model/deviceProfileType.ts b/jellyfin/model/deviceProfileType.ts deleted file mode 100644 index 49f3d21..0000000 --- a/jellyfin/model/deviceProfileType.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum DeviceProfileType { - System = 'System', - User = 'User' -} diff --git a/jellyfin/model/directPlayProfile.ts b/jellyfin/model/directPlayProfile.ts deleted file mode 100644 index aac5301..0000000 --- a/jellyfin/model/directPlayProfile.ts +++ /dev/null @@ -1,52 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { DlnaProfileType } from './dlnaProfileType'; - -export class DirectPlayProfile { - 'container'?: string | null; - 'audioCodec'?: string | null; - 'videoCodec'?: string | null; - 'type'?: DlnaProfileType; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "container", - "baseName": "Container", - "type": "string" - }, - { - "name": "audioCodec", - "baseName": "AudioCodec", - "type": "string" - }, - { - "name": "videoCodec", - "baseName": "VideoCodec", - "type": "string" - }, - { - "name": "type", - "baseName": "Type", - "type": "DlnaProfileType" - } ]; - - static getAttributeTypeMap() { - return DirectPlayProfile.attributeTypeMap; - } -} - -export namespace DirectPlayProfile { -} diff --git a/jellyfin/model/displayPreferencesDto.ts b/jellyfin/model/displayPreferencesDto.ts deleted file mode 100644 index 8fd0508..0000000 --- a/jellyfin/model/displayPreferencesDto.ts +++ /dev/null @@ -1,152 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ScrollDirection } from './scrollDirection'; -import { SortOrder } from './sortOrder'; - -/** -* Defines the display preferences for any item that supports them (usually Folders). -*/ -export class DisplayPreferencesDto { - /** - * Gets or sets the user id. - */ - 'id'?: string | null; - /** - * Gets or sets the type of the view. - */ - 'viewType'?: string | null; - /** - * Gets or sets the sort by. - */ - 'sortBy'?: string | null; - /** - * Gets or sets the index by. - */ - 'indexBy'?: string | null; - /** - * Gets or sets a value indicating whether [remember indexing]. - */ - 'rememberIndexing'?: boolean; - /** - * Gets or sets the height of the primary image. - */ - 'primaryImageHeight'?: number; - /** - * Gets or sets the width of the primary image. - */ - 'primaryImageWidth'?: number; - /** - * Gets or sets the custom prefs. - */ - 'customPrefs'?: { [key: string]: string; }; - 'scrollDirection'?: ScrollDirection; - /** - * Gets or sets a value indicating whether to show backdrops on this item. - */ - 'showBackdrop'?: boolean; - /** - * Gets or sets a value indicating whether [remember sorting]. - */ - 'rememberSorting'?: boolean; - 'sortOrder'?: SortOrder; - /** - * Gets or sets a value indicating whether [show sidebar]. - */ - 'showSidebar'?: boolean; - /** - * Gets or sets the client. - */ - 'client'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "viewType", - "baseName": "ViewType", - "type": "string" - }, - { - "name": "sortBy", - "baseName": "SortBy", - "type": "string" - }, - { - "name": "indexBy", - "baseName": "IndexBy", - "type": "string" - }, - { - "name": "rememberIndexing", - "baseName": "RememberIndexing", - "type": "boolean" - }, - { - "name": "primaryImageHeight", - "baseName": "PrimaryImageHeight", - "type": "number" - }, - { - "name": "primaryImageWidth", - "baseName": "PrimaryImageWidth", - "type": "number" - }, - { - "name": "customPrefs", - "baseName": "CustomPrefs", - "type": "{ [key: string]: string; }" - }, - { - "name": "scrollDirection", - "baseName": "ScrollDirection", - "type": "ScrollDirection" - }, - { - "name": "showBackdrop", - "baseName": "ShowBackdrop", - "type": "boolean" - }, - { - "name": "rememberSorting", - "baseName": "RememberSorting", - "type": "boolean" - }, - { - "name": "sortOrder", - "baseName": "SortOrder", - "type": "SortOrder" - }, - { - "name": "showSidebar", - "baseName": "ShowSidebar", - "type": "boolean" - }, - { - "name": "client", - "baseName": "Client", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return DisplayPreferencesDto.attributeTypeMap; - } -} - -export namespace DisplayPreferencesDto { -} diff --git a/jellyfin/model/dlnaOptions.ts b/jellyfin/model/dlnaOptions.ts deleted file mode 100644 index a12934d..0000000 --- a/jellyfin/model/dlnaOptions.ts +++ /dev/null @@ -1,127 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* The DlnaOptions class contains the user definable parameters for the dlna subsystems. -*/ -export class DlnaOptions { - /** - * Gets or sets a value indicating whether gets or sets a value to indicate the status of the dlna playTo subsystem. - */ - 'enablePlayTo'?: boolean; - /** - * Gets or sets a value indicating whether gets or sets a value to indicate the status of the dlna server subsystem. - */ - 'enableServer'?: boolean; - /** - * Gets or sets a value indicating whether detailed dlna server logs are sent to the console/log. If the setting \"Emby.Dlna\": \"Debug\" msut be set in logging.default.json for this property to work. - */ - 'enableDebugLog'?: boolean; - /** - * Gets or sets a value indicating whether whether detailed playTo debug logs are sent to the console/log. If the setting \"Emby.Dlna.PlayTo\": \"Debug\" msut be set in logging.default.json for this property to work. - */ - 'enablePlayToTracing'?: boolean; - /** - * Gets or sets the ssdp client discovery interval time (in seconds). This is the time after which the server will send a ssdp search request. - */ - 'clientDiscoveryIntervalSeconds'?: number; - /** - * Gets or sets the frequency at which ssdp alive notifications are transmitted. - */ - 'aliveMessageIntervalSeconds'?: number; - /** - * Gets or sets the frequency at which ssdp alive notifications are transmitted. MIGRATING - TO BE REMOVED ONCE WEB HAS BEEN ALTERED. - */ - 'blastAliveMessageIntervalSeconds'?: number; - /** - * Gets or sets the default user account that the dlna server uses. - */ - 'defaultUserId'?: string | null; - /** - * Gets or sets a value indicating whether playTo device profiles should be created. - */ - 'autoCreatePlayToProfiles'?: boolean; - /** - * Gets or sets a value indicating whether to blast alive messages. - */ - 'blastAliveMessages'?: boolean; - /** - * gets or sets a value indicating whether to send only matched host. - */ - 'sendOnlyMatchedHost'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "enablePlayTo", - "baseName": "EnablePlayTo", - "type": "boolean" - }, - { - "name": "enableServer", - "baseName": "EnableServer", - "type": "boolean" - }, - { - "name": "enableDebugLog", - "baseName": "EnableDebugLog", - "type": "boolean" - }, - { - "name": "enablePlayToTracing", - "baseName": "EnablePlayToTracing", - "type": "boolean" - }, - { - "name": "clientDiscoveryIntervalSeconds", - "baseName": "ClientDiscoveryIntervalSeconds", - "type": "number" - }, - { - "name": "aliveMessageIntervalSeconds", - "baseName": "AliveMessageIntervalSeconds", - "type": "number" - }, - { - "name": "blastAliveMessageIntervalSeconds", - "baseName": "BlastAliveMessageIntervalSeconds", - "type": "number" - }, - { - "name": "defaultUserId", - "baseName": "DefaultUserId", - "type": "string" - }, - { - "name": "autoCreatePlayToProfiles", - "baseName": "AutoCreatePlayToProfiles", - "type": "boolean" - }, - { - "name": "blastAliveMessages", - "baseName": "BlastAliveMessages", - "type": "boolean" - }, - { - "name": "sendOnlyMatchedHost", - "baseName": "SendOnlyMatchedHost", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return DlnaOptions.attributeTypeMap; - } -} - diff --git a/jellyfin/model/dlnaProfileType.ts b/jellyfin/model/dlnaProfileType.ts deleted file mode 100644 index 8d2071c..0000000 --- a/jellyfin/model/dlnaProfileType.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum DlnaProfileType { - Audio = 'Audio', - Video = 'Video', - Photo = 'Photo', - Subtitle = 'Subtitle' -} diff --git a/jellyfin/model/dynamicDayOfWeek.ts b/jellyfin/model/dynamicDayOfWeek.ts deleted file mode 100644 index 789f0d6..0000000 --- a/jellyfin/model/dynamicDayOfWeek.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* An enum that represents a day of the week, weekdays, weekends, or all days. -*/ -export enum DynamicDayOfWeek { - Sunday = 'Sunday', - Monday = 'Monday', - Tuesday = 'Tuesday', - Wednesday = 'Wednesday', - Thursday = 'Thursday', - Friday = 'Friday', - Saturday = 'Saturday', - Everyday = 'Everyday', - Weekday = 'Weekday', - Weekend = 'Weekend' -} diff --git a/jellyfin/model/embeddedSubtitleOptions.ts b/jellyfin/model/embeddedSubtitleOptions.ts deleted file mode 100644 index 8b33bda..0000000 --- a/jellyfin/model/embeddedSubtitleOptions.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* An enum representing the options to disable embedded subs. -*/ -export enum EmbeddedSubtitleOptions { - AllowAll = 'AllowAll', - AllowText = 'AllowText', - AllowImage = 'AllowImage', - AllowNone = 'AllowNone' -} diff --git a/jellyfin/model/encodingContext.ts b/jellyfin/model/encodingContext.ts deleted file mode 100644 index 4630646..0000000 --- a/jellyfin/model/encodingContext.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum EncodingContext { - Streaming = 'Streaming', - Static = 'Static' -} diff --git a/jellyfin/model/encodingOptions.ts b/jellyfin/model/encodingOptions.ts deleted file mode 100644 index 05bceac..0000000 --- a/jellyfin/model/encodingOptions.ts +++ /dev/null @@ -1,259 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class EncodingOptions { - 'encodingThreadCount'?: number; - 'transcodingTempPath'?: string | null; - 'fallbackFontPath'?: string | null; - 'enableFallbackFont'?: boolean; - 'downMixAudioBoost'?: number; - 'maxMuxingQueueSize'?: number; - 'enableThrottling'?: boolean; - 'throttleDelaySeconds'?: number; - 'hardwareAccelerationType'?: string | null; - /** - * Gets or sets the FFmpeg path as set by the user via the UI. - */ - 'encoderAppPath'?: string | null; - /** - * Gets or sets the current FFmpeg path being used by the system and displayed on the transcode page. - */ - 'encoderAppPathDisplay'?: string | null; - 'vaapiDevice'?: string | null; - 'enableTonemapping'?: boolean; - 'enableVppTonemapping'?: boolean; - 'tonemappingAlgorithm'?: string | null; - 'tonemappingRange'?: string | null; - 'tonemappingDesat'?: number; - 'tonemappingThreshold'?: number; - 'tonemappingPeak'?: number; - 'tonemappingParam'?: number; - 'vppTonemappingBrightness'?: number; - 'vppTonemappingContrast'?: number; - 'h264Crf'?: number; - 'h265Crf'?: number; - 'encoderPreset'?: string | null; - 'deinterlaceDoubleRate'?: boolean; - 'deinterlaceMethod'?: string | null; - 'enableDecodingColorDepth10Hevc'?: boolean; - 'enableDecodingColorDepth10Vp9'?: boolean; - 'enableEnhancedNvdecDecoder'?: boolean; - 'preferSystemNativeHwDecoder'?: boolean; - 'enableIntelLowPowerH264HwEncoder'?: boolean; - 'enableIntelLowPowerHevcHwEncoder'?: boolean; - 'enableHardwareEncoding'?: boolean; - 'allowHevcEncoding'?: boolean; - 'enableSubtitleExtraction'?: boolean; - 'hardwareDecodingCodecs'?: Array | null; - 'allowOnDemandMetadataBasedKeyframeExtractionForExtensions'?: Array | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "encodingThreadCount", - "baseName": "EncodingThreadCount", - "type": "number" - }, - { - "name": "transcodingTempPath", - "baseName": "TranscodingTempPath", - "type": "string" - }, - { - "name": "fallbackFontPath", - "baseName": "FallbackFontPath", - "type": "string" - }, - { - "name": "enableFallbackFont", - "baseName": "EnableFallbackFont", - "type": "boolean" - }, - { - "name": "downMixAudioBoost", - "baseName": "DownMixAudioBoost", - "type": "number" - }, - { - "name": "maxMuxingQueueSize", - "baseName": "MaxMuxingQueueSize", - "type": "number" - }, - { - "name": "enableThrottling", - "baseName": "EnableThrottling", - "type": "boolean" - }, - { - "name": "throttleDelaySeconds", - "baseName": "ThrottleDelaySeconds", - "type": "number" - }, - { - "name": "hardwareAccelerationType", - "baseName": "HardwareAccelerationType", - "type": "string" - }, - { - "name": "encoderAppPath", - "baseName": "EncoderAppPath", - "type": "string" - }, - { - "name": "encoderAppPathDisplay", - "baseName": "EncoderAppPathDisplay", - "type": "string" - }, - { - "name": "vaapiDevice", - "baseName": "VaapiDevice", - "type": "string" - }, - { - "name": "enableTonemapping", - "baseName": "EnableTonemapping", - "type": "boolean" - }, - { - "name": "enableVppTonemapping", - "baseName": "EnableVppTonemapping", - "type": "boolean" - }, - { - "name": "tonemappingAlgorithm", - "baseName": "TonemappingAlgorithm", - "type": "string" - }, - { - "name": "tonemappingRange", - "baseName": "TonemappingRange", - "type": "string" - }, - { - "name": "tonemappingDesat", - "baseName": "TonemappingDesat", - "type": "number" - }, - { - "name": "tonemappingThreshold", - "baseName": "TonemappingThreshold", - "type": "number" - }, - { - "name": "tonemappingPeak", - "baseName": "TonemappingPeak", - "type": "number" - }, - { - "name": "tonemappingParam", - "baseName": "TonemappingParam", - "type": "number" - }, - { - "name": "vppTonemappingBrightness", - "baseName": "VppTonemappingBrightness", - "type": "number" - }, - { - "name": "vppTonemappingContrast", - "baseName": "VppTonemappingContrast", - "type": "number" - }, - { - "name": "h264Crf", - "baseName": "H264Crf", - "type": "number" - }, - { - "name": "h265Crf", - "baseName": "H265Crf", - "type": "number" - }, - { - "name": "encoderPreset", - "baseName": "EncoderPreset", - "type": "string" - }, - { - "name": "deinterlaceDoubleRate", - "baseName": "DeinterlaceDoubleRate", - "type": "boolean" - }, - { - "name": "deinterlaceMethod", - "baseName": "DeinterlaceMethod", - "type": "string" - }, - { - "name": "enableDecodingColorDepth10Hevc", - "baseName": "EnableDecodingColorDepth10Hevc", - "type": "boolean" - }, - { - "name": "enableDecodingColorDepth10Vp9", - "baseName": "EnableDecodingColorDepth10Vp9", - "type": "boolean" - }, - { - "name": "enableEnhancedNvdecDecoder", - "baseName": "EnableEnhancedNvdecDecoder", - "type": "boolean" - }, - { - "name": "preferSystemNativeHwDecoder", - "baseName": "PreferSystemNativeHwDecoder", - "type": "boolean" - }, - { - "name": "enableIntelLowPowerH264HwEncoder", - "baseName": "EnableIntelLowPowerH264HwEncoder", - "type": "boolean" - }, - { - "name": "enableIntelLowPowerHevcHwEncoder", - "baseName": "EnableIntelLowPowerHevcHwEncoder", - "type": "boolean" - }, - { - "name": "enableHardwareEncoding", - "baseName": "EnableHardwareEncoding", - "type": "boolean" - }, - { - "name": "allowHevcEncoding", - "baseName": "AllowHevcEncoding", - "type": "boolean" - }, - { - "name": "enableSubtitleExtraction", - "baseName": "EnableSubtitleExtraction", - "type": "boolean" - }, - { - "name": "hardwareDecodingCodecs", - "baseName": "HardwareDecodingCodecs", - "type": "Array" - }, - { - "name": "allowOnDemandMetadataBasedKeyframeExtractionForExtensions", - "baseName": "AllowOnDemandMetadataBasedKeyframeExtractionForExtensions", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return EncodingOptions.attributeTypeMap; - } -} - diff --git a/jellyfin/model/endPointInfo.ts b/jellyfin/model/endPointInfo.ts deleted file mode 100644 index f6f3e74..0000000 --- a/jellyfin/model/endPointInfo.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class EndPointInfo { - 'isLocal'?: boolean; - 'isInNetwork'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "isLocal", - "baseName": "IsLocal", - "type": "boolean" - }, - { - "name": "isInNetwork", - "baseName": "IsInNetwork", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return EndPointInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/externalIdInfo.ts b/jellyfin/model/externalIdInfo.ts deleted file mode 100644 index 1e35538..0000000 --- a/jellyfin/model/externalIdInfo.ts +++ /dev/null @@ -1,64 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ExternalIdMediaType } from './externalIdMediaType'; - -/** -* Represents the external id information for serialization to the client. -*/ -export class ExternalIdInfo { - /** - * Gets or sets the display name of the external id provider (IE: IMDB, MusicBrainz, etc). - */ - 'name'?: string; - /** - * Gets or sets the unique key for this id. This key should be unique across all providers. - */ - 'key'?: string; - 'type'?: ExternalIdMediaType | null; - /** - * Gets or sets the URL format string. - */ - 'urlFormatString'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "key", - "baseName": "Key", - "type": "string" - }, - { - "name": "type", - "baseName": "Type", - "type": "ExternalIdMediaType" - }, - { - "name": "urlFormatString", - "baseName": "UrlFormatString", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return ExternalIdInfo.attributeTypeMap; - } -} - -export namespace ExternalIdInfo { -} diff --git a/jellyfin/model/externalIdMediaType.ts b/jellyfin/model/externalIdMediaType.ts deleted file mode 100644 index 7c0cb03..0000000 --- a/jellyfin/model/externalIdMediaType.ts +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* The specific media type of an MediaBrowser.Model.Providers.ExternalIdInfo. -*/ -export enum ExternalIdMediaType { - Album = 'Album', - AlbumArtist = 'AlbumArtist', - Artist = 'Artist', - BoxSet = 'BoxSet', - Episode = 'Episode', - Movie = 'Movie', - OtherArtist = 'OtherArtist', - Person = 'Person', - ReleaseGroup = 'ReleaseGroup', - Season = 'Season', - Series = 'Series', - Track = 'Track' -} diff --git a/jellyfin/model/externalUrl.ts b/jellyfin/model/externalUrl.ts deleted file mode 100644 index f057138..0000000 --- a/jellyfin/model/externalUrl.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class ExternalUrl { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the type of the item. - */ - 'url'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "url", - "baseName": "Url", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return ExternalUrl.attributeTypeMap; - } -} - diff --git a/jellyfin/model/fFmpegLocation.ts b/jellyfin/model/fFmpegLocation.ts deleted file mode 100644 index f28f73a..0000000 --- a/jellyfin/model/fFmpegLocation.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Enum describing the location of the FFmpeg tool. -*/ -export enum FFmpegLocation { - NotFound = 'NotFound', - SetByArgument = 'SetByArgument', - Custom = 'Custom', - System = 'System' -} diff --git a/jellyfin/model/fileSystemEntryInfo.ts b/jellyfin/model/fileSystemEntryInfo.ts deleted file mode 100644 index 049dff3..0000000 --- a/jellyfin/model/fileSystemEntryInfo.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { FileSystemEntryType } from './fileSystemEntryType'; - -/** -* Class FileSystemEntryInfo. -*/ -export class FileSystemEntryInfo { - /** - * Gets the name. - */ - 'name'?: string; - /** - * Gets the path. - */ - 'path'?: string; - 'type'?: FileSystemEntryType; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "type", - "baseName": "Type", - "type": "FileSystemEntryType" - } ]; - - static getAttributeTypeMap() { - return FileSystemEntryInfo.attributeTypeMap; - } -} - -export namespace FileSystemEntryInfo { -} diff --git a/jellyfin/model/fileSystemEntryType.ts b/jellyfin/model/fileSystemEntryType.ts deleted file mode 100644 index ec7d6da..0000000 --- a/jellyfin/model/fileSystemEntryType.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Enum FileSystemEntryType. -*/ -export enum FileSystemEntryType { - File = 'File', - Directory = 'Directory', - NetworkComputer = 'NetworkComputer', - NetworkShare = 'NetworkShare' -} diff --git a/jellyfin/model/fontFile.ts b/jellyfin/model/fontFile.ts deleted file mode 100644 index 03fc476..0000000 --- a/jellyfin/model/fontFile.ts +++ /dev/null @@ -1,64 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class FontFile. -*/ -export class FontFile { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the size. - */ - 'size'?: number; - /** - * Gets or sets the date created. - */ - 'dateCreated'?: Date; - /** - * Gets or sets the date modified. - */ - 'dateModified'?: Date; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "size", - "baseName": "Size", - "type": "number" - }, - { - "name": "dateCreated", - "baseName": "DateCreated", - "type": "Date" - }, - { - "name": "dateModified", - "baseName": "DateModified", - "type": "Date" - } ]; - - static getAttributeTypeMap() { - return FontFile.attributeTypeMap; - } -} - diff --git a/jellyfin/model/forgotPasswordAction.ts b/jellyfin/model/forgotPasswordAction.ts deleted file mode 100644 index 1aadb1f..0000000 --- a/jellyfin/model/forgotPasswordAction.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum ForgotPasswordAction { - ContactAdmin = 'ContactAdmin', - PinCode = 'PinCode', - InNetworkRequired = 'InNetworkRequired' -} diff --git a/jellyfin/model/forgotPasswordDto.ts b/jellyfin/model/forgotPasswordDto.ts deleted file mode 100644 index ba41be8..0000000 --- a/jellyfin/model/forgotPasswordDto.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Forgot Password request body DTO. -*/ -export class ForgotPasswordDto { - /** - * Gets or sets the entered username to have its password reset. - */ - 'enteredUsername': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "enteredUsername", - "baseName": "EnteredUsername", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return ForgotPasswordDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/forgotPasswordPinDto.ts b/jellyfin/model/forgotPasswordPinDto.ts deleted file mode 100644 index ddd5bc4..0000000 --- a/jellyfin/model/forgotPasswordPinDto.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Forgot Password Pin enter request body DTO. -*/ -export class ForgotPasswordPinDto { - /** - * Gets or sets the entered pin to have the password reset. - */ - 'pin': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "pin", - "baseName": "Pin", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return ForgotPasswordPinDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/forgotPasswordPinRequest.ts b/jellyfin/model/forgotPasswordPinRequest.ts deleted file mode 100644 index 16d3c9b..0000000 --- a/jellyfin/model/forgotPasswordPinRequest.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Forgot Password Pin enter request body DTO. -*/ -export class ForgotPasswordPinRequest { - /** - * Gets or sets the entered pin to have the password reset. - */ - 'pin': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "pin", - "baseName": "Pin", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return ForgotPasswordPinRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/forgotPasswordRequest.ts b/jellyfin/model/forgotPasswordRequest.ts deleted file mode 100644 index 30ed78d..0000000 --- a/jellyfin/model/forgotPasswordRequest.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Forgot Password request body DTO. -*/ -export class ForgotPasswordRequest { - /** - * Gets or sets the entered username to have its password reset. - */ - 'enteredUsername': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "enteredUsername", - "baseName": "EnteredUsername", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return ForgotPasswordRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/forgotPasswordResult.ts b/jellyfin/model/forgotPasswordResult.ts deleted file mode 100644 index 23a7cce..0000000 --- a/jellyfin/model/forgotPasswordResult.ts +++ /dev/null @@ -1,52 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ForgotPasswordAction } from './forgotPasswordAction'; - -export class ForgotPasswordResult { - 'action'?: ForgotPasswordAction; - /** - * Gets or sets the pin file. - */ - 'pinFile'?: string | null; - /** - * Gets or sets the pin expiration date. - */ - 'pinExpirationDate'?: Date | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "action", - "baseName": "Action", - "type": "ForgotPasswordAction" - }, - { - "name": "pinFile", - "baseName": "PinFile", - "type": "string" - }, - { - "name": "pinExpirationDate", - "baseName": "PinExpirationDate", - "type": "Date" - } ]; - - static getAttributeTypeMap() { - return ForgotPasswordResult.attributeTypeMap; - } -} - -export namespace ForgotPasswordResult { -} diff --git a/jellyfin/model/generalCommand.ts b/jellyfin/model/generalCommand.ts deleted file mode 100644 index f6f9e66..0000000 --- a/jellyfin/model/generalCommand.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { GeneralCommandType } from './generalCommandType'; - -export class GeneralCommand { - 'name'?: GeneralCommandType; - 'controllingUserId'?: string; - 'arguments'?: { [key: string]: string; }; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "GeneralCommandType" - }, - { - "name": "controllingUserId", - "baseName": "ControllingUserId", - "type": "string" - }, - { - "name": "arguments", - "baseName": "Arguments", - "type": "{ [key: string]: string; }" - } ]; - - static getAttributeTypeMap() { - return GeneralCommand.attributeTypeMap; - } -} - -export namespace GeneralCommand { -} diff --git a/jellyfin/model/generalCommandType.ts b/jellyfin/model/generalCommandType.ts deleted file mode 100644 index b436c67..0000000 --- a/jellyfin/model/generalCommandType.ts +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* This exists simply to identify a set of known commands. -*/ -export enum GeneralCommandType { - MoveUp = 'MoveUp', - MoveDown = 'MoveDown', - MoveLeft = 'MoveLeft', - MoveRight = 'MoveRight', - PageUp = 'PageUp', - PageDown = 'PageDown', - PreviousLetter = 'PreviousLetter', - NextLetter = 'NextLetter', - ToggleOsd = 'ToggleOsd', - ToggleContextMenu = 'ToggleContextMenu', - Select = 'Select', - Back = 'Back', - TakeScreenshot = 'TakeScreenshot', - SendKey = 'SendKey', - SendString = 'SendString', - GoHome = 'GoHome', - GoToSettings = 'GoToSettings', - VolumeUp = 'VolumeUp', - VolumeDown = 'VolumeDown', - Mute = 'Mute', - Unmute = 'Unmute', - ToggleMute = 'ToggleMute', - SetVolume = 'SetVolume', - SetAudioStreamIndex = 'SetAudioStreamIndex', - SetSubtitleStreamIndex = 'SetSubtitleStreamIndex', - ToggleFullscreen = 'ToggleFullscreen', - DisplayContent = 'DisplayContent', - GoToSearch = 'GoToSearch', - DisplayMessage = 'DisplayMessage', - SetRepeatMode = 'SetRepeatMode', - ChannelUp = 'ChannelUp', - ChannelDown = 'ChannelDown', - Guide = 'Guide', - ToggleStats = 'ToggleStats', - PlayMediaSource = 'PlayMediaSource', - PlayTrailers = 'PlayTrailers', - SetShuffleQueue = 'SetShuffleQueue', - PlayState = 'PlayState', - PlayNext = 'PlayNext', - ToggleOsdMenu = 'ToggleOsdMenu', - Play = 'Play', - SetMaxStreamingBitrate = 'SetMaxStreamingBitrate' -} diff --git a/jellyfin/model/getBookRemoteSearchResultsRequest.ts b/jellyfin/model/getBookRemoteSearchResultsRequest.ts deleted file mode 100644 index 25ec698..0000000 --- a/jellyfin/model/getBookRemoteSearchResultsRequest.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { BookInfo } from './bookInfo'; - -export class GetBookRemoteSearchResultsRequest { - 'searchInfo'?: BookInfo | null; - 'itemId'?: string; - /** - * Gets or sets the provider name to search within if set. - */ - 'searchProviderName'?: string | null; - /** - * Gets or sets a value indicating whether disabled providers should be included. - */ - 'includeDisabledProviders'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "searchInfo", - "baseName": "SearchInfo", - "type": "BookInfo" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "searchProviderName", - "baseName": "SearchProviderName", - "type": "string" - }, - { - "name": "includeDisabledProviders", - "baseName": "IncludeDisabledProviders", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return GetBookRemoteSearchResultsRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/getBoxSetRemoteSearchResultsRequest.ts b/jellyfin/model/getBoxSetRemoteSearchResultsRequest.ts deleted file mode 100644 index 23370a7..0000000 --- a/jellyfin/model/getBoxSetRemoteSearchResultsRequest.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { BoxSetInfo } from './boxSetInfo'; - -export class GetBoxSetRemoteSearchResultsRequest { - 'searchInfo'?: BoxSetInfo | null; - 'itemId'?: string; - /** - * Gets or sets the provider name to search within if set. - */ - 'searchProviderName'?: string | null; - /** - * Gets or sets a value indicating whether disabled providers should be included. - */ - 'includeDisabledProviders'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "searchInfo", - "baseName": "SearchInfo", - "type": "BoxSetInfo" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "searchProviderName", - "baseName": "SearchProviderName", - "type": "string" - }, - { - "name": "includeDisabledProviders", - "baseName": "IncludeDisabledProviders", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return GetBoxSetRemoteSearchResultsRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/getMovieRemoteSearchResultsRequest.ts b/jellyfin/model/getMovieRemoteSearchResultsRequest.ts deleted file mode 100644 index 0ac6cc7..0000000 --- a/jellyfin/model/getMovieRemoteSearchResultsRequest.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { MovieInfo } from './movieInfo'; - -export class GetMovieRemoteSearchResultsRequest { - 'searchInfo'?: MovieInfo | null; - 'itemId'?: string; - /** - * Gets or sets the provider name to search within if set. - */ - 'searchProviderName'?: string | null; - /** - * Gets or sets a value indicating whether disabled providers should be included. - */ - 'includeDisabledProviders'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "searchInfo", - "baseName": "SearchInfo", - "type": "MovieInfo" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "searchProviderName", - "baseName": "SearchProviderName", - "type": "string" - }, - { - "name": "includeDisabledProviders", - "baseName": "IncludeDisabledProviders", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return GetMovieRemoteSearchResultsRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/getMusicAlbumRemoteSearchResultsRequest.ts b/jellyfin/model/getMusicAlbumRemoteSearchResultsRequest.ts deleted file mode 100644 index 91bcc7f..0000000 --- a/jellyfin/model/getMusicAlbumRemoteSearchResultsRequest.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { AlbumInfo } from './albumInfo'; - -export class GetMusicAlbumRemoteSearchResultsRequest { - 'searchInfo'?: AlbumInfo | null; - 'itemId'?: string; - /** - * Gets or sets the provider name to search within if set. - */ - 'searchProviderName'?: string | null; - /** - * Gets or sets a value indicating whether disabled providers should be included. - */ - 'includeDisabledProviders'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "searchInfo", - "baseName": "SearchInfo", - "type": "AlbumInfo" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "searchProviderName", - "baseName": "SearchProviderName", - "type": "string" - }, - { - "name": "includeDisabledProviders", - "baseName": "IncludeDisabledProviders", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return GetMusicAlbumRemoteSearchResultsRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/getMusicArtistRemoteSearchResultsRequest.ts b/jellyfin/model/getMusicArtistRemoteSearchResultsRequest.ts deleted file mode 100644 index 8af88cb..0000000 --- a/jellyfin/model/getMusicArtistRemoteSearchResultsRequest.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ArtistInfo } from './artistInfo'; - -export class GetMusicArtistRemoteSearchResultsRequest { - 'searchInfo'?: ArtistInfo | null; - 'itemId'?: string; - /** - * Gets or sets the provider name to search within if set. - */ - 'searchProviderName'?: string | null; - /** - * Gets or sets a value indicating whether disabled providers should be included. - */ - 'includeDisabledProviders'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "searchInfo", - "baseName": "SearchInfo", - "type": "ArtistInfo" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "searchProviderName", - "baseName": "SearchProviderName", - "type": "string" - }, - { - "name": "includeDisabledProviders", - "baseName": "IncludeDisabledProviders", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return GetMusicArtistRemoteSearchResultsRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/getMusicVideoRemoteSearchResultsRequest.ts b/jellyfin/model/getMusicVideoRemoteSearchResultsRequest.ts deleted file mode 100644 index 593a135..0000000 --- a/jellyfin/model/getMusicVideoRemoteSearchResultsRequest.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { MusicVideoInfo } from './musicVideoInfo'; - -export class GetMusicVideoRemoteSearchResultsRequest { - 'searchInfo'?: MusicVideoInfo | null; - 'itemId'?: string; - /** - * Gets or sets the provider name to search within if set. - */ - 'searchProviderName'?: string | null; - /** - * Gets or sets a value indicating whether disabled providers should be included. - */ - 'includeDisabledProviders'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "searchInfo", - "baseName": "SearchInfo", - "type": "MusicVideoInfo" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "searchProviderName", - "baseName": "SearchProviderName", - "type": "string" - }, - { - "name": "includeDisabledProviders", - "baseName": "IncludeDisabledProviders", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return GetMusicVideoRemoteSearchResultsRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/getPersonRemoteSearchResultsRequest.ts b/jellyfin/model/getPersonRemoteSearchResultsRequest.ts deleted file mode 100644 index 66f33e6..0000000 --- a/jellyfin/model/getPersonRemoteSearchResultsRequest.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { PersonLookupInfo } from './personLookupInfo'; - -export class GetPersonRemoteSearchResultsRequest { - 'searchInfo'?: PersonLookupInfo | null; - 'itemId'?: string; - /** - * Gets or sets the provider name to search within if set. - */ - 'searchProviderName'?: string | null; - /** - * Gets or sets a value indicating whether disabled providers should be included. - */ - 'includeDisabledProviders'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "searchInfo", - "baseName": "SearchInfo", - "type": "PersonLookupInfo" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "searchProviderName", - "baseName": "SearchProviderName", - "type": "string" - }, - { - "name": "includeDisabledProviders", - "baseName": "IncludeDisabledProviders", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return GetPersonRemoteSearchResultsRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/getPostedPlaybackInfoRequest.ts b/jellyfin/model/getPostedPlaybackInfoRequest.ts deleted file mode 100644 index d4886ed..0000000 --- a/jellyfin/model/getPostedPlaybackInfoRequest.ts +++ /dev/null @@ -1,161 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ClientCapabilitiesDtoDeviceProfile } from './clientCapabilitiesDtoDeviceProfile'; - -/** -* Plabyback info dto. -*/ -export class GetPostedPlaybackInfoRequest { - /** - * Gets or sets the playback userId. - */ - 'userId'?: string | null; - /** - * Gets or sets the max streaming bitrate. - */ - 'maxStreamingBitrate'?: number | null; - /** - * Gets or sets the start time in ticks. - */ - 'startTimeTicks'?: number | null; - /** - * Gets or sets the audio stream index. - */ - 'audioStreamIndex'?: number | null; - /** - * Gets or sets the subtitle stream index. - */ - 'subtitleStreamIndex'?: number | null; - /** - * Gets or sets the max audio channels. - */ - 'maxAudioChannels'?: number | null; - /** - * Gets or sets the media source id. - */ - 'mediaSourceId'?: string | null; - /** - * Gets or sets the live stream id. - */ - 'liveStreamId'?: string | null; - 'deviceProfile'?: ClientCapabilitiesDtoDeviceProfile | null; - /** - * Gets or sets a value indicating whether to enable direct play. - */ - 'enableDirectPlay'?: boolean | null; - /** - * Gets or sets a value indicating whether to enable direct stream. - */ - 'enableDirectStream'?: boolean | null; - /** - * Gets or sets a value indicating whether to enable transcoding. - */ - 'enableTranscoding'?: boolean | null; - /** - * Gets or sets a value indicating whether to enable video stream copy. - */ - 'allowVideoStreamCopy'?: boolean | null; - /** - * Gets or sets a value indicating whether to allow audio stream copy. - */ - 'allowAudioStreamCopy'?: boolean | null; - /** - * Gets or sets a value indicating whether to auto open the live stream. - */ - 'autoOpenLiveStream'?: boolean | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "userId", - "baseName": "UserId", - "type": "string" - }, - { - "name": "maxStreamingBitrate", - "baseName": "MaxStreamingBitrate", - "type": "number" - }, - { - "name": "startTimeTicks", - "baseName": "StartTimeTicks", - "type": "number" - }, - { - "name": "audioStreamIndex", - "baseName": "AudioStreamIndex", - "type": "number" - }, - { - "name": "subtitleStreamIndex", - "baseName": "SubtitleStreamIndex", - "type": "number" - }, - { - "name": "maxAudioChannels", - "baseName": "MaxAudioChannels", - "type": "number" - }, - { - "name": "mediaSourceId", - "baseName": "MediaSourceId", - "type": "string" - }, - { - "name": "liveStreamId", - "baseName": "LiveStreamId", - "type": "string" - }, - { - "name": "deviceProfile", - "baseName": "DeviceProfile", - "type": "ClientCapabilitiesDtoDeviceProfile" - }, - { - "name": "enableDirectPlay", - "baseName": "EnableDirectPlay", - "type": "boolean" - }, - { - "name": "enableDirectStream", - "baseName": "EnableDirectStream", - "type": "boolean" - }, - { - "name": "enableTranscoding", - "baseName": "EnableTranscoding", - "type": "boolean" - }, - { - "name": "allowVideoStreamCopy", - "baseName": "AllowVideoStreamCopy", - "type": "boolean" - }, - { - "name": "allowAudioStreamCopy", - "baseName": "AllowAudioStreamCopy", - "type": "boolean" - }, - { - "name": "autoOpenLiveStream", - "baseName": "AutoOpenLiveStream", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return GetPostedPlaybackInfoRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/getProgramsDto.ts b/jellyfin/model/getProgramsDto.ts deleted file mode 100644 index e3883c0..0000000 --- a/jellyfin/model/getProgramsDto.ts +++ /dev/null @@ -1,274 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ImageType } from './imageType'; -import { ItemFields } from './itemFields'; -import { SortOrder } from './sortOrder'; - -/** -* Get programs dto. -*/ -export class GetProgramsDto { - /** - * Gets or sets the channels to return guide information for. - */ - 'channelIds'?: Array; - /** - * Gets or sets optional. Filter by user id. - */ - 'userId'?: string; - /** - * Gets or sets the minimum premiere start date. Optional. - */ - 'minStartDate'?: Date | null; - /** - * Gets or sets filter by programs that have completed airing, or not. Optional. - */ - 'hasAired'?: boolean | null; - /** - * Gets or sets filter by programs that are currently airing, or not. Optional. - */ - 'isAiring'?: boolean | null; - /** - * Gets or sets the maximum premiere start date. Optional. - */ - 'maxStartDate'?: Date | null; - /** - * Gets or sets the minimum premiere end date. Optional. - */ - 'minEndDate'?: Date | null; - /** - * Gets or sets the maximum premiere end date. Optional. - */ - 'maxEndDate'?: Date | null; - /** - * Gets or sets filter for movies. Optional. - */ - 'isMovie'?: boolean | null; - /** - * Gets or sets filter for series. Optional. - */ - 'isSeries'?: boolean | null; - /** - * Gets or sets filter for news. Optional. - */ - 'isNews'?: boolean | null; - /** - * Gets or sets filter for kids. Optional. - */ - 'isKids'?: boolean | null; - /** - * Gets or sets filter for sports. Optional. - */ - 'isSports'?: boolean | null; - /** - * Gets or sets the record index to start at. All items with a lower index will be dropped from the results. Optional. - */ - 'startIndex'?: number | null; - /** - * Gets or sets the maximum number of records to return. Optional. - */ - 'limit'?: number | null; - /** - * Gets or sets specify one or more sort orders, comma delimited. Options: Name, StartDate. Optional. - */ - 'sortBy'?: Array; - /** - * Gets or sets sort Order - Ascending,Descending. - */ - 'sortOrder'?: Array; - /** - * Gets or sets the genres to return guide information for. - */ - 'genres'?: Array; - /** - * Gets or sets the genre ids to return guide information for. - */ - 'genreIds'?: Array; - /** - * Gets or sets include image information in output. Optional. - */ - 'enableImages'?: boolean | null; - /** - * Gets or sets a value indicating whether retrieve total record count. - */ - 'enableTotalRecordCount'?: boolean; - /** - * Gets or sets the max number of images to return, per image type. Optional. - */ - 'imageTypeLimit'?: number | null; - /** - * Gets or sets the image types to include in the output. Optional. - */ - 'enableImageTypes'?: Array; - /** - * Gets or sets include user data. Optional. - */ - 'enableUserData'?: boolean | null; - /** - * Gets or sets filter by series timer id. Optional. - */ - 'seriesTimerId'?: string | null; - /** - * Gets or sets filter by library series id. Optional. - */ - 'librarySeriesId'?: string; - /** - * Gets or sets specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines. Optional. - */ - 'fields'?: Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "channelIds", - "baseName": "ChannelIds", - "type": "Array" - }, - { - "name": "userId", - "baseName": "UserId", - "type": "string" - }, - { - "name": "minStartDate", - "baseName": "MinStartDate", - "type": "Date" - }, - { - "name": "hasAired", - "baseName": "HasAired", - "type": "boolean" - }, - { - "name": "isAiring", - "baseName": "IsAiring", - "type": "boolean" - }, - { - "name": "maxStartDate", - "baseName": "MaxStartDate", - "type": "Date" - }, - { - "name": "minEndDate", - "baseName": "MinEndDate", - "type": "Date" - }, - { - "name": "maxEndDate", - "baseName": "MaxEndDate", - "type": "Date" - }, - { - "name": "isMovie", - "baseName": "IsMovie", - "type": "boolean" - }, - { - "name": "isSeries", - "baseName": "IsSeries", - "type": "boolean" - }, - { - "name": "isNews", - "baseName": "IsNews", - "type": "boolean" - }, - { - "name": "isKids", - "baseName": "IsKids", - "type": "boolean" - }, - { - "name": "isSports", - "baseName": "IsSports", - "type": "boolean" - }, - { - "name": "startIndex", - "baseName": "StartIndex", - "type": "number" - }, - { - "name": "limit", - "baseName": "Limit", - "type": "number" - }, - { - "name": "sortBy", - "baseName": "SortBy", - "type": "Array" - }, - { - "name": "sortOrder", - "baseName": "SortOrder", - "type": "Array" - }, - { - "name": "genres", - "baseName": "Genres", - "type": "Array" - }, - { - "name": "genreIds", - "baseName": "GenreIds", - "type": "Array" - }, - { - "name": "enableImages", - "baseName": "EnableImages", - "type": "boolean" - }, - { - "name": "enableTotalRecordCount", - "baseName": "EnableTotalRecordCount", - "type": "boolean" - }, - { - "name": "imageTypeLimit", - "baseName": "ImageTypeLimit", - "type": "number" - }, - { - "name": "enableImageTypes", - "baseName": "EnableImageTypes", - "type": "Array" - }, - { - "name": "enableUserData", - "baseName": "EnableUserData", - "type": "boolean" - }, - { - "name": "seriesTimerId", - "baseName": "SeriesTimerId", - "type": "string" - }, - { - "name": "librarySeriesId", - "baseName": "LibrarySeriesId", - "type": "string" - }, - { - "name": "fields", - "baseName": "Fields", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return GetProgramsDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/getProgramsRequest.ts b/jellyfin/model/getProgramsRequest.ts deleted file mode 100644 index ad03c64..0000000 --- a/jellyfin/model/getProgramsRequest.ts +++ /dev/null @@ -1,274 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ImageType } from './imageType'; -import { ItemFields } from './itemFields'; -import { SortOrder } from './sortOrder'; - -/** -* Get programs dto. -*/ -export class GetProgramsRequest { - /** - * Gets or sets the channels to return guide information for. - */ - 'channelIds'?: Array; - /** - * Gets or sets optional. Filter by user id. - */ - 'userId'?: string; - /** - * Gets or sets the minimum premiere start date. Optional. - */ - 'minStartDate'?: Date | null; - /** - * Gets or sets filter by programs that have completed airing, or not. Optional. - */ - 'hasAired'?: boolean | null; - /** - * Gets or sets filter by programs that are currently airing, or not. Optional. - */ - 'isAiring'?: boolean | null; - /** - * Gets or sets the maximum premiere start date. Optional. - */ - 'maxStartDate'?: Date | null; - /** - * Gets or sets the minimum premiere end date. Optional. - */ - 'minEndDate'?: Date | null; - /** - * Gets or sets the maximum premiere end date. Optional. - */ - 'maxEndDate'?: Date | null; - /** - * Gets or sets filter for movies. Optional. - */ - 'isMovie'?: boolean | null; - /** - * Gets or sets filter for series. Optional. - */ - 'isSeries'?: boolean | null; - /** - * Gets or sets filter for news. Optional. - */ - 'isNews'?: boolean | null; - /** - * Gets or sets filter for kids. Optional. - */ - 'isKids'?: boolean | null; - /** - * Gets or sets filter for sports. Optional. - */ - 'isSports'?: boolean | null; - /** - * Gets or sets the record index to start at. All items with a lower index will be dropped from the results. Optional. - */ - 'startIndex'?: number | null; - /** - * Gets or sets the maximum number of records to return. Optional. - */ - 'limit'?: number | null; - /** - * Gets or sets specify one or more sort orders, comma delimited. Options: Name, StartDate. Optional. - */ - 'sortBy'?: Array; - /** - * Gets or sets sort Order - Ascending,Descending. - */ - 'sortOrder'?: Array; - /** - * Gets or sets the genres to return guide information for. - */ - 'genres'?: Array; - /** - * Gets or sets the genre ids to return guide information for. - */ - 'genreIds'?: Array; - /** - * Gets or sets include image information in output. Optional. - */ - 'enableImages'?: boolean | null; - /** - * Gets or sets a value indicating whether retrieve total record count. - */ - 'enableTotalRecordCount'?: boolean; - /** - * Gets or sets the max number of images to return, per image type. Optional. - */ - 'imageTypeLimit'?: number | null; - /** - * Gets or sets the image types to include in the output. Optional. - */ - 'enableImageTypes'?: Array; - /** - * Gets or sets include user data. Optional. - */ - 'enableUserData'?: boolean | null; - /** - * Gets or sets filter by series timer id. Optional. - */ - 'seriesTimerId'?: string | null; - /** - * Gets or sets filter by library series id. Optional. - */ - 'librarySeriesId'?: string; - /** - * Gets or sets specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines. Optional. - */ - 'fields'?: Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "channelIds", - "baseName": "ChannelIds", - "type": "Array" - }, - { - "name": "userId", - "baseName": "UserId", - "type": "string" - }, - { - "name": "minStartDate", - "baseName": "MinStartDate", - "type": "Date" - }, - { - "name": "hasAired", - "baseName": "HasAired", - "type": "boolean" - }, - { - "name": "isAiring", - "baseName": "IsAiring", - "type": "boolean" - }, - { - "name": "maxStartDate", - "baseName": "MaxStartDate", - "type": "Date" - }, - { - "name": "minEndDate", - "baseName": "MinEndDate", - "type": "Date" - }, - { - "name": "maxEndDate", - "baseName": "MaxEndDate", - "type": "Date" - }, - { - "name": "isMovie", - "baseName": "IsMovie", - "type": "boolean" - }, - { - "name": "isSeries", - "baseName": "IsSeries", - "type": "boolean" - }, - { - "name": "isNews", - "baseName": "IsNews", - "type": "boolean" - }, - { - "name": "isKids", - "baseName": "IsKids", - "type": "boolean" - }, - { - "name": "isSports", - "baseName": "IsSports", - "type": "boolean" - }, - { - "name": "startIndex", - "baseName": "StartIndex", - "type": "number" - }, - { - "name": "limit", - "baseName": "Limit", - "type": "number" - }, - { - "name": "sortBy", - "baseName": "SortBy", - "type": "Array" - }, - { - "name": "sortOrder", - "baseName": "SortOrder", - "type": "Array" - }, - { - "name": "genres", - "baseName": "Genres", - "type": "Array" - }, - { - "name": "genreIds", - "baseName": "GenreIds", - "type": "Array" - }, - { - "name": "enableImages", - "baseName": "EnableImages", - "type": "boolean" - }, - { - "name": "enableTotalRecordCount", - "baseName": "EnableTotalRecordCount", - "type": "boolean" - }, - { - "name": "imageTypeLimit", - "baseName": "ImageTypeLimit", - "type": "number" - }, - { - "name": "enableImageTypes", - "baseName": "EnableImageTypes", - "type": "Array" - }, - { - "name": "enableUserData", - "baseName": "EnableUserData", - "type": "boolean" - }, - { - "name": "seriesTimerId", - "baseName": "SeriesTimerId", - "type": "string" - }, - { - "name": "librarySeriesId", - "baseName": "LibrarySeriesId", - "type": "string" - }, - { - "name": "fields", - "baseName": "Fields", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return GetProgramsRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/getSeriesRemoteSearchResultsRequest.ts b/jellyfin/model/getSeriesRemoteSearchResultsRequest.ts deleted file mode 100644 index 51d1a41..0000000 --- a/jellyfin/model/getSeriesRemoteSearchResultsRequest.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { SeriesInfo } from './seriesInfo'; - -export class GetSeriesRemoteSearchResultsRequest { - 'searchInfo'?: SeriesInfo | null; - 'itemId'?: string; - /** - * Gets or sets the provider name to search within if set. - */ - 'searchProviderName'?: string | null; - /** - * Gets or sets a value indicating whether disabled providers should be included. - */ - 'includeDisabledProviders'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "searchInfo", - "baseName": "SearchInfo", - "type": "SeriesInfo" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "searchProviderName", - "baseName": "SearchProviderName", - "type": "string" - }, - { - "name": "includeDisabledProviders", - "baseName": "IncludeDisabledProviders", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return GetSeriesRemoteSearchResultsRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/getTrailerRemoteSearchResultsRequest.ts b/jellyfin/model/getTrailerRemoteSearchResultsRequest.ts deleted file mode 100644 index c110bbc..0000000 --- a/jellyfin/model/getTrailerRemoteSearchResultsRequest.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { TrailerInfo } from './trailerInfo'; - -export class GetTrailerRemoteSearchResultsRequest { - 'searchInfo'?: TrailerInfo | null; - 'itemId'?: string; - /** - * Gets or sets the provider name to search within if set. - */ - 'searchProviderName'?: string | null; - /** - * Gets or sets a value indicating whether disabled providers should be included. - */ - 'includeDisabledProviders'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "searchInfo", - "baseName": "SearchInfo", - "type": "TrailerInfo" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "searchProviderName", - "baseName": "SearchProviderName", - "type": "string" - }, - { - "name": "includeDisabledProviders", - "baseName": "IncludeDisabledProviders", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return GetTrailerRemoteSearchResultsRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/groupInfoDto.ts b/jellyfin/model/groupInfoDto.ts deleted file mode 100644 index 009d913..0000000 --- a/jellyfin/model/groupInfoDto.ts +++ /dev/null @@ -1,73 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { GroupStateType } from './groupStateType'; - -/** -* Class GroupInfoDto. -*/ -export class GroupInfoDto { - /** - * Gets the group identifier. - */ - 'groupId'?: string; - /** - * Gets the group name. - */ - 'groupName'?: string; - 'state'?: GroupStateType; - /** - * Gets the participants. - */ - 'participants'?: Array; - /** - * Gets the date when this DTO has been created. - */ - 'lastUpdatedAt'?: Date; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "groupId", - "baseName": "GroupId", - "type": "string" - }, - { - "name": "groupName", - "baseName": "GroupName", - "type": "string" - }, - { - "name": "state", - "baseName": "State", - "type": "GroupStateType" - }, - { - "name": "participants", - "baseName": "Participants", - "type": "Array" - }, - { - "name": "lastUpdatedAt", - "baseName": "LastUpdatedAt", - "type": "Date" - } ]; - - static getAttributeTypeMap() { - return GroupInfoDto.attributeTypeMap; - } -} - -export namespace GroupInfoDto { -} diff --git a/jellyfin/model/groupQueueMode.ts b/jellyfin/model/groupQueueMode.ts deleted file mode 100644 index 7938ca4..0000000 --- a/jellyfin/model/groupQueueMode.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Enum GroupQueueMode. -*/ -export enum GroupQueueMode { - Queue = 'Queue', - QueueNext = 'QueueNext' -} diff --git a/jellyfin/model/groupRepeatMode.ts b/jellyfin/model/groupRepeatMode.ts deleted file mode 100644 index 6e8bb96..0000000 --- a/jellyfin/model/groupRepeatMode.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Enum GroupRepeatMode. -*/ -export enum GroupRepeatMode { - RepeatOne = 'RepeatOne', - RepeatAll = 'RepeatAll', - RepeatNone = 'RepeatNone' -} diff --git a/jellyfin/model/groupShuffleMode.ts b/jellyfin/model/groupShuffleMode.ts deleted file mode 100644 index 36a3e6d..0000000 --- a/jellyfin/model/groupShuffleMode.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Enum GroupShuffleMode. -*/ -export enum GroupShuffleMode { - Sorted = 'Sorted', - Shuffle = 'Shuffle' -} diff --git a/jellyfin/model/groupStateType.ts b/jellyfin/model/groupStateType.ts deleted file mode 100644 index ea75321..0000000 --- a/jellyfin/model/groupStateType.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Enum GroupState. -*/ -export enum GroupStateType { - Idle = 'Idle', - Waiting = 'Waiting', - Paused = 'Paused', - Playing = 'Playing' -} diff --git a/jellyfin/model/groupUpdateType.ts b/jellyfin/model/groupUpdateType.ts deleted file mode 100644 index 160b625..0000000 --- a/jellyfin/model/groupUpdateType.ts +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Enum GroupUpdateType. -*/ -export enum GroupUpdateType { - UserJoined = 'UserJoined', - UserLeft = 'UserLeft', - GroupJoined = 'GroupJoined', - GroupLeft = 'GroupLeft', - StateUpdate = 'StateUpdate', - PlayQueue = 'PlayQueue', - NotInGroup = 'NotInGroup', - GroupDoesNotExist = 'GroupDoesNotExist', - CreateGroupDenied = 'CreateGroupDenied', - JoinGroupDenied = 'JoinGroupDenied', - LibraryAccessDenied = 'LibraryAccessDenied' -} diff --git a/jellyfin/model/guideInfo.ts b/jellyfin/model/guideInfo.ts deleted file mode 100644 index 63ef9f3..0000000 --- a/jellyfin/model/guideInfo.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class GuideInfo { - /** - * Gets or sets the start date. - */ - 'startDate'?: Date; - /** - * Gets or sets the end date. - */ - 'endDate'?: Date; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "startDate", - "baseName": "StartDate", - "type": "Date" - }, - { - "name": "endDate", - "baseName": "EndDate", - "type": "Date" - } ]; - - static getAttributeTypeMap() { - return GuideInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/hardwareEncodingType.ts b/jellyfin/model/hardwareEncodingType.ts deleted file mode 100644 index 32c03e8..0000000 --- a/jellyfin/model/hardwareEncodingType.ts +++ /dev/null @@ -1,25 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Enum HardwareEncodingType. -*/ -export enum HardwareEncodingType { - Amf = 'AMF', - Qsv = 'QSV', - Nvenc = 'NVENC', - V4L2M2M = 'V4L2M2M', - Vaapi = 'VAAPI', - VideoToolBox = 'VideoToolBox' -} diff --git a/jellyfin/model/headerMatchType.ts b/jellyfin/model/headerMatchType.ts deleted file mode 100644 index 71ebfaa..0000000 --- a/jellyfin/model/headerMatchType.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum HeaderMatchType { - Equals = 'Equals', - Regex = 'Regex', - Substring = 'Substring' -} diff --git a/jellyfin/model/httpHeaderInfo.ts b/jellyfin/model/httpHeaderInfo.ts deleted file mode 100644 index 68e9ee1..0000000 --- a/jellyfin/model/httpHeaderInfo.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { HeaderMatchType } from './headerMatchType'; - -export class HttpHeaderInfo { - 'name'?: string | null; - 'value'?: string | null; - 'match'?: HeaderMatchType; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "value", - "baseName": "Value", - "type": "string" - }, - { - "name": "match", - "baseName": "Match", - "type": "HeaderMatchType" - } ]; - - static getAttributeTypeMap() { - return HttpHeaderInfo.attributeTypeMap; - } -} - -export namespace HttpHeaderInfo { -} diff --git a/jellyfin/model/iPlugin.ts b/jellyfin/model/iPlugin.ts deleted file mode 100644 index 77c6c81..0000000 --- a/jellyfin/model/iPlugin.ts +++ /dev/null @@ -1,91 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Defines the MediaBrowser.Common.Plugins.IPlugin. -*/ -export class IPlugin { - /** - * Gets the name of the plugin. - */ - 'name'?: string | null; - /** - * Gets the Description. - */ - 'description'?: string | null; - /** - * Gets the unique id. - */ - 'id'?: string; - /** - * Gets the plugin version. - */ - 'version'?: string | null; - /** - * Gets the path to the assembly file. - */ - 'assemblyFilePath'?: string | null; - /** - * Gets a value indicating whether the plugin can be uninstalled. - */ - 'canUninstall'?: boolean; - /** - * Gets the full path to the data folder, where the plugin can store any miscellaneous files needed. - */ - 'dataFolderPath'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "description", - "baseName": "Description", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "version", - "baseName": "Version", - "type": "string" - }, - { - "name": "assemblyFilePath", - "baseName": "AssemblyFilePath", - "type": "string" - }, - { - "name": "canUninstall", - "baseName": "CanUninstall", - "type": "boolean" - }, - { - "name": "dataFolderPath", - "baseName": "DataFolderPath", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return IPlugin.attributeTypeMap; - } -} - diff --git a/jellyfin/model/ignoreWaitRequestDto.ts b/jellyfin/model/ignoreWaitRequestDto.ts deleted file mode 100644 index 5c679d6..0000000 --- a/jellyfin/model/ignoreWaitRequestDto.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class IgnoreWaitRequestDto. -*/ -export class IgnoreWaitRequestDto { - /** - * Gets or sets a value indicating whether the client should be ignored. - */ - 'ignoreWait'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "ignoreWait", - "baseName": "IgnoreWait", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return IgnoreWaitRequestDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/imageByNameInfo.ts b/jellyfin/model/imageByNameInfo.ts deleted file mode 100644 index 4c7d04d..0000000 --- a/jellyfin/model/imageByNameInfo.ts +++ /dev/null @@ -1,70 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class ImageByNameInfo { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the theme. - */ - 'theme'?: string | null; - /** - * Gets or sets the context. - */ - 'context'?: string | null; - /** - * Gets or sets the length of the file. - */ - 'fileLength'?: number; - /** - * Gets or sets the format. - */ - 'format'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "theme", - "baseName": "Theme", - "type": "string" - }, - { - "name": "context", - "baseName": "Context", - "type": "string" - }, - { - "name": "fileLength", - "baseName": "FileLength", - "type": "number" - }, - { - "name": "format", - "baseName": "Format", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return ImageByNameInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/imageFormat.ts b/jellyfin/model/imageFormat.ts deleted file mode 100644 index 5f720fa..0000000 --- a/jellyfin/model/imageFormat.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Enum ImageOutputFormat. -*/ -export enum ImageFormat { - Bmp = 'Bmp', - Gif = 'Gif', - Jpg = 'Jpg', - Png = 'Png', - Webp = 'Webp' -} diff --git a/jellyfin/model/imageInfo.ts b/jellyfin/model/imageInfo.ts deleted file mode 100644 index e0a7a44..0000000 --- a/jellyfin/model/imageInfo.ts +++ /dev/null @@ -1,100 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ImageType } from './imageType'; - -/** -* Class ImageInfo. -*/ -export class ImageInfo { - 'imageType'?: ImageType; - /** - * Gets or sets the index of the image. - */ - 'imageIndex'?: number | null; - /** - * Gets or sets the image tag. - */ - 'imageTag'?: string | null; - /** - * Gets or sets the path. - */ - 'path'?: string | null; - /** - * Gets or sets the blurhash. - */ - 'blurHash'?: string | null; - /** - * Gets or sets the height. - */ - 'height'?: number | null; - /** - * Gets or sets the width. - */ - 'width'?: number | null; - /** - * Gets or sets the size. - */ - 'size'?: number; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "imageType", - "baseName": "ImageType", - "type": "ImageType" - }, - { - "name": "imageIndex", - "baseName": "ImageIndex", - "type": "number" - }, - { - "name": "imageTag", - "baseName": "ImageTag", - "type": "string" - }, - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "blurHash", - "baseName": "BlurHash", - "type": "string" - }, - { - "name": "height", - "baseName": "Height", - "type": "number" - }, - { - "name": "width", - "baseName": "Width", - "type": "number" - }, - { - "name": "size", - "baseName": "Size", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return ImageInfo.attributeTypeMap; - } -} - -export namespace ImageInfo { -} diff --git a/jellyfin/model/imageOption.ts b/jellyfin/model/imageOption.ts deleted file mode 100644 index ee4fda3..0000000 --- a/jellyfin/model/imageOption.ts +++ /dev/null @@ -1,52 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ImageType } from './imageType'; - -export class ImageOption { - 'type'?: ImageType; - /** - * Gets or sets the limit. - */ - 'limit'?: number; - /** - * Gets or sets the minimum width. - */ - 'minWidth'?: number; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "type", - "baseName": "Type", - "type": "ImageType" - }, - { - "name": "limit", - "baseName": "Limit", - "type": "number" - }, - { - "name": "minWidth", - "baseName": "MinWidth", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return ImageOption.attributeTypeMap; - } -} - -export namespace ImageOption { -} diff --git a/jellyfin/model/imageOrientation.ts b/jellyfin/model/imageOrientation.ts deleted file mode 100644 index 9cda0b5..0000000 --- a/jellyfin/model/imageOrientation.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum ImageOrientation { - TopLeft = 'TopLeft', - TopRight = 'TopRight', - BottomRight = 'BottomRight', - BottomLeft = 'BottomLeft', - LeftTop = 'LeftTop', - RightTop = 'RightTop', - RightBottom = 'RightBottom', - LeftBottom = 'LeftBottom' -} diff --git a/jellyfin/model/imageProviderInfo.ts b/jellyfin/model/imageProviderInfo.ts deleted file mode 100644 index 251f7e2..0000000 --- a/jellyfin/model/imageProviderInfo.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ImageType } from './imageType'; - -/** -* Class ImageProviderInfo. -*/ -export class ImageProviderInfo { - /** - * Gets the name. - */ - 'name'?: string; - /** - * Gets the supported image types. - */ - 'supportedImages'?: Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "supportedImages", - "baseName": "SupportedImages", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return ImageProviderInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/imageSavingConvention.ts b/jellyfin/model/imageSavingConvention.ts deleted file mode 100644 index ca5c4c9..0000000 --- a/jellyfin/model/imageSavingConvention.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum ImageSavingConvention { - Legacy = 'Legacy', - Compatible = 'Compatible' -} diff --git a/jellyfin/model/imageType.ts b/jellyfin/model/imageType.ts deleted file mode 100644 index a5f37b2..0000000 --- a/jellyfin/model/imageType.ts +++ /dev/null @@ -1,32 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Enum ImageType. -*/ -export enum ImageType { - Primary = 'Primary', - Art = 'Art', - Backdrop = 'Backdrop', - Banner = 'Banner', - Logo = 'Logo', - Thumb = 'Thumb', - Disc = 'Disc', - Box = 'Box', - Screenshot = 'Screenshot', - Menu = 'Menu', - Chapter = 'Chapter', - BoxRear = 'BoxRear', - Profile = 'Profile' -} diff --git a/jellyfin/model/installationInfo.ts b/jellyfin/model/installationInfo.ts deleted file mode 100644 index c51daec..0000000 --- a/jellyfin/model/installationInfo.ts +++ /dev/null @@ -1,89 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { InstallationInfoPackageInfo } from './installationInfoPackageInfo'; - -/** -* Class InstallationInfo. -*/ -export class InstallationInfo { - /** - * Gets or sets the Id. - */ - 'guid'?: string; - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the version. - */ - 'version'?: string | null; - /** - * Gets or sets the changelog for this version. - */ - 'changelog'?: string | null; - /** - * Gets or sets the source URL. - */ - 'sourceUrl'?: string | null; - /** - * Gets or sets a checksum for the binary. - */ - 'checksum'?: string | null; - 'packageInfo'?: InstallationInfoPackageInfo | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "guid", - "baseName": "Guid", - "type": "string" - }, - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "version", - "baseName": "Version", - "type": "string" - }, - { - "name": "changelog", - "baseName": "Changelog", - "type": "string" - }, - { - "name": "sourceUrl", - "baseName": "SourceUrl", - "type": "string" - }, - { - "name": "checksum", - "baseName": "Checksum", - "type": "string" - }, - { - "name": "packageInfo", - "baseName": "PackageInfo", - "type": "InstallationInfoPackageInfo" - } ]; - - static getAttributeTypeMap() { - return InstallationInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/installationInfoPackageInfo.ts b/jellyfin/model/installationInfoPackageInfo.ts deleted file mode 100644 index 33f88ac..0000000 --- a/jellyfin/model/installationInfoPackageInfo.ts +++ /dev/null @@ -1,101 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { VersionInfo } from './versionInfo'; - -/** -* Gets or sets package information for the installation. -*/ -export class InstallationInfoPackageInfo { - /** - * Gets or sets the name. - */ - 'name'?: string; - /** - * Gets or sets a long description of the plugin containing features or helpful explanations. - */ - 'description'?: string; - /** - * Gets or sets a short overview of what the plugin does. - */ - 'overview'?: string; - /** - * Gets or sets the owner. - */ - 'owner'?: string; - /** - * Gets or sets the category. - */ - 'category'?: string; - /** - * Gets or sets the guid of the assembly associated with this plugin. This is used to identify the proper item for automatic updates. - */ - 'guid'?: string; - /** - * Gets or sets the versions. - */ - 'versions'?: Array; - /** - * Gets or sets the image url for the package. - */ - 'imageUrl'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "name", - "type": "string" - }, - { - "name": "description", - "baseName": "description", - "type": "string" - }, - { - "name": "overview", - "baseName": "overview", - "type": "string" - }, - { - "name": "owner", - "baseName": "owner", - "type": "string" - }, - { - "name": "category", - "baseName": "category", - "type": "string" - }, - { - "name": "guid", - "baseName": "guid", - "type": "string" - }, - { - "name": "versions", - "baseName": "versions", - "type": "Array" - }, - { - "name": "imageUrl", - "baseName": "imageUrl", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return InstallationInfoPackageInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/isoType.ts b/jellyfin/model/isoType.ts deleted file mode 100644 index a506230..0000000 --- a/jellyfin/model/isoType.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Enum IsoType. -*/ -export enum IsoType { - Dvd = 'Dvd', - BluRay = 'BluRay' -} diff --git a/jellyfin/model/itemCounts.ts b/jellyfin/model/itemCounts.ts deleted file mode 100644 index 1bf13c5..0000000 --- a/jellyfin/model/itemCounts.ts +++ /dev/null @@ -1,136 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class LibrarySummary. -*/ -export class ItemCounts { - /** - * Gets or sets the movie count. - */ - 'movieCount'?: number; - /** - * Gets or sets the series count. - */ - 'seriesCount'?: number; - /** - * Gets or sets the episode count. - */ - 'episodeCount'?: number; - /** - * Gets or sets the artist count. - */ - 'artistCount'?: number; - /** - * Gets or sets the program count. - */ - 'programCount'?: number; - /** - * Gets or sets the trailer count. - */ - 'trailerCount'?: number; - /** - * Gets or sets the song count. - */ - 'songCount'?: number; - /** - * Gets or sets the album count. - */ - 'albumCount'?: number; - /** - * Gets or sets the music video count. - */ - 'musicVideoCount'?: number; - /** - * Gets or sets the box set count. - */ - 'boxSetCount'?: number; - /** - * Gets or sets the book count. - */ - 'bookCount'?: number; - /** - * Gets or sets the item count. - */ - 'itemCount'?: number; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "movieCount", - "baseName": "MovieCount", - "type": "number" - }, - { - "name": "seriesCount", - "baseName": "SeriesCount", - "type": "number" - }, - { - "name": "episodeCount", - "baseName": "EpisodeCount", - "type": "number" - }, - { - "name": "artistCount", - "baseName": "ArtistCount", - "type": "number" - }, - { - "name": "programCount", - "baseName": "ProgramCount", - "type": "number" - }, - { - "name": "trailerCount", - "baseName": "TrailerCount", - "type": "number" - }, - { - "name": "songCount", - "baseName": "SongCount", - "type": "number" - }, - { - "name": "albumCount", - "baseName": "AlbumCount", - "type": "number" - }, - { - "name": "musicVideoCount", - "baseName": "MusicVideoCount", - "type": "number" - }, - { - "name": "boxSetCount", - "baseName": "BoxSetCount", - "type": "number" - }, - { - "name": "bookCount", - "baseName": "BookCount", - "type": "number" - }, - { - "name": "itemCount", - "baseName": "ItemCount", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return ItemCounts.attributeTypeMap; - } -} - diff --git a/jellyfin/model/itemFields.ts b/jellyfin/model/itemFields.ts deleted file mode 100644 index 654125f..0000000 --- a/jellyfin/model/itemFields.ts +++ /dev/null @@ -1,80 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Used to control the data that gets attached to DtoBaseItems. -*/ -export enum ItemFields { - AirTime = 'AirTime', - CanDelete = 'CanDelete', - CanDownload = 'CanDownload', - ChannelInfo = 'ChannelInfo', - Chapters = 'Chapters', - ChildCount = 'ChildCount', - CumulativeRunTimeTicks = 'CumulativeRunTimeTicks', - CustomRating = 'CustomRating', - DateCreated = 'DateCreated', - DateLastMediaAdded = 'DateLastMediaAdded', - DisplayPreferencesId = 'DisplayPreferencesId', - Etag = 'Etag', - ExternalUrls = 'ExternalUrls', - Genres = 'Genres', - HomePageUrl = 'HomePageUrl', - ItemCounts = 'ItemCounts', - MediaSourceCount = 'MediaSourceCount', - MediaSources = 'MediaSources', - OriginalTitle = 'OriginalTitle', - Overview = 'Overview', - ParentId = 'ParentId', - Path = 'Path', - People = 'People', - PlayAccess = 'PlayAccess', - ProductionLocations = 'ProductionLocations', - ProviderIds = 'ProviderIds', - PrimaryImageAspectRatio = 'PrimaryImageAspectRatio', - RecursiveItemCount = 'RecursiveItemCount', - Settings = 'Settings', - ScreenshotImageTags = 'ScreenshotImageTags', - SeriesPrimaryImage = 'SeriesPrimaryImage', - SeriesStudio = 'SeriesStudio', - SortName = 'SortName', - SpecialEpisodeNumbers = 'SpecialEpisodeNumbers', - Studios = 'Studios', - BasicSyncInfo = 'BasicSyncInfo', - SyncInfo = 'SyncInfo', - Taglines = 'Taglines', - Tags = 'Tags', - RemoteTrailers = 'RemoteTrailers', - MediaStreams = 'MediaStreams', - SeasonUserData = 'SeasonUserData', - ServiceName = 'ServiceName', - ThemeSongIds = 'ThemeSongIds', - ThemeVideoIds = 'ThemeVideoIds', - ExternalEtag = 'ExternalEtag', - PresentationUniqueKey = 'PresentationUniqueKey', - InheritedParentalRatingValue = 'InheritedParentalRatingValue', - ExternalSeriesId = 'ExternalSeriesId', - SeriesPresentationUniqueKey = 'SeriesPresentationUniqueKey', - DateLastRefreshed = 'DateLastRefreshed', - DateLastSaved = 'DateLastSaved', - RefreshState = 'RefreshState', - ChannelImage = 'ChannelImage', - EnableMediaSourceDisplay = 'EnableMediaSourceDisplay', - Width = 'Width', - Height = 'Height', - ExtraIds = 'ExtraIds', - LocalTrailerCount = 'LocalTrailerCount', - IsHd = 'IsHD', - SpecialFeatureCount = 'SpecialFeatureCount' -} diff --git a/jellyfin/model/itemFilter.ts b/jellyfin/model/itemFilter.ts deleted file mode 100644 index e0f8008..0000000 --- a/jellyfin/model/itemFilter.ts +++ /dev/null @@ -1,28 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Enum ItemFilter. -*/ -export enum ItemFilter { - IsFolder = 'IsFolder', - IsNotFolder = 'IsNotFolder', - IsUnplayed = 'IsUnplayed', - IsPlayed = 'IsPlayed', - IsFavorite = 'IsFavorite', - IsResumable = 'IsResumable', - Likes = 'Likes', - Dislikes = 'Dislikes', - IsFavoriteOrLikes = 'IsFavoriteOrLikes' -} diff --git a/jellyfin/model/joinGroupRequestDto.ts b/jellyfin/model/joinGroupRequestDto.ts deleted file mode 100644 index 33ae016..0000000 --- a/jellyfin/model/joinGroupRequestDto.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class JoinGroupRequestDto. -*/ -export class JoinGroupRequestDto { - /** - * Gets or sets the group identifier. - */ - 'groupId'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "groupId", - "baseName": "GroupId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return JoinGroupRequestDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/keepUntil.ts b/jellyfin/model/keepUntil.ts deleted file mode 100644 index fb05fc3..0000000 --- a/jellyfin/model/keepUntil.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum KeepUntil { - UntilDeleted = 'UntilDeleted', - UntilSpaceNeeded = 'UntilSpaceNeeded', - UntilWatched = 'UntilWatched', - UntilDate = 'UntilDate' -} diff --git a/jellyfin/model/libraryOptionInfoDto.ts b/jellyfin/model/libraryOptionInfoDto.ts deleted file mode 100644 index 8c4ab88..0000000 --- a/jellyfin/model/libraryOptionInfoDto.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Library option info dto. -*/ -export class LibraryOptionInfoDto { - /** - * Gets or sets name. - */ - 'name'?: string | null; - /** - * Gets or sets a value indicating whether default enabled. - */ - 'defaultEnabled'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "defaultEnabled", - "baseName": "DefaultEnabled", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return LibraryOptionInfoDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/libraryOptions.ts b/jellyfin/model/libraryOptions.ts deleted file mode 100644 index 8d7c5d8..0000000 --- a/jellyfin/model/libraryOptions.ts +++ /dev/null @@ -1,198 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { EmbeddedSubtitleOptions } from './embeddedSubtitleOptions'; -import { MediaPathInfo } from './mediaPathInfo'; -import { TypeOptions } from './typeOptions'; - -export class LibraryOptions { - 'enablePhotos'?: boolean; - 'enableRealtimeMonitor'?: boolean; - 'enableChapterImageExtraction'?: boolean; - 'extractChapterImagesDuringLibraryScan'?: boolean; - 'pathInfos'?: Array; - 'saveLocalMetadata'?: boolean; - 'enableInternetProviders'?: boolean; - 'enableAutomaticSeriesGrouping'?: boolean; - 'enableEmbeddedTitles'?: boolean; - 'enableEmbeddedEpisodeInfos'?: boolean; - 'automaticRefreshIntervalDays'?: number; - /** - * Gets or sets the preferred metadata language. - */ - 'preferredMetadataLanguage'?: string | null; - /** - * Gets or sets the metadata country code. - */ - 'metadataCountryCode'?: string | null; - 'seasonZeroDisplayName'?: string; - 'metadataSavers'?: Array | null; - 'disabledLocalMetadataReaders'?: Array; - 'localMetadataReaderOrder'?: Array | null; - 'disabledSubtitleFetchers'?: Array; - 'subtitleFetcherOrder'?: Array; - 'skipSubtitlesIfEmbeddedSubtitlesPresent'?: boolean; - 'skipSubtitlesIfAudioTrackMatches'?: boolean; - 'subtitleDownloadLanguages'?: Array | null; - 'requirePerfectSubtitleMatch'?: boolean; - 'saveSubtitlesWithMedia'?: boolean; - 'automaticallyAddToCollection'?: boolean; - 'allowEmbeddedSubtitles'?: EmbeddedSubtitleOptions; - 'typeOptions'?: Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "enablePhotos", - "baseName": "EnablePhotos", - "type": "boolean" - }, - { - "name": "enableRealtimeMonitor", - "baseName": "EnableRealtimeMonitor", - "type": "boolean" - }, - { - "name": "enableChapterImageExtraction", - "baseName": "EnableChapterImageExtraction", - "type": "boolean" - }, - { - "name": "extractChapterImagesDuringLibraryScan", - "baseName": "ExtractChapterImagesDuringLibraryScan", - "type": "boolean" - }, - { - "name": "pathInfos", - "baseName": "PathInfos", - "type": "Array" - }, - { - "name": "saveLocalMetadata", - "baseName": "SaveLocalMetadata", - "type": "boolean" - }, - { - "name": "enableInternetProviders", - "baseName": "EnableInternetProviders", - "type": "boolean" - }, - { - "name": "enableAutomaticSeriesGrouping", - "baseName": "EnableAutomaticSeriesGrouping", - "type": "boolean" - }, - { - "name": "enableEmbeddedTitles", - "baseName": "EnableEmbeddedTitles", - "type": "boolean" - }, - { - "name": "enableEmbeddedEpisodeInfos", - "baseName": "EnableEmbeddedEpisodeInfos", - "type": "boolean" - }, - { - "name": "automaticRefreshIntervalDays", - "baseName": "AutomaticRefreshIntervalDays", - "type": "number" - }, - { - "name": "preferredMetadataLanguage", - "baseName": "PreferredMetadataLanguage", - "type": "string" - }, - { - "name": "metadataCountryCode", - "baseName": "MetadataCountryCode", - "type": "string" - }, - { - "name": "seasonZeroDisplayName", - "baseName": "SeasonZeroDisplayName", - "type": "string" - }, - { - "name": "metadataSavers", - "baseName": "MetadataSavers", - "type": "Array" - }, - { - "name": "disabledLocalMetadataReaders", - "baseName": "DisabledLocalMetadataReaders", - "type": "Array" - }, - { - "name": "localMetadataReaderOrder", - "baseName": "LocalMetadataReaderOrder", - "type": "Array" - }, - { - "name": "disabledSubtitleFetchers", - "baseName": "DisabledSubtitleFetchers", - "type": "Array" - }, - { - "name": "subtitleFetcherOrder", - "baseName": "SubtitleFetcherOrder", - "type": "Array" - }, - { - "name": "skipSubtitlesIfEmbeddedSubtitlesPresent", - "baseName": "SkipSubtitlesIfEmbeddedSubtitlesPresent", - "type": "boolean" - }, - { - "name": "skipSubtitlesIfAudioTrackMatches", - "baseName": "SkipSubtitlesIfAudioTrackMatches", - "type": "boolean" - }, - { - "name": "subtitleDownloadLanguages", - "baseName": "SubtitleDownloadLanguages", - "type": "Array" - }, - { - "name": "requirePerfectSubtitleMatch", - "baseName": "RequirePerfectSubtitleMatch", - "type": "boolean" - }, - { - "name": "saveSubtitlesWithMedia", - "baseName": "SaveSubtitlesWithMedia", - "type": "boolean" - }, - { - "name": "automaticallyAddToCollection", - "baseName": "AutomaticallyAddToCollection", - "type": "boolean" - }, - { - "name": "allowEmbeddedSubtitles", - "baseName": "AllowEmbeddedSubtitles", - "type": "EmbeddedSubtitleOptions" - }, - { - "name": "typeOptions", - "baseName": "TypeOptions", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return LibraryOptions.attributeTypeMap; - } -} - -export namespace LibraryOptions { -} diff --git a/jellyfin/model/libraryOptionsResultDto.ts b/jellyfin/model/libraryOptionsResultDto.ts deleted file mode 100644 index fb3254f..0000000 --- a/jellyfin/model/libraryOptionsResultDto.ts +++ /dev/null @@ -1,66 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { LibraryOptionInfoDto } from './libraryOptionInfoDto'; -import { LibraryTypeOptionsDto } from './libraryTypeOptionsDto'; - -/** -* Library options result dto. -*/ -export class LibraryOptionsResultDto { - /** - * Gets or sets the metadata savers. - */ - 'metadataSavers'?: Array; - /** - * Gets or sets the metadata readers. - */ - 'metadataReaders'?: Array; - /** - * Gets or sets the subtitle fetchers. - */ - 'subtitleFetchers'?: Array; - /** - * Gets or sets the type options. - */ - 'typeOptions'?: Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "metadataSavers", - "baseName": "MetadataSavers", - "type": "Array" - }, - { - "name": "metadataReaders", - "baseName": "MetadataReaders", - "type": "Array" - }, - { - "name": "subtitleFetchers", - "baseName": "SubtitleFetchers", - "type": "Array" - }, - { - "name": "typeOptions", - "baseName": "TypeOptions", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return LibraryOptionsResultDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/libraryTypeOptionsDto.ts b/jellyfin/model/libraryTypeOptionsDto.ts deleted file mode 100644 index e092d1d..0000000 --- a/jellyfin/model/libraryTypeOptionsDto.ts +++ /dev/null @@ -1,76 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ImageOption } from './imageOption'; -import { ImageType } from './imageType'; -import { LibraryOptionInfoDto } from './libraryOptionInfoDto'; - -/** -* Library type options dto. -*/ -export class LibraryTypeOptionsDto { - /** - * Gets or sets the type. - */ - 'type'?: string | null; - /** - * Gets or sets the metadata fetchers. - */ - 'metadataFetchers'?: Array; - /** - * Gets or sets the image fetchers. - */ - 'imageFetchers'?: Array; - /** - * Gets or sets the supported image types. - */ - 'supportedImageTypes'?: Array; - /** - * Gets or sets the default image options. - */ - 'defaultImageOptions'?: Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "type", - "baseName": "Type", - "type": "string" - }, - { - "name": "metadataFetchers", - "baseName": "MetadataFetchers", - "type": "Array" - }, - { - "name": "imageFetchers", - "baseName": "ImageFetchers", - "type": "Array" - }, - { - "name": "supportedImageTypes", - "baseName": "SupportedImageTypes", - "type": "Array" - }, - { - "name": "defaultImageOptions", - "baseName": "DefaultImageOptions", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return LibraryTypeOptionsDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/libraryUpdateInfo.ts b/jellyfin/model/libraryUpdateInfo.ts deleted file mode 100644 index e102678..0000000 --- a/jellyfin/model/libraryUpdateInfo.ts +++ /dev/null @@ -1,85 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class LibraryUpdateInfo. -*/ -export class LibraryUpdateInfo { - /** - * Gets or sets the folders added to. - */ - 'foldersAddedTo'?: Array; - /** - * Gets or sets the folders removed from. - */ - 'foldersRemovedFrom'?: Array; - /** - * Gets or sets the items added. - */ - 'itemsAdded'?: Array; - /** - * Gets or sets the items removed. - */ - 'itemsRemoved'?: Array; - /** - * Gets or sets the items updated. - */ - 'itemsUpdated'?: Array; - 'collectionFolders'?: Array; - 'isEmpty'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "foldersAddedTo", - "baseName": "FoldersAddedTo", - "type": "Array" - }, - { - "name": "foldersRemovedFrom", - "baseName": "FoldersRemovedFrom", - "type": "Array" - }, - { - "name": "itemsAdded", - "baseName": "ItemsAdded", - "type": "Array" - }, - { - "name": "itemsRemoved", - "baseName": "ItemsRemoved", - "type": "Array" - }, - { - "name": "itemsUpdated", - "baseName": "ItemsUpdated", - "type": "Array" - }, - { - "name": "collectionFolders", - "baseName": "CollectionFolders", - "type": "Array" - }, - { - "name": "isEmpty", - "baseName": "IsEmpty", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return LibraryUpdateInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/listingsProviderInfo.ts b/jellyfin/model/listingsProviderInfo.ts deleted file mode 100644 index 56cff83..0000000 --- a/jellyfin/model/listingsProviderInfo.ts +++ /dev/null @@ -1,134 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { NameValuePair } from './nameValuePair'; - -export class ListingsProviderInfo { - 'id'?: string | null; - 'type'?: string | null; - 'username'?: string | null; - 'password'?: string | null; - 'listingsId'?: string | null; - 'zipCode'?: string | null; - 'country'?: string | null; - 'path'?: string | null; - 'enabledTuners'?: Array | null; - 'enableAllTuners'?: boolean; - 'newsCategories'?: Array | null; - 'sportsCategories'?: Array | null; - 'kidsCategories'?: Array | null; - 'movieCategories'?: Array | null; - 'channelMappings'?: Array | null; - 'moviePrefix'?: string | null; - 'preferredLanguage'?: string | null; - 'userAgent'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "type", - "baseName": "Type", - "type": "string" - }, - { - "name": "username", - "baseName": "Username", - "type": "string" - }, - { - "name": "password", - "baseName": "Password", - "type": "string" - }, - { - "name": "listingsId", - "baseName": "ListingsId", - "type": "string" - }, - { - "name": "zipCode", - "baseName": "ZipCode", - "type": "string" - }, - { - "name": "country", - "baseName": "Country", - "type": "string" - }, - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "enabledTuners", - "baseName": "EnabledTuners", - "type": "Array" - }, - { - "name": "enableAllTuners", - "baseName": "EnableAllTuners", - "type": "boolean" - }, - { - "name": "newsCategories", - "baseName": "NewsCategories", - "type": "Array" - }, - { - "name": "sportsCategories", - "baseName": "SportsCategories", - "type": "Array" - }, - { - "name": "kidsCategories", - "baseName": "KidsCategories", - "type": "Array" - }, - { - "name": "movieCategories", - "baseName": "MovieCategories", - "type": "Array" - }, - { - "name": "channelMappings", - "baseName": "ChannelMappings", - "type": "Array" - }, - { - "name": "moviePrefix", - "baseName": "MoviePrefix", - "type": "string" - }, - { - "name": "preferredLanguage", - "baseName": "PreferredLanguage", - "type": "string" - }, - { - "name": "userAgent", - "baseName": "UserAgent", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return ListingsProviderInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/liveStreamResponse.ts b/jellyfin/model/liveStreamResponse.ts deleted file mode 100644 index e88bd98..0000000 --- a/jellyfin/model/liveStreamResponse.ts +++ /dev/null @@ -1,32 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { LiveStreamResponseMediaSource } from './liveStreamResponseMediaSource'; - -export class LiveStreamResponse { - 'mediaSource'?: LiveStreamResponseMediaSource; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "mediaSource", - "baseName": "MediaSource", - "type": "LiveStreamResponseMediaSource" - } ]; - - static getAttributeTypeMap() { - return LiveStreamResponse.attributeTypeMap; - } -} - diff --git a/jellyfin/model/liveStreamResponseMediaSource.ts b/jellyfin/model/liveStreamResponseMediaSource.ts deleted file mode 100644 index 95aa512..0000000 --- a/jellyfin/model/liveStreamResponseMediaSource.ts +++ /dev/null @@ -1,290 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { IsoType } from './isoType'; -import { MediaAttachment } from './mediaAttachment'; -import { MediaProtocol } from './mediaProtocol'; -import { MediaSourceType } from './mediaSourceType'; -import { MediaStream } from './mediaStream'; -import { TransportStreamTimestamp } from './transportStreamTimestamp'; -import { Video3DFormat } from './video3DFormat'; -import { VideoType } from './videoType'; - -export class LiveStreamResponseMediaSource { - 'protocol'?: MediaProtocol; - 'id'?: string | null; - 'path'?: string | null; - 'encoderPath'?: string | null; - 'encoderProtocol'?: MediaProtocol | null; - 'type'?: MediaSourceType; - 'container'?: string | null; - 'size'?: number | null; - 'name'?: string | null; - /** - * Gets or sets a value indicating whether the media is remote. Differentiate internet url vs local network. - */ - 'isRemote'?: boolean; - 'eTag'?: string | null; - 'runTimeTicks'?: number | null; - 'readAtNativeFramerate'?: boolean; - 'ignoreDts'?: boolean; - 'ignoreIndex'?: boolean; - 'genPtsInput'?: boolean; - 'supportsTranscoding'?: boolean; - 'supportsDirectStream'?: boolean; - 'supportsDirectPlay'?: boolean; - 'isInfiniteStream'?: boolean; - 'requiresOpening'?: boolean; - 'openToken'?: string | null; - 'requiresClosing'?: boolean; - 'liveStreamId'?: string | null; - 'bufferMs'?: number | null; - 'requiresLooping'?: boolean; - 'supportsProbing'?: boolean; - 'videoType'?: VideoType | null; - 'isoType'?: IsoType | null; - 'video3DFormat'?: Video3DFormat | null; - 'mediaStreams'?: Array | null; - 'mediaAttachments'?: Array | null; - 'formats'?: Array | null; - 'bitrate'?: number | null; - 'timestamp'?: TransportStreamTimestamp | null; - 'requiredHttpHeaders'?: { [key: string]: string; } | null; - 'transcodingUrl'?: string | null; - 'transcodingSubProtocol'?: string | null; - 'transcodingContainer'?: string | null; - 'analyzeDurationMs'?: number | null; - 'defaultAudioStreamIndex'?: number | null; - 'defaultSubtitleStreamIndex'?: number | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "protocol", - "baseName": "Protocol", - "type": "MediaProtocol" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "encoderPath", - "baseName": "EncoderPath", - "type": "string" - }, - { - "name": "encoderProtocol", - "baseName": "EncoderProtocol", - "type": "MediaProtocol" - }, - { - "name": "type", - "baseName": "Type", - "type": "MediaSourceType" - }, - { - "name": "container", - "baseName": "Container", - "type": "string" - }, - { - "name": "size", - "baseName": "Size", - "type": "number" - }, - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "isRemote", - "baseName": "IsRemote", - "type": "boolean" - }, - { - "name": "eTag", - "baseName": "ETag", - "type": "string" - }, - { - "name": "runTimeTicks", - "baseName": "RunTimeTicks", - "type": "number" - }, - { - "name": "readAtNativeFramerate", - "baseName": "ReadAtNativeFramerate", - "type": "boolean" - }, - { - "name": "ignoreDts", - "baseName": "IgnoreDts", - "type": "boolean" - }, - { - "name": "ignoreIndex", - "baseName": "IgnoreIndex", - "type": "boolean" - }, - { - "name": "genPtsInput", - "baseName": "GenPtsInput", - "type": "boolean" - }, - { - "name": "supportsTranscoding", - "baseName": "SupportsTranscoding", - "type": "boolean" - }, - { - "name": "supportsDirectStream", - "baseName": "SupportsDirectStream", - "type": "boolean" - }, - { - "name": "supportsDirectPlay", - "baseName": "SupportsDirectPlay", - "type": "boolean" - }, - { - "name": "isInfiniteStream", - "baseName": "IsInfiniteStream", - "type": "boolean" - }, - { - "name": "requiresOpening", - "baseName": "RequiresOpening", - "type": "boolean" - }, - { - "name": "openToken", - "baseName": "OpenToken", - "type": "string" - }, - { - "name": "requiresClosing", - "baseName": "RequiresClosing", - "type": "boolean" - }, - { - "name": "liveStreamId", - "baseName": "LiveStreamId", - "type": "string" - }, - { - "name": "bufferMs", - "baseName": "BufferMs", - "type": "number" - }, - { - "name": "requiresLooping", - "baseName": "RequiresLooping", - "type": "boolean" - }, - { - "name": "supportsProbing", - "baseName": "SupportsProbing", - "type": "boolean" - }, - { - "name": "videoType", - "baseName": "VideoType", - "type": "VideoType" - }, - { - "name": "isoType", - "baseName": "IsoType", - "type": "IsoType" - }, - { - "name": "video3DFormat", - "baseName": "Video3DFormat", - "type": "Video3DFormat" - }, - { - "name": "mediaStreams", - "baseName": "MediaStreams", - "type": "Array" - }, - { - "name": "mediaAttachments", - "baseName": "MediaAttachments", - "type": "Array" - }, - { - "name": "formats", - "baseName": "Formats", - "type": "Array" - }, - { - "name": "bitrate", - "baseName": "Bitrate", - "type": "number" - }, - { - "name": "timestamp", - "baseName": "Timestamp", - "type": "TransportStreamTimestamp" - }, - { - "name": "requiredHttpHeaders", - "baseName": "RequiredHttpHeaders", - "type": "{ [key: string]: string; }" - }, - { - "name": "transcodingUrl", - "baseName": "TranscodingUrl", - "type": "string" - }, - { - "name": "transcodingSubProtocol", - "baseName": "TranscodingSubProtocol", - "type": "string" - }, - { - "name": "transcodingContainer", - "baseName": "TranscodingContainer", - "type": "string" - }, - { - "name": "analyzeDurationMs", - "baseName": "AnalyzeDurationMs", - "type": "number" - }, - { - "name": "defaultAudioStreamIndex", - "baseName": "DefaultAudioStreamIndex", - "type": "number" - }, - { - "name": "defaultSubtitleStreamIndex", - "baseName": "DefaultSubtitleStreamIndex", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return LiveStreamResponseMediaSource.attributeTypeMap; - } -} - -export namespace LiveStreamResponseMediaSource { -} diff --git a/jellyfin/model/liveTvInfo.ts b/jellyfin/model/liveTvInfo.ts deleted file mode 100644 index 0f23fe7..0000000 --- a/jellyfin/model/liveTvInfo.ts +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { LiveTvServiceInfo } from './liveTvServiceInfo'; - -export class LiveTvInfo { - /** - * Gets or sets the services. - */ - 'services'?: Array; - /** - * Gets or sets a value indicating whether this instance is enabled. - */ - 'isEnabled'?: boolean; - /** - * Gets or sets the enabled users. - */ - 'enabledUsers'?: Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "services", - "baseName": "Services", - "type": "Array" - }, - { - "name": "isEnabled", - "baseName": "IsEnabled", - "type": "boolean" - }, - { - "name": "enabledUsers", - "baseName": "EnabledUsers", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return LiveTvInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/liveTvOptions.ts b/jellyfin/model/liveTvOptions.ts deleted file mode 100644 index bab82c6..0000000 --- a/jellyfin/model/liveTvOptions.ts +++ /dev/null @@ -1,105 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ListingsProviderInfo } from './listingsProviderInfo'; -import { TunerHostInfo } from './tunerHostInfo'; - -export class LiveTvOptions { - 'guideDays'?: number | null; - 'recordingPath'?: string | null; - 'movieRecordingPath'?: string | null; - 'seriesRecordingPath'?: string | null; - 'enableRecordingSubfolders'?: boolean; - 'enableOriginalAudioWithEncodedRecordings'?: boolean; - 'tunerHosts'?: Array | null; - 'listingProviders'?: Array | null; - 'prePaddingSeconds'?: number; - 'postPaddingSeconds'?: number; - 'mediaLocationsCreated'?: Array | null; - 'recordingPostProcessor'?: string | null; - 'recordingPostProcessorArguments'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "guideDays", - "baseName": "GuideDays", - "type": "number" - }, - { - "name": "recordingPath", - "baseName": "RecordingPath", - "type": "string" - }, - { - "name": "movieRecordingPath", - "baseName": "MovieRecordingPath", - "type": "string" - }, - { - "name": "seriesRecordingPath", - "baseName": "SeriesRecordingPath", - "type": "string" - }, - { - "name": "enableRecordingSubfolders", - "baseName": "EnableRecordingSubfolders", - "type": "boolean" - }, - { - "name": "enableOriginalAudioWithEncodedRecordings", - "baseName": "EnableOriginalAudioWithEncodedRecordings", - "type": "boolean" - }, - { - "name": "tunerHosts", - "baseName": "TunerHosts", - "type": "Array" - }, - { - "name": "listingProviders", - "baseName": "ListingProviders", - "type": "Array" - }, - { - "name": "prePaddingSeconds", - "baseName": "PrePaddingSeconds", - "type": "number" - }, - { - "name": "postPaddingSeconds", - "baseName": "PostPaddingSeconds", - "type": "number" - }, - { - "name": "mediaLocationsCreated", - "baseName": "MediaLocationsCreated", - "type": "Array" - }, - { - "name": "recordingPostProcessor", - "baseName": "RecordingPostProcessor", - "type": "string" - }, - { - "name": "recordingPostProcessorArguments", - "baseName": "RecordingPostProcessorArguments", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return LiveTvOptions.attributeTypeMap; - } -} - diff --git a/jellyfin/model/liveTvServiceInfo.ts b/jellyfin/model/liveTvServiceInfo.ts deleted file mode 100644 index 3e04156..0000000 --- a/jellyfin/model/liveTvServiceInfo.ts +++ /dev/null @@ -1,97 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { LiveTvServiceStatus } from './liveTvServiceStatus'; - -/** -* Class ServiceInfo. -*/ -export class LiveTvServiceInfo { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the home page URL. - */ - 'homePageUrl'?: string | null; - 'status'?: LiveTvServiceStatus; - /** - * Gets or sets the status message. - */ - 'statusMessage'?: string | null; - /** - * Gets or sets the version. - */ - 'version'?: string | null; - /** - * Gets or sets a value indicating whether this instance has update available. - */ - 'hasUpdateAvailable'?: boolean; - /** - * Gets or sets a value indicating whether this instance is visible. - */ - 'isVisible'?: boolean; - 'tuners'?: Array | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "homePageUrl", - "baseName": "HomePageUrl", - "type": "string" - }, - { - "name": "status", - "baseName": "Status", - "type": "LiveTvServiceStatus" - }, - { - "name": "statusMessage", - "baseName": "StatusMessage", - "type": "string" - }, - { - "name": "version", - "baseName": "Version", - "type": "string" - }, - { - "name": "hasUpdateAvailable", - "baseName": "HasUpdateAvailable", - "type": "boolean" - }, - { - "name": "isVisible", - "baseName": "IsVisible", - "type": "boolean" - }, - { - "name": "tuners", - "baseName": "Tuners", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return LiveTvServiceInfo.attributeTypeMap; - } -} - -export namespace LiveTvServiceInfo { -} diff --git a/jellyfin/model/liveTvServiceStatus.ts b/jellyfin/model/liveTvServiceStatus.ts deleted file mode 100644 index 55c4a18..0000000 --- a/jellyfin/model/liveTvServiceStatus.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum LiveTvServiceStatus { - Ok = 'Ok', - Unavailable = 'Unavailable' -} diff --git a/jellyfin/model/localizationOption.ts b/jellyfin/model/localizationOption.ts deleted file mode 100644 index a9c8956..0000000 --- a/jellyfin/model/localizationOption.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class LocalizationOption { - 'name'?: string | null; - 'value'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "value", - "baseName": "Value", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return LocalizationOption.attributeTypeMap; - } -} - diff --git a/jellyfin/model/locationType.ts b/jellyfin/model/locationType.ts deleted file mode 100644 index b370a12..0000000 --- a/jellyfin/model/locationType.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Enum LocationType. -*/ -export enum LocationType { - FileSystem = 'FileSystem', - Remote = 'Remote', - Virtual = 'Virtual', - Offline = 'Offline' -} diff --git a/jellyfin/model/logFile.ts b/jellyfin/model/logFile.ts deleted file mode 100644 index cbbb500..0000000 --- a/jellyfin/model/logFile.ts +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class LogFile { - /** - * Gets or sets the date created. - */ - 'dateCreated'?: Date; - /** - * Gets or sets the date modified. - */ - 'dateModified'?: Date; - /** - * Gets or sets the size. - */ - 'size'?: number; - /** - * Gets or sets the name. - */ - 'name'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "dateCreated", - "baseName": "DateCreated", - "type": "Date" - }, - { - "name": "dateModified", - "baseName": "DateModified", - "type": "Date" - }, - { - "name": "size", - "baseName": "Size", - "type": "number" - }, - { - "name": "name", - "baseName": "Name", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return LogFile.attributeTypeMap; - } -} - diff --git a/jellyfin/model/logLevel.ts b/jellyfin/model/logLevel.ts deleted file mode 100644 index 568b646..0000000 --- a/jellyfin/model/logLevel.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum LogLevel { - Trace = 'Trace', - Debug = 'Debug', - Information = 'Information', - Warning = 'Warning', - Error = 'Error', - Critical = 'Critical', - None = 'None' -} diff --git a/jellyfin/model/mediaAttachment.ts b/jellyfin/model/mediaAttachment.ts deleted file mode 100644 index df984cb..0000000 --- a/jellyfin/model/mediaAttachment.ts +++ /dev/null @@ -1,91 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class MediaAttachment. -*/ -export class MediaAttachment { - /** - * Gets or sets the codec. - */ - 'codec'?: string | null; - /** - * Gets or sets the codec tag. - */ - 'codecTag'?: string | null; - /** - * Gets or sets the comment. - */ - 'comment'?: string | null; - /** - * Gets or sets the index. - */ - 'index'?: number; - /** - * Gets or sets the filename. - */ - 'fileName'?: string | null; - /** - * Gets or sets the MIME type. - */ - 'mimeType'?: string | null; - /** - * Gets or sets the delivery URL. - */ - 'deliveryUrl'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "codec", - "baseName": "Codec", - "type": "string" - }, - { - "name": "codecTag", - "baseName": "CodecTag", - "type": "string" - }, - { - "name": "comment", - "baseName": "Comment", - "type": "string" - }, - { - "name": "index", - "baseName": "Index", - "type": "number" - }, - { - "name": "fileName", - "baseName": "FileName", - "type": "string" - }, - { - "name": "mimeType", - "baseName": "MimeType", - "type": "string" - }, - { - "name": "deliveryUrl", - "baseName": "DeliveryUrl", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return MediaAttachment.attributeTypeMap; - } -} - diff --git a/jellyfin/model/mediaEncoderPathDto.ts b/jellyfin/model/mediaEncoderPathDto.ts deleted file mode 100644 index 2f48205..0000000 --- a/jellyfin/model/mediaEncoderPathDto.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Media Encoder Path Dto. -*/ -export class MediaEncoderPathDto { - /** - * Gets or sets media encoder path. - */ - 'path'?: string; - /** - * Gets or sets media encoder path type. - */ - 'pathType'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "pathType", - "baseName": "PathType", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return MediaEncoderPathDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/mediaPathDto.ts b/jellyfin/model/mediaPathDto.ts deleted file mode 100644 index 936e2fb..0000000 --- a/jellyfin/model/mediaPathDto.ts +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { MediaPathDtoPathInfo } from './mediaPathDtoPathInfo'; - -/** -* Media Path dto. -*/ -export class MediaPathDto { - /** - * Gets or sets the name of the library. - */ - 'name': string; - /** - * Gets or sets the path to add. - */ - 'path'?: string | null; - 'pathInfo'?: MediaPathDtoPathInfo | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "pathInfo", - "baseName": "PathInfo", - "type": "MediaPathDtoPathInfo" - } ]; - - static getAttributeTypeMap() { - return MediaPathDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/mediaPathDtoPathInfo.ts b/jellyfin/model/mediaPathDtoPathInfo.ts deleted file mode 100644 index 8c796e5..0000000 --- a/jellyfin/model/mediaPathDtoPathInfo.ts +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Gets or sets the path info. -*/ -export class MediaPathDtoPathInfo { - 'path'?: string; - 'networkPath'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "networkPath", - "baseName": "NetworkPath", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return MediaPathDtoPathInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/mediaPathInfo.ts b/jellyfin/model/mediaPathInfo.ts deleted file mode 100644 index 3ebdda8..0000000 --- a/jellyfin/model/mediaPathInfo.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class MediaPathInfo { - 'path'?: string; - 'networkPath'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "networkPath", - "baseName": "NetworkPath", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return MediaPathInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/mediaProtocol.ts b/jellyfin/model/mediaProtocol.ts deleted file mode 100644 index 94e6c59..0000000 --- a/jellyfin/model/mediaProtocol.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum MediaProtocol { - File = 'File', - Http = 'Http', - Rtmp = 'Rtmp', - Rtsp = 'Rtsp', - Udp = 'Udp', - Rtp = 'Rtp', - Ftp = 'Ftp' -} diff --git a/jellyfin/model/mediaSourceInfo.ts b/jellyfin/model/mediaSourceInfo.ts deleted file mode 100644 index d18e01a..0000000 --- a/jellyfin/model/mediaSourceInfo.ts +++ /dev/null @@ -1,290 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { IsoType } from './isoType'; -import { MediaAttachment } from './mediaAttachment'; -import { MediaProtocol } from './mediaProtocol'; -import { MediaSourceType } from './mediaSourceType'; -import { MediaStream } from './mediaStream'; -import { TransportStreamTimestamp } from './transportStreamTimestamp'; -import { Video3DFormat } from './video3DFormat'; -import { VideoType } from './videoType'; - -export class MediaSourceInfo { - 'protocol'?: MediaProtocol; - 'id'?: string | null; - 'path'?: string | null; - 'encoderPath'?: string | null; - 'encoderProtocol'?: MediaProtocol | null; - 'type'?: MediaSourceType; - 'container'?: string | null; - 'size'?: number | null; - 'name'?: string | null; - /** - * Gets or sets a value indicating whether the media is remote. Differentiate internet url vs local network. - */ - 'isRemote'?: boolean; - 'eTag'?: string | null; - 'runTimeTicks'?: number | null; - 'readAtNativeFramerate'?: boolean; - 'ignoreDts'?: boolean; - 'ignoreIndex'?: boolean; - 'genPtsInput'?: boolean; - 'supportsTranscoding'?: boolean; - 'supportsDirectStream'?: boolean; - 'supportsDirectPlay'?: boolean; - 'isInfiniteStream'?: boolean; - 'requiresOpening'?: boolean; - 'openToken'?: string | null; - 'requiresClosing'?: boolean; - 'liveStreamId'?: string | null; - 'bufferMs'?: number | null; - 'requiresLooping'?: boolean; - 'supportsProbing'?: boolean; - 'videoType'?: VideoType | null; - 'isoType'?: IsoType | null; - 'video3DFormat'?: Video3DFormat | null; - 'mediaStreams'?: Array | null; - 'mediaAttachments'?: Array | null; - 'formats'?: Array | null; - 'bitrate'?: number | null; - 'timestamp'?: TransportStreamTimestamp | null; - 'requiredHttpHeaders'?: { [key: string]: string; } | null; - 'transcodingUrl'?: string | null; - 'transcodingSubProtocol'?: string | null; - 'transcodingContainer'?: string | null; - 'analyzeDurationMs'?: number | null; - 'defaultAudioStreamIndex'?: number | null; - 'defaultSubtitleStreamIndex'?: number | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "protocol", - "baseName": "Protocol", - "type": "MediaProtocol" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "encoderPath", - "baseName": "EncoderPath", - "type": "string" - }, - { - "name": "encoderProtocol", - "baseName": "EncoderProtocol", - "type": "MediaProtocol" - }, - { - "name": "type", - "baseName": "Type", - "type": "MediaSourceType" - }, - { - "name": "container", - "baseName": "Container", - "type": "string" - }, - { - "name": "size", - "baseName": "Size", - "type": "number" - }, - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "isRemote", - "baseName": "IsRemote", - "type": "boolean" - }, - { - "name": "eTag", - "baseName": "ETag", - "type": "string" - }, - { - "name": "runTimeTicks", - "baseName": "RunTimeTicks", - "type": "number" - }, - { - "name": "readAtNativeFramerate", - "baseName": "ReadAtNativeFramerate", - "type": "boolean" - }, - { - "name": "ignoreDts", - "baseName": "IgnoreDts", - "type": "boolean" - }, - { - "name": "ignoreIndex", - "baseName": "IgnoreIndex", - "type": "boolean" - }, - { - "name": "genPtsInput", - "baseName": "GenPtsInput", - "type": "boolean" - }, - { - "name": "supportsTranscoding", - "baseName": "SupportsTranscoding", - "type": "boolean" - }, - { - "name": "supportsDirectStream", - "baseName": "SupportsDirectStream", - "type": "boolean" - }, - { - "name": "supportsDirectPlay", - "baseName": "SupportsDirectPlay", - "type": "boolean" - }, - { - "name": "isInfiniteStream", - "baseName": "IsInfiniteStream", - "type": "boolean" - }, - { - "name": "requiresOpening", - "baseName": "RequiresOpening", - "type": "boolean" - }, - { - "name": "openToken", - "baseName": "OpenToken", - "type": "string" - }, - { - "name": "requiresClosing", - "baseName": "RequiresClosing", - "type": "boolean" - }, - { - "name": "liveStreamId", - "baseName": "LiveStreamId", - "type": "string" - }, - { - "name": "bufferMs", - "baseName": "BufferMs", - "type": "number" - }, - { - "name": "requiresLooping", - "baseName": "RequiresLooping", - "type": "boolean" - }, - { - "name": "supportsProbing", - "baseName": "SupportsProbing", - "type": "boolean" - }, - { - "name": "videoType", - "baseName": "VideoType", - "type": "VideoType" - }, - { - "name": "isoType", - "baseName": "IsoType", - "type": "IsoType" - }, - { - "name": "video3DFormat", - "baseName": "Video3DFormat", - "type": "Video3DFormat" - }, - { - "name": "mediaStreams", - "baseName": "MediaStreams", - "type": "Array" - }, - { - "name": "mediaAttachments", - "baseName": "MediaAttachments", - "type": "Array" - }, - { - "name": "formats", - "baseName": "Formats", - "type": "Array" - }, - { - "name": "bitrate", - "baseName": "Bitrate", - "type": "number" - }, - { - "name": "timestamp", - "baseName": "Timestamp", - "type": "TransportStreamTimestamp" - }, - { - "name": "requiredHttpHeaders", - "baseName": "RequiredHttpHeaders", - "type": "{ [key: string]: string; }" - }, - { - "name": "transcodingUrl", - "baseName": "TranscodingUrl", - "type": "string" - }, - { - "name": "transcodingSubProtocol", - "baseName": "TranscodingSubProtocol", - "type": "string" - }, - { - "name": "transcodingContainer", - "baseName": "TranscodingContainer", - "type": "string" - }, - { - "name": "analyzeDurationMs", - "baseName": "AnalyzeDurationMs", - "type": "number" - }, - { - "name": "defaultAudioStreamIndex", - "baseName": "DefaultAudioStreamIndex", - "type": "number" - }, - { - "name": "defaultSubtitleStreamIndex", - "baseName": "DefaultSubtitleStreamIndex", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return MediaSourceInfo.attributeTypeMap; - } -} - -export namespace MediaSourceInfo { -} diff --git a/jellyfin/model/mediaSourceType.ts b/jellyfin/model/mediaSourceType.ts deleted file mode 100644 index b3d39cb..0000000 --- a/jellyfin/model/mediaSourceType.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum MediaSourceType { - Default = 'Default', - Grouping = 'Grouping', - Placeholder = 'Placeholder' -} diff --git a/jellyfin/model/mediaStream.ts b/jellyfin/model/mediaStream.ts deleted file mode 100644 index 4c92a9a..0000000 --- a/jellyfin/model/mediaStream.ts +++ /dev/null @@ -1,524 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { MediaStreamType } from './mediaStreamType'; -import { SubtitleDeliveryMethod } from './subtitleDeliveryMethod'; - -/** -* Class MediaStream. -*/ -export class MediaStream { - /** - * Gets or sets the codec. - */ - 'codec'?: string | null; - /** - * Gets or sets the codec tag. - */ - 'codecTag'?: string | null; - /** - * Gets or sets the language. - */ - 'language'?: string | null; - /** - * Gets or sets the color range. - */ - 'colorRange'?: string | null; - /** - * Gets or sets the color space. - */ - 'colorSpace'?: string | null; - /** - * Gets or sets the color transfer. - */ - 'colorTransfer'?: string | null; - /** - * Gets or sets the color primaries. - */ - 'colorPrimaries'?: string | null; - /** - * Gets or sets the Dolby Vision version major. - */ - 'dvVersionMajor'?: number | null; - /** - * Gets or sets the Dolby Vision version minor. - */ - 'dvVersionMinor'?: number | null; - /** - * Gets or sets the Dolby Vision profile. - */ - 'dvProfile'?: number | null; - /** - * Gets or sets the Dolby Vision level. - */ - 'dvLevel'?: number | null; - /** - * Gets or sets the Dolby Vision rpu present flag. - */ - 'rpuPresentFlag'?: number | null; - /** - * Gets or sets the Dolby Vision el present flag. - */ - 'elPresentFlag'?: number | null; - /** - * Gets or sets the Dolby Vision bl present flag. - */ - 'blPresentFlag'?: number | null; - /** - * Gets or sets the Dolby Vision bl signal compatibility id. - */ - 'dvBlSignalCompatibilityId'?: number | null; - /** - * Gets or sets the comment. - */ - 'comment'?: string | null; - /** - * Gets or sets the time base. - */ - 'timeBase'?: string | null; - /** - * Gets or sets the codec time base. - */ - 'codecTimeBase'?: string | null; - /** - * Gets or sets the title. - */ - 'title'?: string | null; - /** - * Gets the video range. - */ - 'videoRange'?: string | null; - /** - * Gets the video range type. - */ - 'videoRangeType'?: string | null; - /** - * Gets the video dovi title. - */ - 'videoDoViTitle'?: string | null; - 'localizedUndefined'?: string | null; - 'localizedDefault'?: string | null; - 'localizedForced'?: string | null; - 'localizedExternal'?: string | null; - 'displayTitle'?: string | null; - 'nalLengthSize'?: string | null; - /** - * Gets or sets a value indicating whether this instance is interlaced. - */ - 'isInterlaced'?: boolean; - 'isAVC'?: boolean | null; - /** - * Gets or sets the channel layout. - */ - 'channelLayout'?: string | null; - /** - * Gets or sets the bit rate. - */ - 'bitRate'?: number | null; - /** - * Gets or sets the bit depth. - */ - 'bitDepth'?: number | null; - /** - * Gets or sets the reference frames. - */ - 'refFrames'?: number | null; - /** - * Gets or sets the length of the packet. - */ - 'packetLength'?: number | null; - /** - * Gets or sets the channels. - */ - 'channels'?: number | null; - /** - * Gets or sets the sample rate. - */ - 'sampleRate'?: number | null; - /** - * Gets or sets a value indicating whether this instance is default. - */ - 'isDefault'?: boolean; - /** - * Gets or sets a value indicating whether this instance is forced. - */ - 'isForced'?: boolean; - /** - * Gets or sets the height. - */ - 'height'?: number | null; - /** - * Gets or sets the width. - */ - 'width'?: number | null; - /** - * Gets or sets the average frame rate. - */ - 'averageFrameRate'?: number | null; - /** - * Gets or sets the real frame rate. - */ - 'realFrameRate'?: number | null; - /** - * Gets or sets the profile. - */ - 'profile'?: string | null; - 'type'?: MediaStreamType; - /** - * Gets or sets the aspect ratio. - */ - 'aspectRatio'?: string | null; - /** - * Gets or sets the index. - */ - 'index'?: number; - /** - * Gets or sets the score. - */ - 'score'?: number | null; - /** - * Gets or sets a value indicating whether this instance is external. - */ - 'isExternal'?: boolean; - 'deliveryMethod'?: SubtitleDeliveryMethod | null; - /** - * Gets or sets the delivery URL. - */ - 'deliveryUrl'?: string | null; - /** - * Gets or sets a value indicating whether this instance is external URL. - */ - 'isExternalUrl'?: boolean | null; - 'isTextSubtitleStream'?: boolean; - /** - * Gets or sets a value indicating whether [supports external stream]. - */ - 'supportsExternalStream'?: boolean; - /** - * Gets or sets the filename. - */ - 'path'?: string | null; - /** - * Gets or sets the pixel format. - */ - 'pixelFormat'?: string | null; - /** - * Gets or sets the level. - */ - 'level'?: number | null; - /** - * Gets or sets whether this instance is anamorphic. - */ - 'isAnamorphic'?: boolean | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "codec", - "baseName": "Codec", - "type": "string" - }, - { - "name": "codecTag", - "baseName": "CodecTag", - "type": "string" - }, - { - "name": "language", - "baseName": "Language", - "type": "string" - }, - { - "name": "colorRange", - "baseName": "ColorRange", - "type": "string" - }, - { - "name": "colorSpace", - "baseName": "ColorSpace", - "type": "string" - }, - { - "name": "colorTransfer", - "baseName": "ColorTransfer", - "type": "string" - }, - { - "name": "colorPrimaries", - "baseName": "ColorPrimaries", - "type": "string" - }, - { - "name": "dvVersionMajor", - "baseName": "DvVersionMajor", - "type": "number" - }, - { - "name": "dvVersionMinor", - "baseName": "DvVersionMinor", - "type": "number" - }, - { - "name": "dvProfile", - "baseName": "DvProfile", - "type": "number" - }, - { - "name": "dvLevel", - "baseName": "DvLevel", - "type": "number" - }, - { - "name": "rpuPresentFlag", - "baseName": "RpuPresentFlag", - "type": "number" - }, - { - "name": "elPresentFlag", - "baseName": "ElPresentFlag", - "type": "number" - }, - { - "name": "blPresentFlag", - "baseName": "BlPresentFlag", - "type": "number" - }, - { - "name": "dvBlSignalCompatibilityId", - "baseName": "DvBlSignalCompatibilityId", - "type": "number" - }, - { - "name": "comment", - "baseName": "Comment", - "type": "string" - }, - { - "name": "timeBase", - "baseName": "TimeBase", - "type": "string" - }, - { - "name": "codecTimeBase", - "baseName": "CodecTimeBase", - "type": "string" - }, - { - "name": "title", - "baseName": "Title", - "type": "string" - }, - { - "name": "videoRange", - "baseName": "VideoRange", - "type": "string" - }, - { - "name": "videoRangeType", - "baseName": "VideoRangeType", - "type": "string" - }, - { - "name": "videoDoViTitle", - "baseName": "VideoDoViTitle", - "type": "string" - }, - { - "name": "localizedUndefined", - "baseName": "LocalizedUndefined", - "type": "string" - }, - { - "name": "localizedDefault", - "baseName": "LocalizedDefault", - "type": "string" - }, - { - "name": "localizedForced", - "baseName": "LocalizedForced", - "type": "string" - }, - { - "name": "localizedExternal", - "baseName": "LocalizedExternal", - "type": "string" - }, - { - "name": "displayTitle", - "baseName": "DisplayTitle", - "type": "string" - }, - { - "name": "nalLengthSize", - "baseName": "NalLengthSize", - "type": "string" - }, - { - "name": "isInterlaced", - "baseName": "IsInterlaced", - "type": "boolean" - }, - { - "name": "isAVC", - "baseName": "IsAVC", - "type": "boolean" - }, - { - "name": "channelLayout", - "baseName": "ChannelLayout", - "type": "string" - }, - { - "name": "bitRate", - "baseName": "BitRate", - "type": "number" - }, - { - "name": "bitDepth", - "baseName": "BitDepth", - "type": "number" - }, - { - "name": "refFrames", - "baseName": "RefFrames", - "type": "number" - }, - { - "name": "packetLength", - "baseName": "PacketLength", - "type": "number" - }, - { - "name": "channels", - "baseName": "Channels", - "type": "number" - }, - { - "name": "sampleRate", - "baseName": "SampleRate", - "type": "number" - }, - { - "name": "isDefault", - "baseName": "IsDefault", - "type": "boolean" - }, - { - "name": "isForced", - "baseName": "IsForced", - "type": "boolean" - }, - { - "name": "height", - "baseName": "Height", - "type": "number" - }, - { - "name": "width", - "baseName": "Width", - "type": "number" - }, - { - "name": "averageFrameRate", - "baseName": "AverageFrameRate", - "type": "number" - }, - { - "name": "realFrameRate", - "baseName": "RealFrameRate", - "type": "number" - }, - { - "name": "profile", - "baseName": "Profile", - "type": "string" - }, - { - "name": "type", - "baseName": "Type", - "type": "MediaStreamType" - }, - { - "name": "aspectRatio", - "baseName": "AspectRatio", - "type": "string" - }, - { - "name": "index", - "baseName": "Index", - "type": "number" - }, - { - "name": "score", - "baseName": "Score", - "type": "number" - }, - { - "name": "isExternal", - "baseName": "IsExternal", - "type": "boolean" - }, - { - "name": "deliveryMethod", - "baseName": "DeliveryMethod", - "type": "SubtitleDeliveryMethod" - }, - { - "name": "deliveryUrl", - "baseName": "DeliveryUrl", - "type": "string" - }, - { - "name": "isExternalUrl", - "baseName": "IsExternalUrl", - "type": "boolean" - }, - { - "name": "isTextSubtitleStream", - "baseName": "IsTextSubtitleStream", - "type": "boolean" - }, - { - "name": "supportsExternalStream", - "baseName": "SupportsExternalStream", - "type": "boolean" - }, - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "pixelFormat", - "baseName": "PixelFormat", - "type": "string" - }, - { - "name": "level", - "baseName": "Level", - "type": "number" - }, - { - "name": "isAnamorphic", - "baseName": "IsAnamorphic", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return MediaStream.attributeTypeMap; - } -} - -export namespace MediaStream { -} diff --git a/jellyfin/model/mediaStreamType.ts b/jellyfin/model/mediaStreamType.ts deleted file mode 100644 index faaf803..0000000 --- a/jellyfin/model/mediaStreamType.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Enum MediaStreamType. -*/ -export enum MediaStreamType { - Audio = 'Audio', - Video = 'Video', - Subtitle = 'Subtitle', - EmbeddedImage = 'EmbeddedImage', - Data = 'Data' -} diff --git a/jellyfin/model/mediaUpdateInfoDto.ts b/jellyfin/model/mediaUpdateInfoDto.ts deleted file mode 100644 index 252b62c..0000000 --- a/jellyfin/model/mediaUpdateInfoDto.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { MediaUpdateInfoPathDto } from './mediaUpdateInfoPathDto'; - -/** -* Media Update Info Dto. -*/ -export class MediaUpdateInfoDto { - /** - * Gets or sets the list of updates. - */ - 'updates'?: Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "updates", - "baseName": "Updates", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return MediaUpdateInfoDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/mediaUpdateInfoPathDto.ts b/jellyfin/model/mediaUpdateInfoPathDto.ts deleted file mode 100644 index 1fb50b8..0000000 --- a/jellyfin/model/mediaUpdateInfoPathDto.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* The media update info path. -*/ -export class MediaUpdateInfoPathDto { - /** - * Gets or sets media path. - */ - 'path'?: string | null; - /** - * Gets or sets media update type. Created, Modified, Deleted. - */ - 'updateType'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "updateType", - "baseName": "UpdateType", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return MediaUpdateInfoPathDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/mediaUrl.ts b/jellyfin/model/mediaUrl.ts deleted file mode 100644 index 40a5304..0000000 --- a/jellyfin/model/mediaUrl.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class MediaUrl { - 'url'?: string | null; - 'name'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "url", - "baseName": "Url", - "type": "string" - }, - { - "name": "name", - "baseName": "Name", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return MediaUrl.attributeTypeMap; - } -} - diff --git a/jellyfin/model/messageCommand.ts b/jellyfin/model/messageCommand.ts deleted file mode 100644 index 143618f..0000000 --- a/jellyfin/model/messageCommand.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class MessageCommand { - 'header'?: string | null; - 'text': string; - 'timeoutMs'?: number | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "header", - "baseName": "Header", - "type": "string" - }, - { - "name": "text", - "baseName": "Text", - "type": "string" - }, - { - "name": "timeoutMs", - "baseName": "TimeoutMs", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return MessageCommand.attributeTypeMap; - } -} - diff --git a/jellyfin/model/metadataConfiguration.ts b/jellyfin/model/metadataConfiguration.ts deleted file mode 100644 index 615edad..0000000 --- a/jellyfin/model/metadataConfiguration.ts +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class MetadataConfiguration { - 'useFileCreationTimeForDateAdded'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "useFileCreationTimeForDateAdded", - "baseName": "UseFileCreationTimeForDateAdded", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return MetadataConfiguration.attributeTypeMap; - } -} - diff --git a/jellyfin/model/metadataEditorInfo.ts b/jellyfin/model/metadataEditorInfo.ts deleted file mode 100644 index ca2e8d9..0000000 --- a/jellyfin/model/metadataEditorInfo.ts +++ /dev/null @@ -1,66 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { CountryInfo } from './countryInfo'; -import { CultureDto } from './cultureDto'; -import { ExternalIdInfo } from './externalIdInfo'; -import { NameValuePair } from './nameValuePair'; -import { ParentalRating } from './parentalRating'; - -export class MetadataEditorInfo { - 'parentalRatingOptions'?: Array; - 'countries'?: Array; - 'cultures'?: Array; - 'externalIdInfos'?: Array; - 'contentType'?: string | null; - 'contentTypeOptions'?: Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "parentalRatingOptions", - "baseName": "ParentalRatingOptions", - "type": "Array" - }, - { - "name": "countries", - "baseName": "Countries", - "type": "Array" - }, - { - "name": "cultures", - "baseName": "Cultures", - "type": "Array" - }, - { - "name": "externalIdInfos", - "baseName": "ExternalIdInfos", - "type": "Array" - }, - { - "name": "contentType", - "baseName": "ContentType", - "type": "string" - }, - { - "name": "contentTypeOptions", - "baseName": "ContentTypeOptions", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return MetadataEditorInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/metadataField.ts b/jellyfin/model/metadataField.ts deleted file mode 100644 index cdabfdc..0000000 --- a/jellyfin/model/metadataField.ts +++ /dev/null @@ -1,28 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Enum MetadataFields. -*/ -export enum MetadataField { - Cast = 'Cast', - Genres = 'Genres', - ProductionLocations = 'ProductionLocations', - Studios = 'Studios', - Tags = 'Tags', - Name = 'Name', - Overview = 'Overview', - Runtime = 'Runtime', - OfficialRating = 'OfficialRating' -} diff --git a/jellyfin/model/metadataOptions.ts b/jellyfin/model/metadataOptions.ts deleted file mode 100644 index 3eb1d5c..0000000 --- a/jellyfin/model/metadataOptions.ts +++ /dev/null @@ -1,70 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class MetadataOptions. -*/ -export class MetadataOptions { - 'itemType'?: string | null; - 'disabledMetadataSavers'?: Array | null; - 'localMetadataReaderOrder'?: Array | null; - 'disabledMetadataFetchers'?: Array | null; - 'metadataFetcherOrder'?: Array | null; - 'disabledImageFetchers'?: Array | null; - 'imageFetcherOrder'?: Array | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "itemType", - "baseName": "ItemType", - "type": "string" - }, - { - "name": "disabledMetadataSavers", - "baseName": "DisabledMetadataSavers", - "type": "Array" - }, - { - "name": "localMetadataReaderOrder", - "baseName": "LocalMetadataReaderOrder", - "type": "Array" - }, - { - "name": "disabledMetadataFetchers", - "baseName": "DisabledMetadataFetchers", - "type": "Array" - }, - { - "name": "metadataFetcherOrder", - "baseName": "MetadataFetcherOrder", - "type": "Array" - }, - { - "name": "disabledImageFetchers", - "baseName": "DisabledImageFetchers", - "type": "Array" - }, - { - "name": "imageFetcherOrder", - "baseName": "ImageFetcherOrder", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return MetadataOptions.attributeTypeMap; - } -} - diff --git a/jellyfin/model/metadataRefreshMode.ts b/jellyfin/model/metadataRefreshMode.ts deleted file mode 100644 index 9c9f6a6..0000000 --- a/jellyfin/model/metadataRefreshMode.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum MetadataRefreshMode { - None = 'None', - ValidationOnly = 'ValidationOnly', - Default = 'Default', - FullRefresh = 'FullRefresh' -} diff --git a/jellyfin/model/models.ts b/jellyfin/model/models.ts deleted file mode 100644 index 984f3e1..0000000 --- a/jellyfin/model/models.ts +++ /dev/null @@ -1,1341 +0,0 @@ -import localVarRequest from 'request'; - -export * from './accessSchedule'; -export * from './activityLogEntry'; -export * from './activityLogEntryQueryResult'; -export * from './addListingProviderRequest'; -export * from './addMediaPathRequest'; -export * from './addTunerHostRequest'; -export * from './addVirtualFolderDto'; -export * from './addVirtualFolderDtoLibraryOptions'; -export * from './addVirtualFolderRequest'; -export * from './adminNotificationDto'; -export * from './albumInfo'; -export * from './albumInfoRemoteSearchQuery'; -export * from './allThemeMediaResult'; -export * from './allThemeMediaResultThemeVideosResult'; -export * from './applySearchCriteriaRequest'; -export * from './architecture'; -export * from './artistInfo'; -export * from './artistInfoRemoteSearchQuery'; -export * from './authenticateUserByName'; -export * from './authenticateUserByNameRequest'; -export * from './authenticateWithQuickConnectRequest'; -export * from './authenticationInfo'; -export * from './authenticationInfoQueryResult'; -export * from './authenticationResult'; -export * from './authenticationResultSessionInfo'; -export * from './authenticationResultUser'; -export * from './baseItem'; -export * from './baseItemDto'; -export * from './baseItemDtoCurrentProgram'; -export * from './baseItemDtoImageBlurHashes'; -export * from './baseItemDtoQueryResult'; -export * from './baseItemDtoUserData'; -export * from './baseItemKind'; -export * from './baseItemPerson'; -export * from './baseItemPersonImageBlurHashes'; -export * from './bookInfo'; -export * from './bookInfoRemoteSearchQuery'; -export * from './boxSetInfo'; -export * from './boxSetInfoRemoteSearchQuery'; -export * from './brandingOptions'; -export * from './bufferRequestDto'; -export * from './channelFeatures'; -export * from './channelItemSortField'; -export * from './channelMappingOptionsDto'; -export * from './channelMediaContentType'; -export * from './channelMediaType'; -export * from './channelType'; -export * from './chapterInfo'; -export * from './clientCapabilities'; -export * from './clientCapabilitiesDeviceProfile'; -export * from './clientCapabilitiesDto'; -export * from './clientCapabilitiesDtoDeviceProfile'; -export * from './clientLogDocumentResponseDto'; -export * from './codecProfile'; -export * from './codecType'; -export * from './collectionCreationResult'; -export * from './collectionTypeOptions'; -export * from './configImageTypes'; -export * from './configurationPageInfo'; -export * from './containerProfile'; -export * from './controlResponse'; -export * from './countryInfo'; -export * from './createAdminNotificationRequest'; -export * from './createPlaylistDto'; -export * from './createPlaylistRequest'; -export * from './createProfileRequest'; -export * from './createSeriesTimerRequest'; -export * from './createTimerRequest'; -export * from './createUserByName'; -export * from './createUserByNameRequest'; -export * from './cultureDto'; -export * from './dayOfWeek'; -export * from './dayPattern'; -export * from './defaultDirectoryBrowserInfoDto'; -export * from './deviceIdentification'; -export * from './deviceInfo'; -export * from './deviceInfoCapabilities'; -export * from './deviceInfoQueryResult'; -export * from './deviceOptions'; -export * from './deviceOptionsDto'; -export * from './deviceProfile'; -export * from './deviceProfileIdentification'; -export * from './deviceProfileInfo'; -export * from './deviceProfileType'; -export * from './directPlayProfile'; -export * from './displayPreferencesDto'; -export * from './dlnaOptions'; -export * from './dlnaProfileType'; -export * from './dynamicDayOfWeek'; -export * from './embeddedSubtitleOptions'; -export * from './encodingContext'; -export * from './encodingOptions'; -export * from './endPointInfo'; -export * from './externalIdInfo'; -export * from './externalIdMediaType'; -export * from './externalUrl'; -export * from './fFmpegLocation'; -export * from './fileSystemEntryInfo'; -export * from './fileSystemEntryType'; -export * from './fontFile'; -export * from './forgotPasswordAction'; -export * from './forgotPasswordDto'; -export * from './forgotPasswordPinDto'; -export * from './forgotPasswordPinRequest'; -export * from './forgotPasswordRequest'; -export * from './forgotPasswordResult'; -export * from './generalCommand'; -export * from './generalCommandType'; -export * from './getBookRemoteSearchResultsRequest'; -export * from './getBoxSetRemoteSearchResultsRequest'; -export * from './getMovieRemoteSearchResultsRequest'; -export * from './getMusicAlbumRemoteSearchResultsRequest'; -export * from './getMusicArtistRemoteSearchResultsRequest'; -export * from './getMusicVideoRemoteSearchResultsRequest'; -export * from './getPersonRemoteSearchResultsRequest'; -export * from './getPostedPlaybackInfoRequest'; -export * from './getProgramsDto'; -export * from './getProgramsRequest'; -export * from './getSeriesRemoteSearchResultsRequest'; -export * from './getTrailerRemoteSearchResultsRequest'; -export * from './groupInfoDto'; -export * from './groupQueueMode'; -export * from './groupRepeatMode'; -export * from './groupShuffleMode'; -export * from './groupStateType'; -export * from './groupUpdateType'; -export * from './guideInfo'; -export * from './hardwareEncodingType'; -export * from './headerMatchType'; -export * from './httpHeaderInfo'; -export * from './iPlugin'; -export * from './ignoreWaitRequestDto'; -export * from './imageByNameInfo'; -export * from './imageFormat'; -export * from './imageInfo'; -export * from './imageOption'; -export * from './imageOrientation'; -export * from './imageProviderInfo'; -export * from './imageSavingConvention'; -export * from './imageType'; -export * from './installationInfo'; -export * from './installationInfoPackageInfo'; -export * from './isoType'; -export * from './itemCounts'; -export * from './itemFields'; -export * from './itemFilter'; -export * from './joinGroupRequestDto'; -export * from './keepUntil'; -export * from './libraryOptionInfoDto'; -export * from './libraryOptions'; -export * from './libraryOptionsResultDto'; -export * from './libraryTypeOptionsDto'; -export * from './libraryUpdateInfo'; -export * from './listingsProviderInfo'; -export * from './liveStreamResponse'; -export * from './liveStreamResponseMediaSource'; -export * from './liveTvInfo'; -export * from './liveTvOptions'; -export * from './liveTvServiceInfo'; -export * from './liveTvServiceStatus'; -export * from './localizationOption'; -export * from './locationType'; -export * from './logFile'; -export * from './logLevel'; -export * from './mediaAttachment'; -export * from './mediaEncoderPathDto'; -export * from './mediaPathDto'; -export * from './mediaPathDtoPathInfo'; -export * from './mediaPathInfo'; -export * from './mediaProtocol'; -export * from './mediaSourceInfo'; -export * from './mediaSourceType'; -export * from './mediaStream'; -export * from './mediaStreamType'; -export * from './mediaUpdateInfoDto'; -export * from './mediaUpdateInfoPathDto'; -export * from './mediaUrl'; -export * from './messageCommand'; -export * from './metadataConfiguration'; -export * from './metadataEditorInfo'; -export * from './metadataField'; -export * from './metadataOptions'; -export * from './metadataRefreshMode'; -export * from './movePlaylistItemRequestDto'; -export * from './movieInfo'; -export * from './movieInfoRemoteSearchQuery'; -export * from './musicVideoInfo'; -export * from './musicVideoInfoRemoteSearchQuery'; -export * from './nameGuidPair'; -export * from './nameIdPair'; -export * from './nameValuePair'; -export * from './networkConfiguration'; -export * from './newGroupRequestDto'; -export * from './nextItemRequestDto'; -export * from './notificationDto'; -export * from './notificationLevel'; -export * from './notificationOption'; -export * from './notificationOptions'; -export * from './notificationResultDto'; -export * from './notificationTypeInfo'; -export * from './notificationsSummaryDto'; -export * from './objectGroupUpdate'; -export * from './openLiveStreamDto'; -export * from './openLiveStreamRequest'; -export * from './packageInfo'; -export * from './parentalRating'; -export * from './pathSubstitution'; -export * from './personLookupInfo'; -export * from './personLookupInfoRemoteSearchQuery'; -export * from './pinRedeemResult'; -export * from './pingRequestDto'; -export * from './playAccess'; -export * from './playCommand'; -export * from './playMethod'; -export * from './playRequest'; -export * from './playRequestDto'; -export * from './playbackErrorCode'; -export * from './playbackInfoDto'; -export * from './playbackInfoResponse'; -export * from './playbackProgressInfo'; -export * from './playbackProgressInfoItem'; -export * from './playbackStartInfo'; -export * from './playbackStopInfo'; -export * from './playerStateInfo'; -export * from './playlistCreationResult'; -export * from './playstateCommand'; -export * from './playstateRequest'; -export * from './pluginInfo'; -export * from './pluginStatus'; -export * from './postFullCapabilitiesRequest'; -export * from './postUpdatedMediaRequest'; -export * from './previousItemRequestDto'; -export * from './problemDetails'; -export * from './profileCondition'; -export * from './profileConditionType'; -export * from './profileConditionValue'; -export * from './programAudio'; -export * from './publicSystemInfo'; -export * from './queryFilters'; -export * from './queryFiltersLegacy'; -export * from './queueItem'; -export * from './queueRequestDto'; -export * from './quickConnectDto'; -export * from './quickConnectResult'; -export * from './ratingType'; -export * from './readyRequestDto'; -export * from './recommendationDto'; -export * from './recommendationType'; -export * from './recordingStatus'; -export * from './remoteImageInfo'; -export * from './remoteImageResult'; -export * from './remoteSearchResult'; -export * from './remoteSubtitleInfo'; -export * from './removeFromPlaylistRequestDto'; -export * from './repeatMode'; -export * from './reportPlaybackProgressRequest'; -export * from './reportPlaybackStartRequest'; -export * from './reportPlaybackStoppedRequest'; -export * from './repositoryInfo'; -export * from './responseProfile'; -export * from './scrollDirection'; -export * from './searchHint'; -export * from './searchHintResult'; -export * from './seekRequestDto'; -export * from './sendCommand'; -export * from './sendCommandType'; -export * from './sendFullGeneralCommandRequest'; -export * from './sendMessageCommandRequest'; -export * from './sendToUserType'; -export * from './seriesInfo'; -export * from './seriesInfoRemoteSearchQuery'; -export * from './seriesStatus'; -export * from './seriesTimerInfoDto'; -export * from './seriesTimerInfoDtoQueryResult'; -export * from './serverConfiguration'; -export * from './serverDiscoveryInfo'; -export * from './sessionInfo'; -export * from './sessionInfoFullNowPlayingItem'; -export * from './sessionInfoNowPlayingItem'; -export * from './sessionMessageType'; -export * from './sessionUserInfo'; -export * from './setChannelMappingDto'; -export * from './setChannelMappingRequest'; -export * from './setPlaylistItemRequestDto'; -export * from './setRemoteAccessRequest'; -export * from './setRepeatModeRequestDto'; -export * from './setShuffleModeRequestDto'; -export * from './songInfo'; -export * from './sortOrder'; -export * from './specialViewOptionDto'; -export * from './startupConfigurationDto'; -export * from './startupRemoteAccessDto'; -export * from './startupUserDto'; -export * from './subtitleDeliveryMethod'; -export * from './subtitleOptions'; -export * from './subtitlePlaybackMode'; -export * from './subtitleProfile'; -export * from './syncPlayBufferingRequest'; -export * from './syncPlayCreateGroupRequest'; -export * from './syncPlayJoinGroupRequest'; -export * from './syncPlayMovePlaylistItemRequest'; -export * from './syncPlayNextItemRequest'; -export * from './syncPlayPingRequest'; -export * from './syncPlayPreviousItemRequest'; -export * from './syncPlayQueueRequest'; -export * from './syncPlayReadyRequest'; -export * from './syncPlayRemoveFromPlaylistRequest'; -export * from './syncPlaySeekRequest'; -export * from './syncPlaySetIgnoreWaitRequest'; -export * from './syncPlaySetNewQueueRequest'; -export * from './syncPlaySetPlaylistItemRequest'; -export * from './syncPlaySetRepeatModeRequest'; -export * from './syncPlaySetShuffleModeRequest'; -export * from './syncPlayUserAccessType'; -export * from './systemInfo'; -export * from './taskCompletionStatus'; -export * from './taskInfo'; -export * from './taskInfoLastExecutionResult'; -export * from './taskResult'; -export * from './taskState'; -export * from './taskTriggerInfo'; -export * from './themeMediaResult'; -export * from './timerEventInfo'; -export * from './timerInfoDto'; -export * from './timerInfoDtoProgramInfo'; -export * from './timerInfoDtoQueryResult'; -export * from './trailerInfo'; -export * from './trailerInfoRemoteSearchQuery'; -export * from './transcodeReason'; -export * from './transcodeSeekInfo'; -export * from './transcodingInfo'; -export * from './transcodingProfile'; -export * from './transportStreamTimestamp'; -export * from './tunerChannelMapping'; -export * from './tunerHostInfo'; -export * from './typeOptions'; -export * from './unratedItem'; -export * from './updateConfigurationRequest'; -export * from './updateDeviceOptionsRequest'; -export * from './updateDisplayPreferencesRequest'; -export * from './updateInitialConfigurationRequest'; -export * from './updateItemRequest'; -export * from './updateLibraryOptionsDto'; -export * from './updateLibraryOptionsRequest'; -export * from './updateMediaEncoderPathRequest'; -export * from './updateMediaPathRequest'; -export * from './updateMediaPathRequestDto'; -export * from './updateMediaPathRequestDtoPathInfo'; -export * from './updateStartupUserRequest'; -export * from './updateUserConfigurationRequest'; -export * from './updateUserEasyPassword'; -export * from './updateUserEasyPasswordRequest'; -export * from './updateUserPassword'; -export * from './updateUserPasswordRequest'; -export * from './updateUserPolicyRequest'; -export * from './updateUserRequest'; -export * from './uploadSubtitleDto'; -export * from './uploadSubtitleRequest'; -export * from './userConfiguration'; -export * from './userDto'; -export * from './userDtoConfiguration'; -export * from './userDtoPolicy'; -export * from './userItemDataDto'; -export * from './userPolicy'; -export * from './utcTimeResponse'; -export * from './validatePathDto'; -export * from './validatePathRequest'; -export * from './versionInfo'; -export * from './video3DFormat'; -export * from './videoType'; -export * from './virtualFolderInfo'; -export * from './wakeOnLanInfo'; -export * from './xbmcMetadataOptions'; -export * from './xmlAttribute'; - -import * as fs from 'fs'; - -export interface RequestDetailedFile { - value: Buffer; - options?: { - filename?: string; - contentType?: string; - } -} - -export type RequestFile = string | Buffer | fs.ReadStream | RequestDetailedFile; - - -import { AccessSchedule } from './accessSchedule'; -import { ActivityLogEntry } from './activityLogEntry'; -import { ActivityLogEntryQueryResult } from './activityLogEntryQueryResult'; -import { AddListingProviderRequest } from './addListingProviderRequest'; -import { AddMediaPathRequest } from './addMediaPathRequest'; -import { AddTunerHostRequest } from './addTunerHostRequest'; -import { AddVirtualFolderDto } from './addVirtualFolderDto'; -import { AddVirtualFolderDtoLibraryOptions } from './addVirtualFolderDtoLibraryOptions'; -import { AddVirtualFolderRequest } from './addVirtualFolderRequest'; -import { AdminNotificationDto } from './adminNotificationDto'; -import { AlbumInfo } from './albumInfo'; -import { AlbumInfoRemoteSearchQuery } from './albumInfoRemoteSearchQuery'; -import { AllThemeMediaResult } from './allThemeMediaResult'; -import { AllThemeMediaResultThemeVideosResult } from './allThemeMediaResultThemeVideosResult'; -import { ApplySearchCriteriaRequest } from './applySearchCriteriaRequest'; -import { Architecture } from './architecture'; -import { ArtistInfo } from './artistInfo'; -import { ArtistInfoRemoteSearchQuery } from './artistInfoRemoteSearchQuery'; -import { AuthenticateUserByName } from './authenticateUserByName'; -import { AuthenticateUserByNameRequest } from './authenticateUserByNameRequest'; -import { AuthenticateWithQuickConnectRequest } from './authenticateWithQuickConnectRequest'; -import { AuthenticationInfo } from './authenticationInfo'; -import { AuthenticationInfoQueryResult } from './authenticationInfoQueryResult'; -import { AuthenticationResult } from './authenticationResult'; -import { AuthenticationResultSessionInfo } from './authenticationResultSessionInfo'; -import { AuthenticationResultUser } from './authenticationResultUser'; -import { BaseItem } from './baseItem'; -import { BaseItemDto } from './baseItemDto'; -import { BaseItemDtoCurrentProgram } from './baseItemDtoCurrentProgram'; -import { BaseItemDtoImageBlurHashes } from './baseItemDtoImageBlurHashes'; -import { BaseItemDtoQueryResult } from './baseItemDtoQueryResult'; -import { BaseItemDtoUserData } from './baseItemDtoUserData'; -import { BaseItemKind } from './baseItemKind'; -import { BaseItemPerson } from './baseItemPerson'; -import { BaseItemPersonImageBlurHashes } from './baseItemPersonImageBlurHashes'; -import { BookInfo } from './bookInfo'; -import { BookInfoRemoteSearchQuery } from './bookInfoRemoteSearchQuery'; -import { BoxSetInfo } from './boxSetInfo'; -import { BoxSetInfoRemoteSearchQuery } from './boxSetInfoRemoteSearchQuery'; -import { BrandingOptions } from './brandingOptions'; -import { BufferRequestDto } from './bufferRequestDto'; -import { ChannelFeatures } from './channelFeatures'; -import { ChannelItemSortField } from './channelItemSortField'; -import { ChannelMappingOptionsDto } from './channelMappingOptionsDto'; -import { ChannelMediaContentType } from './channelMediaContentType'; -import { ChannelMediaType } from './channelMediaType'; -import { ChannelType } from './channelType'; -import { ChapterInfo } from './chapterInfo'; -import { ClientCapabilities } from './clientCapabilities'; -import { ClientCapabilitiesDeviceProfile } from './clientCapabilitiesDeviceProfile'; -import { ClientCapabilitiesDto } from './clientCapabilitiesDto'; -import { ClientCapabilitiesDtoDeviceProfile } from './clientCapabilitiesDtoDeviceProfile'; -import { ClientLogDocumentResponseDto } from './clientLogDocumentResponseDto'; -import { CodecProfile } from './codecProfile'; -import { CodecType } from './codecType'; -import { CollectionCreationResult } from './collectionCreationResult'; -import { CollectionTypeOptions } from './collectionTypeOptions'; -import { ConfigImageTypes } from './configImageTypes'; -import { ConfigurationPageInfo } from './configurationPageInfo'; -import { ContainerProfile } from './containerProfile'; -import { ControlResponse } from './controlResponse'; -import { CountryInfo } from './countryInfo'; -import { CreateAdminNotificationRequest } from './createAdminNotificationRequest'; -import { CreatePlaylistDto } from './createPlaylistDto'; -import { CreatePlaylistRequest } from './createPlaylistRequest'; -import { CreateProfileRequest } from './createProfileRequest'; -import { CreateSeriesTimerRequest } from './createSeriesTimerRequest'; -import { CreateTimerRequest } from './createTimerRequest'; -import { CreateUserByName } from './createUserByName'; -import { CreateUserByNameRequest } from './createUserByNameRequest'; -import { CultureDto } from './cultureDto'; -import { DayOfWeek } from './dayOfWeek'; -import { DayPattern } from './dayPattern'; -import { DefaultDirectoryBrowserInfoDto } from './defaultDirectoryBrowserInfoDto'; -import { DeviceIdentification } from './deviceIdentification'; -import { DeviceInfo } from './deviceInfo'; -import { DeviceInfoCapabilities } from './deviceInfoCapabilities'; -import { DeviceInfoQueryResult } from './deviceInfoQueryResult'; -import { DeviceOptions } from './deviceOptions'; -import { DeviceOptionsDto } from './deviceOptionsDto'; -import { DeviceProfile } from './deviceProfile'; -import { DeviceProfileIdentification } from './deviceProfileIdentification'; -import { DeviceProfileInfo } from './deviceProfileInfo'; -import { DeviceProfileType } from './deviceProfileType'; -import { DirectPlayProfile } from './directPlayProfile'; -import { DisplayPreferencesDto } from './displayPreferencesDto'; -import { DlnaOptions } from './dlnaOptions'; -import { DlnaProfileType } from './dlnaProfileType'; -import { DynamicDayOfWeek } from './dynamicDayOfWeek'; -import { EmbeddedSubtitleOptions } from './embeddedSubtitleOptions'; -import { EncodingContext } from './encodingContext'; -import { EncodingOptions } from './encodingOptions'; -import { EndPointInfo } from './endPointInfo'; -import { ExternalIdInfo } from './externalIdInfo'; -import { ExternalIdMediaType } from './externalIdMediaType'; -import { ExternalUrl } from './externalUrl'; -import { FFmpegLocation } from './fFmpegLocation'; -import { FileSystemEntryInfo } from './fileSystemEntryInfo'; -import { FileSystemEntryType } from './fileSystemEntryType'; -import { FontFile } from './fontFile'; -import { ForgotPasswordAction } from './forgotPasswordAction'; -import { ForgotPasswordDto } from './forgotPasswordDto'; -import { ForgotPasswordPinDto } from './forgotPasswordPinDto'; -import { ForgotPasswordPinRequest } from './forgotPasswordPinRequest'; -import { ForgotPasswordRequest } from './forgotPasswordRequest'; -import { ForgotPasswordResult } from './forgotPasswordResult'; -import { GeneralCommand } from './generalCommand'; -import { GeneralCommandType } from './generalCommandType'; -import { GetBookRemoteSearchResultsRequest } from './getBookRemoteSearchResultsRequest'; -import { GetBoxSetRemoteSearchResultsRequest } from './getBoxSetRemoteSearchResultsRequest'; -import { GetMovieRemoteSearchResultsRequest } from './getMovieRemoteSearchResultsRequest'; -import { GetMusicAlbumRemoteSearchResultsRequest } from './getMusicAlbumRemoteSearchResultsRequest'; -import { GetMusicArtistRemoteSearchResultsRequest } from './getMusicArtistRemoteSearchResultsRequest'; -import { GetMusicVideoRemoteSearchResultsRequest } from './getMusicVideoRemoteSearchResultsRequest'; -import { GetPersonRemoteSearchResultsRequest } from './getPersonRemoteSearchResultsRequest'; -import { GetPostedPlaybackInfoRequest } from './getPostedPlaybackInfoRequest'; -import { GetProgramsDto } from './getProgramsDto'; -import { GetProgramsRequest } from './getProgramsRequest'; -import { GetSeriesRemoteSearchResultsRequest } from './getSeriesRemoteSearchResultsRequest'; -import { GetTrailerRemoteSearchResultsRequest } from './getTrailerRemoteSearchResultsRequest'; -import { GroupInfoDto } from './groupInfoDto'; -import { GroupQueueMode } from './groupQueueMode'; -import { GroupRepeatMode } from './groupRepeatMode'; -import { GroupShuffleMode } from './groupShuffleMode'; -import { GroupStateType } from './groupStateType'; -import { GroupUpdateType } from './groupUpdateType'; -import { GuideInfo } from './guideInfo'; -import { HardwareEncodingType } from './hardwareEncodingType'; -import { HeaderMatchType } from './headerMatchType'; -import { HttpHeaderInfo } from './httpHeaderInfo'; -import { IPlugin } from './iPlugin'; -import { IgnoreWaitRequestDto } from './ignoreWaitRequestDto'; -import { ImageByNameInfo } from './imageByNameInfo'; -import { ImageFormat } from './imageFormat'; -import { ImageInfo } from './imageInfo'; -import { ImageOption } from './imageOption'; -import { ImageOrientation } from './imageOrientation'; -import { ImageProviderInfo } from './imageProviderInfo'; -import { ImageSavingConvention } from './imageSavingConvention'; -import { ImageType } from './imageType'; -import { InstallationInfo } from './installationInfo'; -import { InstallationInfoPackageInfo } from './installationInfoPackageInfo'; -import { IsoType } from './isoType'; -import { ItemCounts } from './itemCounts'; -import { ItemFields } from './itemFields'; -import { ItemFilter } from './itemFilter'; -import { JoinGroupRequestDto } from './joinGroupRequestDto'; -import { KeepUntil } from './keepUntil'; -import { LibraryOptionInfoDto } from './libraryOptionInfoDto'; -import { LibraryOptions } from './libraryOptions'; -import { LibraryOptionsResultDto } from './libraryOptionsResultDto'; -import { LibraryTypeOptionsDto } from './libraryTypeOptionsDto'; -import { LibraryUpdateInfo } from './libraryUpdateInfo'; -import { ListingsProviderInfo } from './listingsProviderInfo'; -import { LiveStreamResponse } from './liveStreamResponse'; -import { LiveStreamResponseMediaSource } from './liveStreamResponseMediaSource'; -import { LiveTvInfo } from './liveTvInfo'; -import { LiveTvOptions } from './liveTvOptions'; -import { LiveTvServiceInfo } from './liveTvServiceInfo'; -import { LiveTvServiceStatus } from './liveTvServiceStatus'; -import { LocalizationOption } from './localizationOption'; -import { LocationType } from './locationType'; -import { LogFile } from './logFile'; -import { LogLevel } from './logLevel'; -import { MediaAttachment } from './mediaAttachment'; -import { MediaEncoderPathDto } from './mediaEncoderPathDto'; -import { MediaPathDto } from './mediaPathDto'; -import { MediaPathDtoPathInfo } from './mediaPathDtoPathInfo'; -import { MediaPathInfo } from './mediaPathInfo'; -import { MediaProtocol } from './mediaProtocol'; -import { MediaSourceInfo } from './mediaSourceInfo'; -import { MediaSourceType } from './mediaSourceType'; -import { MediaStream } from './mediaStream'; -import { MediaStreamType } from './mediaStreamType'; -import { MediaUpdateInfoDto } from './mediaUpdateInfoDto'; -import { MediaUpdateInfoPathDto } from './mediaUpdateInfoPathDto'; -import { MediaUrl } from './mediaUrl'; -import { MessageCommand } from './messageCommand'; -import { MetadataConfiguration } from './metadataConfiguration'; -import { MetadataEditorInfo } from './metadataEditorInfo'; -import { MetadataField } from './metadataField'; -import { MetadataOptions } from './metadataOptions'; -import { MetadataRefreshMode } from './metadataRefreshMode'; -import { MovePlaylistItemRequestDto } from './movePlaylistItemRequestDto'; -import { MovieInfo } from './movieInfo'; -import { MovieInfoRemoteSearchQuery } from './movieInfoRemoteSearchQuery'; -import { MusicVideoInfo } from './musicVideoInfo'; -import { MusicVideoInfoRemoteSearchQuery } from './musicVideoInfoRemoteSearchQuery'; -import { NameGuidPair } from './nameGuidPair'; -import { NameIdPair } from './nameIdPair'; -import { NameValuePair } from './nameValuePair'; -import { NetworkConfiguration } from './networkConfiguration'; -import { NewGroupRequestDto } from './newGroupRequestDto'; -import { NextItemRequestDto } from './nextItemRequestDto'; -import { NotificationDto } from './notificationDto'; -import { NotificationLevel } from './notificationLevel'; -import { NotificationOption } from './notificationOption'; -import { NotificationOptions } from './notificationOptions'; -import { NotificationResultDto } from './notificationResultDto'; -import { NotificationTypeInfo } from './notificationTypeInfo'; -import { NotificationsSummaryDto } from './notificationsSummaryDto'; -import { ObjectGroupUpdate } from './objectGroupUpdate'; -import { OpenLiveStreamDto } from './openLiveStreamDto'; -import { OpenLiveStreamRequest } from './openLiveStreamRequest'; -import { PackageInfo } from './packageInfo'; -import { ParentalRating } from './parentalRating'; -import { PathSubstitution } from './pathSubstitution'; -import { PersonLookupInfo } from './personLookupInfo'; -import { PersonLookupInfoRemoteSearchQuery } from './personLookupInfoRemoteSearchQuery'; -import { PinRedeemResult } from './pinRedeemResult'; -import { PingRequestDto } from './pingRequestDto'; -import { PlayAccess } from './playAccess'; -import { PlayCommand } from './playCommand'; -import { PlayMethod } from './playMethod'; -import { PlayRequest } from './playRequest'; -import { PlayRequestDto } from './playRequestDto'; -import { PlaybackErrorCode } from './playbackErrorCode'; -import { PlaybackInfoDto } from './playbackInfoDto'; -import { PlaybackInfoResponse } from './playbackInfoResponse'; -import { PlaybackProgressInfo } from './playbackProgressInfo'; -import { PlaybackProgressInfoItem } from './playbackProgressInfoItem'; -import { PlaybackStartInfo } from './playbackStartInfo'; -import { PlaybackStopInfo } from './playbackStopInfo'; -import { PlayerStateInfo } from './playerStateInfo'; -import { PlaylistCreationResult } from './playlistCreationResult'; -import { PlaystateCommand } from './playstateCommand'; -import { PlaystateRequest } from './playstateRequest'; -import { PluginInfo } from './pluginInfo'; -import { PluginStatus } from './pluginStatus'; -import { PostFullCapabilitiesRequest } from './postFullCapabilitiesRequest'; -import { PostUpdatedMediaRequest } from './postUpdatedMediaRequest'; -import { PreviousItemRequestDto } from './previousItemRequestDto'; -import { ProblemDetails } from './problemDetails'; -import { ProfileCondition } from './profileCondition'; -import { ProfileConditionType } from './profileConditionType'; -import { ProfileConditionValue } from './profileConditionValue'; -import { ProgramAudio } from './programAudio'; -import { PublicSystemInfo } from './publicSystemInfo'; -import { QueryFilters } from './queryFilters'; -import { QueryFiltersLegacy } from './queryFiltersLegacy'; -import { QueueItem } from './queueItem'; -import { QueueRequestDto } from './queueRequestDto'; -import { QuickConnectDto } from './quickConnectDto'; -import { QuickConnectResult } from './quickConnectResult'; -import { RatingType } from './ratingType'; -import { ReadyRequestDto } from './readyRequestDto'; -import { RecommendationDto } from './recommendationDto'; -import { RecommendationType } from './recommendationType'; -import { RecordingStatus } from './recordingStatus'; -import { RemoteImageInfo } from './remoteImageInfo'; -import { RemoteImageResult } from './remoteImageResult'; -import { RemoteSearchResult } from './remoteSearchResult'; -import { RemoteSubtitleInfo } from './remoteSubtitleInfo'; -import { RemoveFromPlaylistRequestDto } from './removeFromPlaylistRequestDto'; -import { RepeatMode } from './repeatMode'; -import { ReportPlaybackProgressRequest } from './reportPlaybackProgressRequest'; -import { ReportPlaybackStartRequest } from './reportPlaybackStartRequest'; -import { ReportPlaybackStoppedRequest } from './reportPlaybackStoppedRequest'; -import { RepositoryInfo } from './repositoryInfo'; -import { ResponseProfile } from './responseProfile'; -import { ScrollDirection } from './scrollDirection'; -import { SearchHint } from './searchHint'; -import { SearchHintResult } from './searchHintResult'; -import { SeekRequestDto } from './seekRequestDto'; -import { SendCommand } from './sendCommand'; -import { SendCommandType } from './sendCommandType'; -import { SendFullGeneralCommandRequest } from './sendFullGeneralCommandRequest'; -import { SendMessageCommandRequest } from './sendMessageCommandRequest'; -import { SendToUserType } from './sendToUserType'; -import { SeriesInfo } from './seriesInfo'; -import { SeriesInfoRemoteSearchQuery } from './seriesInfoRemoteSearchQuery'; -import { SeriesStatus } from './seriesStatus'; -import { SeriesTimerInfoDto } from './seriesTimerInfoDto'; -import { SeriesTimerInfoDtoQueryResult } from './seriesTimerInfoDtoQueryResult'; -import { ServerConfiguration } from './serverConfiguration'; -import { ServerDiscoveryInfo } from './serverDiscoveryInfo'; -import { SessionInfo } from './sessionInfo'; -import { SessionInfoFullNowPlayingItem } from './sessionInfoFullNowPlayingItem'; -import { SessionInfoNowPlayingItem } from './sessionInfoNowPlayingItem'; -import { SessionMessageType } from './sessionMessageType'; -import { SessionUserInfo } from './sessionUserInfo'; -import { SetChannelMappingDto } from './setChannelMappingDto'; -import { SetChannelMappingRequest } from './setChannelMappingRequest'; -import { SetPlaylistItemRequestDto } from './setPlaylistItemRequestDto'; -import { SetRemoteAccessRequest } from './setRemoteAccessRequest'; -import { SetRepeatModeRequestDto } from './setRepeatModeRequestDto'; -import { SetShuffleModeRequestDto } from './setShuffleModeRequestDto'; -import { SongInfo } from './songInfo'; -import { SortOrder } from './sortOrder'; -import { SpecialViewOptionDto } from './specialViewOptionDto'; -import { StartupConfigurationDto } from './startupConfigurationDto'; -import { StartupRemoteAccessDto } from './startupRemoteAccessDto'; -import { StartupUserDto } from './startupUserDto'; -import { SubtitleDeliveryMethod } from './subtitleDeliveryMethod'; -import { SubtitleOptions } from './subtitleOptions'; -import { SubtitlePlaybackMode } from './subtitlePlaybackMode'; -import { SubtitleProfile } from './subtitleProfile'; -import { SyncPlayBufferingRequest } from './syncPlayBufferingRequest'; -import { SyncPlayCreateGroupRequest } from './syncPlayCreateGroupRequest'; -import { SyncPlayJoinGroupRequest } from './syncPlayJoinGroupRequest'; -import { SyncPlayMovePlaylistItemRequest } from './syncPlayMovePlaylistItemRequest'; -import { SyncPlayNextItemRequest } from './syncPlayNextItemRequest'; -import { SyncPlayPingRequest } from './syncPlayPingRequest'; -import { SyncPlayPreviousItemRequest } from './syncPlayPreviousItemRequest'; -import { SyncPlayQueueRequest } from './syncPlayQueueRequest'; -import { SyncPlayReadyRequest } from './syncPlayReadyRequest'; -import { SyncPlayRemoveFromPlaylistRequest } from './syncPlayRemoveFromPlaylistRequest'; -import { SyncPlaySeekRequest } from './syncPlaySeekRequest'; -import { SyncPlaySetIgnoreWaitRequest } from './syncPlaySetIgnoreWaitRequest'; -import { SyncPlaySetNewQueueRequest } from './syncPlaySetNewQueueRequest'; -import { SyncPlaySetPlaylistItemRequest } from './syncPlaySetPlaylistItemRequest'; -import { SyncPlaySetRepeatModeRequest } from './syncPlaySetRepeatModeRequest'; -import { SyncPlaySetShuffleModeRequest } from './syncPlaySetShuffleModeRequest'; -import { SyncPlayUserAccessType } from './syncPlayUserAccessType'; -import { SystemInfo } from './systemInfo'; -import { TaskCompletionStatus } from './taskCompletionStatus'; -import { TaskInfo } from './taskInfo'; -import { TaskInfoLastExecutionResult } from './taskInfoLastExecutionResult'; -import { TaskResult } from './taskResult'; -import { TaskState } from './taskState'; -import { TaskTriggerInfo } from './taskTriggerInfo'; -import { ThemeMediaResult } from './themeMediaResult'; -import { TimerEventInfo } from './timerEventInfo'; -import { TimerInfoDto } from './timerInfoDto'; -import { TimerInfoDtoProgramInfo } from './timerInfoDtoProgramInfo'; -import { TimerInfoDtoQueryResult } from './timerInfoDtoQueryResult'; -import { TrailerInfo } from './trailerInfo'; -import { TrailerInfoRemoteSearchQuery } from './trailerInfoRemoteSearchQuery'; -import { TranscodeReason } from './transcodeReason'; -import { TranscodeSeekInfo } from './transcodeSeekInfo'; -import { TranscodingInfo } from './transcodingInfo'; -import { TranscodingProfile } from './transcodingProfile'; -import { TransportStreamTimestamp } from './transportStreamTimestamp'; -import { TunerChannelMapping } from './tunerChannelMapping'; -import { TunerHostInfo } from './tunerHostInfo'; -import { TypeOptions } from './typeOptions'; -import { UnratedItem } from './unratedItem'; -import { UpdateConfigurationRequest } from './updateConfigurationRequest'; -import { UpdateDeviceOptionsRequest } from './updateDeviceOptionsRequest'; -import { UpdateDisplayPreferencesRequest } from './updateDisplayPreferencesRequest'; -import { UpdateInitialConfigurationRequest } from './updateInitialConfigurationRequest'; -import { UpdateItemRequest } from './updateItemRequest'; -import { UpdateLibraryOptionsDto } from './updateLibraryOptionsDto'; -import { UpdateLibraryOptionsRequest } from './updateLibraryOptionsRequest'; -import { UpdateMediaEncoderPathRequest } from './updateMediaEncoderPathRequest'; -import { UpdateMediaPathRequest } from './updateMediaPathRequest'; -import { UpdateMediaPathRequestDto } from './updateMediaPathRequestDto'; -import { UpdateMediaPathRequestDtoPathInfo } from './updateMediaPathRequestDtoPathInfo'; -import { UpdateStartupUserRequest } from './updateStartupUserRequest'; -import { UpdateUserConfigurationRequest } from './updateUserConfigurationRequest'; -import { UpdateUserEasyPassword } from './updateUserEasyPassword'; -import { UpdateUserEasyPasswordRequest } from './updateUserEasyPasswordRequest'; -import { UpdateUserPassword } from './updateUserPassword'; -import { UpdateUserPasswordRequest } from './updateUserPasswordRequest'; -import { UpdateUserPolicyRequest } from './updateUserPolicyRequest'; -import { UpdateUserRequest } from './updateUserRequest'; -import { UploadSubtitleDto } from './uploadSubtitleDto'; -import { UploadSubtitleRequest } from './uploadSubtitleRequest'; -import { UserConfiguration } from './userConfiguration'; -import { UserDto } from './userDto'; -import { UserDtoConfiguration } from './userDtoConfiguration'; -import { UserDtoPolicy } from './userDtoPolicy'; -import { UserItemDataDto } from './userItemDataDto'; -import { UserPolicy } from './userPolicy'; -import { UtcTimeResponse } from './utcTimeResponse'; -import { ValidatePathDto } from './validatePathDto'; -import { ValidatePathRequest } from './validatePathRequest'; -import { VersionInfo } from './versionInfo'; -import { Video3DFormat } from './video3DFormat'; -import { VideoType } from './videoType'; -import { VirtualFolderInfo } from './virtualFolderInfo'; -import { WakeOnLanInfo } from './wakeOnLanInfo'; -import { XbmcMetadataOptions } from './xbmcMetadataOptions'; -import { XmlAttribute } from './xmlAttribute'; - -/* tslint:disable:no-unused-variable */ -let primitives = [ - "string", - "boolean", - "double", - "integer", - "long", - "float", - "number", - "any" - ]; - -let enumsMap: {[index: string]: any} = { - "Architecture": Architecture, - "BaseItemKind": BaseItemKind, - "ChannelItemSortField": ChannelItemSortField, - "ChannelMediaContentType": ChannelMediaContentType, - "ChannelMediaType": ChannelMediaType, - "ChannelType": ChannelType, - "CodecType": CodecType, - "CollectionTypeOptions": CollectionTypeOptions, - "DayOfWeek": DayOfWeek, - "DayPattern": DayPattern, - "DeviceProfileType": DeviceProfileType, - "DlnaProfileType": DlnaProfileType, - "DynamicDayOfWeek": DynamicDayOfWeek, - "EmbeddedSubtitleOptions": EmbeddedSubtitleOptions, - "EncodingContext": EncodingContext, - "ExternalIdMediaType": ExternalIdMediaType, - "FFmpegLocation": FFmpegLocation, - "FileSystemEntryType": FileSystemEntryType, - "ForgotPasswordAction": ForgotPasswordAction, - "GeneralCommandType": GeneralCommandType, - "GroupQueueMode": GroupQueueMode, - "GroupRepeatMode": GroupRepeatMode, - "GroupShuffleMode": GroupShuffleMode, - "GroupStateType": GroupStateType, - "GroupUpdateType": GroupUpdateType, - "HardwareEncodingType": HardwareEncodingType, - "HeaderMatchType": HeaderMatchType, - "ImageFormat": ImageFormat, - "ImageOrientation": ImageOrientation, - "ImageSavingConvention": ImageSavingConvention, - "ImageType": ImageType, - "IsoType": IsoType, - "ItemFields": ItemFields, - "ItemFilter": ItemFilter, - "KeepUntil": KeepUntil, - "LiveTvServiceStatus": LiveTvServiceStatus, - "LocationType": LocationType, - "LogLevel": LogLevel, - "MediaProtocol": MediaProtocol, - "MediaSourceType": MediaSourceType, - "MediaStreamType": MediaStreamType, - "MetadataField": MetadataField, - "MetadataRefreshMode": MetadataRefreshMode, - "NotificationLevel": NotificationLevel, - "PlayAccess": PlayAccess, - "PlayCommand": PlayCommand, - "PlayMethod": PlayMethod, - "PlaybackErrorCode": PlaybackErrorCode, - "PlaystateCommand": PlaystateCommand, - "PluginStatus": PluginStatus, - "ProfileConditionType": ProfileConditionType, - "ProfileConditionValue": ProfileConditionValue, - "ProgramAudio": ProgramAudio, - "RatingType": RatingType, - "RecommendationType": RecommendationType, - "RecordingStatus": RecordingStatus, - "RepeatMode": RepeatMode, - "ScrollDirection": ScrollDirection, - "SendCommandType": SendCommandType, - "SendToUserType": SendToUserType, - "SeriesStatus": SeriesStatus, - "SessionMessageType": SessionMessageType, - "SortOrder": SortOrder, - "SubtitleDeliveryMethod": SubtitleDeliveryMethod, - "SubtitlePlaybackMode": SubtitlePlaybackMode, - "SyncPlayUserAccessType": SyncPlayUserAccessType, - "TaskCompletionStatus": TaskCompletionStatus, - "TaskState": TaskState, - "TranscodeReason": TranscodeReason, - "TranscodeSeekInfo": TranscodeSeekInfo, - "TransportStreamTimestamp": TransportStreamTimestamp, - "UnratedItem": UnratedItem, - "Video3DFormat": Video3DFormat, - "VideoType": VideoType, -} - -let typeMap: {[index: string]: any} = { - "AccessSchedule": AccessSchedule, - "ActivityLogEntry": ActivityLogEntry, - "ActivityLogEntryQueryResult": ActivityLogEntryQueryResult, - "AddListingProviderRequest": AddListingProviderRequest, - "AddMediaPathRequest": AddMediaPathRequest, - "AddTunerHostRequest": AddTunerHostRequest, - "AddVirtualFolderDto": AddVirtualFolderDto, - "AddVirtualFolderDtoLibraryOptions": AddVirtualFolderDtoLibraryOptions, - "AddVirtualFolderRequest": AddVirtualFolderRequest, - "AdminNotificationDto": AdminNotificationDto, - "AlbumInfo": AlbumInfo, - "AlbumInfoRemoteSearchQuery": AlbumInfoRemoteSearchQuery, - "AllThemeMediaResult": AllThemeMediaResult, - "AllThemeMediaResultThemeVideosResult": AllThemeMediaResultThemeVideosResult, - "ApplySearchCriteriaRequest": ApplySearchCriteriaRequest, - "ArtistInfo": ArtistInfo, - "ArtistInfoRemoteSearchQuery": ArtistInfoRemoteSearchQuery, - "AuthenticateUserByName": AuthenticateUserByName, - "AuthenticateUserByNameRequest": AuthenticateUserByNameRequest, - "AuthenticateWithQuickConnectRequest": AuthenticateWithQuickConnectRequest, - "AuthenticationInfo": AuthenticationInfo, - "AuthenticationInfoQueryResult": AuthenticationInfoQueryResult, - "AuthenticationResult": AuthenticationResult, - "AuthenticationResultSessionInfo": AuthenticationResultSessionInfo, - "AuthenticationResultUser": AuthenticationResultUser, - "BaseItem": BaseItem, - "BaseItemDto": BaseItemDto, - "BaseItemDtoCurrentProgram": BaseItemDtoCurrentProgram, - "BaseItemDtoImageBlurHashes": BaseItemDtoImageBlurHashes, - "BaseItemDtoQueryResult": BaseItemDtoQueryResult, - "BaseItemDtoUserData": BaseItemDtoUserData, - "BaseItemPerson": BaseItemPerson, - "BaseItemPersonImageBlurHashes": BaseItemPersonImageBlurHashes, - "BookInfo": BookInfo, - "BookInfoRemoteSearchQuery": BookInfoRemoteSearchQuery, - "BoxSetInfo": BoxSetInfo, - "BoxSetInfoRemoteSearchQuery": BoxSetInfoRemoteSearchQuery, - "BrandingOptions": BrandingOptions, - "BufferRequestDto": BufferRequestDto, - "ChannelFeatures": ChannelFeatures, - "ChannelMappingOptionsDto": ChannelMappingOptionsDto, - "ChapterInfo": ChapterInfo, - "ClientCapabilities": ClientCapabilities, - "ClientCapabilitiesDeviceProfile": ClientCapabilitiesDeviceProfile, - "ClientCapabilitiesDto": ClientCapabilitiesDto, - "ClientCapabilitiesDtoDeviceProfile": ClientCapabilitiesDtoDeviceProfile, - "ClientLogDocumentResponseDto": ClientLogDocumentResponseDto, - "CodecProfile": CodecProfile, - "CollectionCreationResult": CollectionCreationResult, - "ConfigImageTypes": ConfigImageTypes, - "ConfigurationPageInfo": ConfigurationPageInfo, - "ContainerProfile": ContainerProfile, - "ControlResponse": ControlResponse, - "CountryInfo": CountryInfo, - "CreateAdminNotificationRequest": CreateAdminNotificationRequest, - "CreatePlaylistDto": CreatePlaylistDto, - "CreatePlaylistRequest": CreatePlaylistRequest, - "CreateProfileRequest": CreateProfileRequest, - "CreateSeriesTimerRequest": CreateSeriesTimerRequest, - "CreateTimerRequest": CreateTimerRequest, - "CreateUserByName": CreateUserByName, - "CreateUserByNameRequest": CreateUserByNameRequest, - "CultureDto": CultureDto, - "DefaultDirectoryBrowserInfoDto": DefaultDirectoryBrowserInfoDto, - "DeviceIdentification": DeviceIdentification, - "DeviceInfo": DeviceInfo, - "DeviceInfoCapabilities": DeviceInfoCapabilities, - "DeviceInfoQueryResult": DeviceInfoQueryResult, - "DeviceOptions": DeviceOptions, - "DeviceOptionsDto": DeviceOptionsDto, - "DeviceProfile": DeviceProfile, - "DeviceProfileIdentification": DeviceProfileIdentification, - "DeviceProfileInfo": DeviceProfileInfo, - "DirectPlayProfile": DirectPlayProfile, - "DisplayPreferencesDto": DisplayPreferencesDto, - "DlnaOptions": DlnaOptions, - "EncodingOptions": EncodingOptions, - "EndPointInfo": EndPointInfo, - "ExternalIdInfo": ExternalIdInfo, - "ExternalUrl": ExternalUrl, - "FileSystemEntryInfo": FileSystemEntryInfo, - "FontFile": FontFile, - "ForgotPasswordDto": ForgotPasswordDto, - "ForgotPasswordPinDto": ForgotPasswordPinDto, - "ForgotPasswordPinRequest": ForgotPasswordPinRequest, - "ForgotPasswordRequest": ForgotPasswordRequest, - "ForgotPasswordResult": ForgotPasswordResult, - "GeneralCommand": GeneralCommand, - "GetBookRemoteSearchResultsRequest": GetBookRemoteSearchResultsRequest, - "GetBoxSetRemoteSearchResultsRequest": GetBoxSetRemoteSearchResultsRequest, - "GetMovieRemoteSearchResultsRequest": GetMovieRemoteSearchResultsRequest, - "GetMusicAlbumRemoteSearchResultsRequest": GetMusicAlbumRemoteSearchResultsRequest, - "GetMusicArtistRemoteSearchResultsRequest": GetMusicArtistRemoteSearchResultsRequest, - "GetMusicVideoRemoteSearchResultsRequest": GetMusicVideoRemoteSearchResultsRequest, - "GetPersonRemoteSearchResultsRequest": GetPersonRemoteSearchResultsRequest, - "GetPostedPlaybackInfoRequest": GetPostedPlaybackInfoRequest, - "GetProgramsDto": GetProgramsDto, - "GetProgramsRequest": GetProgramsRequest, - "GetSeriesRemoteSearchResultsRequest": GetSeriesRemoteSearchResultsRequest, - "GetTrailerRemoteSearchResultsRequest": GetTrailerRemoteSearchResultsRequest, - "GroupInfoDto": GroupInfoDto, - "GuideInfo": GuideInfo, - "HttpHeaderInfo": HttpHeaderInfo, - "IPlugin": IPlugin, - "IgnoreWaitRequestDto": IgnoreWaitRequestDto, - "ImageByNameInfo": ImageByNameInfo, - "ImageInfo": ImageInfo, - "ImageOption": ImageOption, - "ImageProviderInfo": ImageProviderInfo, - "InstallationInfo": InstallationInfo, - "InstallationInfoPackageInfo": InstallationInfoPackageInfo, - "ItemCounts": ItemCounts, - "JoinGroupRequestDto": JoinGroupRequestDto, - "LibraryOptionInfoDto": LibraryOptionInfoDto, - "LibraryOptions": LibraryOptions, - "LibraryOptionsResultDto": LibraryOptionsResultDto, - "LibraryTypeOptionsDto": LibraryTypeOptionsDto, - "LibraryUpdateInfo": LibraryUpdateInfo, - "ListingsProviderInfo": ListingsProviderInfo, - "LiveStreamResponse": LiveStreamResponse, - "LiveStreamResponseMediaSource": LiveStreamResponseMediaSource, - "LiveTvInfo": LiveTvInfo, - "LiveTvOptions": LiveTvOptions, - "LiveTvServiceInfo": LiveTvServiceInfo, - "LocalizationOption": LocalizationOption, - "LogFile": LogFile, - "MediaAttachment": MediaAttachment, - "MediaEncoderPathDto": MediaEncoderPathDto, - "MediaPathDto": MediaPathDto, - "MediaPathDtoPathInfo": MediaPathDtoPathInfo, - "MediaPathInfo": MediaPathInfo, - "MediaSourceInfo": MediaSourceInfo, - "MediaStream": MediaStream, - "MediaUpdateInfoDto": MediaUpdateInfoDto, - "MediaUpdateInfoPathDto": MediaUpdateInfoPathDto, - "MediaUrl": MediaUrl, - "MessageCommand": MessageCommand, - "MetadataConfiguration": MetadataConfiguration, - "MetadataEditorInfo": MetadataEditorInfo, - "MetadataOptions": MetadataOptions, - "MovePlaylistItemRequestDto": MovePlaylistItemRequestDto, - "MovieInfo": MovieInfo, - "MovieInfoRemoteSearchQuery": MovieInfoRemoteSearchQuery, - "MusicVideoInfo": MusicVideoInfo, - "MusicVideoInfoRemoteSearchQuery": MusicVideoInfoRemoteSearchQuery, - "NameGuidPair": NameGuidPair, - "NameIdPair": NameIdPair, - "NameValuePair": NameValuePair, - "NetworkConfiguration": NetworkConfiguration, - "NewGroupRequestDto": NewGroupRequestDto, - "NextItemRequestDto": NextItemRequestDto, - "NotificationDto": NotificationDto, - "NotificationOption": NotificationOption, - "NotificationOptions": NotificationOptions, - "NotificationResultDto": NotificationResultDto, - "NotificationTypeInfo": NotificationTypeInfo, - "NotificationsSummaryDto": NotificationsSummaryDto, - "ObjectGroupUpdate": ObjectGroupUpdate, - "OpenLiveStreamDto": OpenLiveStreamDto, - "OpenLiveStreamRequest": OpenLiveStreamRequest, - "PackageInfo": PackageInfo, - "ParentalRating": ParentalRating, - "PathSubstitution": PathSubstitution, - "PersonLookupInfo": PersonLookupInfo, - "PersonLookupInfoRemoteSearchQuery": PersonLookupInfoRemoteSearchQuery, - "PinRedeemResult": PinRedeemResult, - "PingRequestDto": PingRequestDto, - "PlayRequest": PlayRequest, - "PlayRequestDto": PlayRequestDto, - "PlaybackInfoDto": PlaybackInfoDto, - "PlaybackInfoResponse": PlaybackInfoResponse, - "PlaybackProgressInfo": PlaybackProgressInfo, - "PlaybackProgressInfoItem": PlaybackProgressInfoItem, - "PlaybackStartInfo": PlaybackStartInfo, - "PlaybackStopInfo": PlaybackStopInfo, - "PlayerStateInfo": PlayerStateInfo, - "PlaylistCreationResult": PlaylistCreationResult, - "PlaystateRequest": PlaystateRequest, - "PluginInfo": PluginInfo, - "PostFullCapabilitiesRequest": PostFullCapabilitiesRequest, - "PostUpdatedMediaRequest": PostUpdatedMediaRequest, - "PreviousItemRequestDto": PreviousItemRequestDto, - "ProblemDetails": ProblemDetails, - "ProfileCondition": ProfileCondition, - "PublicSystemInfo": PublicSystemInfo, - "QueryFilters": QueryFilters, - "QueryFiltersLegacy": QueryFiltersLegacy, - "QueueItem": QueueItem, - "QueueRequestDto": QueueRequestDto, - "QuickConnectDto": QuickConnectDto, - "QuickConnectResult": QuickConnectResult, - "ReadyRequestDto": ReadyRequestDto, - "RecommendationDto": RecommendationDto, - "RemoteImageInfo": RemoteImageInfo, - "RemoteImageResult": RemoteImageResult, - "RemoteSearchResult": RemoteSearchResult, - "RemoteSubtitleInfo": RemoteSubtitleInfo, - "RemoveFromPlaylistRequestDto": RemoveFromPlaylistRequestDto, - "ReportPlaybackProgressRequest": ReportPlaybackProgressRequest, - "ReportPlaybackStartRequest": ReportPlaybackStartRequest, - "ReportPlaybackStoppedRequest": ReportPlaybackStoppedRequest, - "RepositoryInfo": RepositoryInfo, - "ResponseProfile": ResponseProfile, - "SearchHint": SearchHint, - "SearchHintResult": SearchHintResult, - "SeekRequestDto": SeekRequestDto, - "SendCommand": SendCommand, - "SendFullGeneralCommandRequest": SendFullGeneralCommandRequest, - "SendMessageCommandRequest": SendMessageCommandRequest, - "SeriesInfo": SeriesInfo, - "SeriesInfoRemoteSearchQuery": SeriesInfoRemoteSearchQuery, - "SeriesTimerInfoDto": SeriesTimerInfoDto, - "SeriesTimerInfoDtoQueryResult": SeriesTimerInfoDtoQueryResult, - "ServerConfiguration": ServerConfiguration, - "ServerDiscoveryInfo": ServerDiscoveryInfo, - "SessionInfo": SessionInfo, - "SessionInfoFullNowPlayingItem": SessionInfoFullNowPlayingItem, - "SessionInfoNowPlayingItem": SessionInfoNowPlayingItem, - "SessionUserInfo": SessionUserInfo, - "SetChannelMappingDto": SetChannelMappingDto, - "SetChannelMappingRequest": SetChannelMappingRequest, - "SetPlaylistItemRequestDto": SetPlaylistItemRequestDto, - "SetRemoteAccessRequest": SetRemoteAccessRequest, - "SetRepeatModeRequestDto": SetRepeatModeRequestDto, - "SetShuffleModeRequestDto": SetShuffleModeRequestDto, - "SongInfo": SongInfo, - "SpecialViewOptionDto": SpecialViewOptionDto, - "StartupConfigurationDto": StartupConfigurationDto, - "StartupRemoteAccessDto": StartupRemoteAccessDto, - "StartupUserDto": StartupUserDto, - "SubtitleOptions": SubtitleOptions, - "SubtitleProfile": SubtitleProfile, - "SyncPlayBufferingRequest": SyncPlayBufferingRequest, - "SyncPlayCreateGroupRequest": SyncPlayCreateGroupRequest, - "SyncPlayJoinGroupRequest": SyncPlayJoinGroupRequest, - "SyncPlayMovePlaylistItemRequest": SyncPlayMovePlaylistItemRequest, - "SyncPlayNextItemRequest": SyncPlayNextItemRequest, - "SyncPlayPingRequest": SyncPlayPingRequest, - "SyncPlayPreviousItemRequest": SyncPlayPreviousItemRequest, - "SyncPlayQueueRequest": SyncPlayQueueRequest, - "SyncPlayReadyRequest": SyncPlayReadyRequest, - "SyncPlayRemoveFromPlaylistRequest": SyncPlayRemoveFromPlaylistRequest, - "SyncPlaySeekRequest": SyncPlaySeekRequest, - "SyncPlaySetIgnoreWaitRequest": SyncPlaySetIgnoreWaitRequest, - "SyncPlaySetNewQueueRequest": SyncPlaySetNewQueueRequest, - "SyncPlaySetPlaylistItemRequest": SyncPlaySetPlaylistItemRequest, - "SyncPlaySetRepeatModeRequest": SyncPlaySetRepeatModeRequest, - "SyncPlaySetShuffleModeRequest": SyncPlaySetShuffleModeRequest, - "SystemInfo": SystemInfo, - "TaskInfo": TaskInfo, - "TaskInfoLastExecutionResult": TaskInfoLastExecutionResult, - "TaskResult": TaskResult, - "TaskTriggerInfo": TaskTriggerInfo, - "ThemeMediaResult": ThemeMediaResult, - "TimerEventInfo": TimerEventInfo, - "TimerInfoDto": TimerInfoDto, - "TimerInfoDtoProgramInfo": TimerInfoDtoProgramInfo, - "TimerInfoDtoQueryResult": TimerInfoDtoQueryResult, - "TrailerInfo": TrailerInfo, - "TrailerInfoRemoteSearchQuery": TrailerInfoRemoteSearchQuery, - "TranscodingInfo": TranscodingInfo, - "TranscodingProfile": TranscodingProfile, - "TunerChannelMapping": TunerChannelMapping, - "TunerHostInfo": TunerHostInfo, - "TypeOptions": TypeOptions, - "UpdateConfigurationRequest": UpdateConfigurationRequest, - "UpdateDeviceOptionsRequest": UpdateDeviceOptionsRequest, - "UpdateDisplayPreferencesRequest": UpdateDisplayPreferencesRequest, - "UpdateInitialConfigurationRequest": UpdateInitialConfigurationRequest, - "UpdateItemRequest": UpdateItemRequest, - "UpdateLibraryOptionsDto": UpdateLibraryOptionsDto, - "UpdateLibraryOptionsRequest": UpdateLibraryOptionsRequest, - "UpdateMediaEncoderPathRequest": UpdateMediaEncoderPathRequest, - "UpdateMediaPathRequest": UpdateMediaPathRequest, - "UpdateMediaPathRequestDto": UpdateMediaPathRequestDto, - "UpdateMediaPathRequestDtoPathInfo": UpdateMediaPathRequestDtoPathInfo, - "UpdateStartupUserRequest": UpdateStartupUserRequest, - "UpdateUserConfigurationRequest": UpdateUserConfigurationRequest, - "UpdateUserEasyPassword": UpdateUserEasyPassword, - "UpdateUserEasyPasswordRequest": UpdateUserEasyPasswordRequest, - "UpdateUserPassword": UpdateUserPassword, - "UpdateUserPasswordRequest": UpdateUserPasswordRequest, - "UpdateUserPolicyRequest": UpdateUserPolicyRequest, - "UpdateUserRequest": UpdateUserRequest, - "UploadSubtitleDto": UploadSubtitleDto, - "UploadSubtitleRequest": UploadSubtitleRequest, - "UserConfiguration": UserConfiguration, - "UserDto": UserDto, - "UserDtoConfiguration": UserDtoConfiguration, - "UserDtoPolicy": UserDtoPolicy, - "UserItemDataDto": UserItemDataDto, - "UserPolicy": UserPolicy, - "UtcTimeResponse": UtcTimeResponse, - "ValidatePathDto": ValidatePathDto, - "ValidatePathRequest": ValidatePathRequest, - "VersionInfo": VersionInfo, - "VirtualFolderInfo": VirtualFolderInfo, - "WakeOnLanInfo": WakeOnLanInfo, - "XbmcMetadataOptions": XbmcMetadataOptions, - "XmlAttribute": XmlAttribute, -} - -export class ObjectSerializer { - public static findCorrectType(data: any, expectedType: string) { - if (data == undefined) { - return expectedType; - } else if (primitives.indexOf(expectedType.toLowerCase()) !== -1) { - return expectedType; - } else if (expectedType === "Date") { - return expectedType; - } else { - if (enumsMap[expectedType]) { - return expectedType; - } - - if (!typeMap[expectedType]) { - return expectedType; // w/e we don't know the type - } - - // Check the discriminator - let discriminatorProperty = typeMap[expectedType].discriminator; - if (discriminatorProperty == null) { - return expectedType; // the type does not have a discriminator. use it. - } else { - if (data[discriminatorProperty]) { - var discriminatorType = data[discriminatorProperty]; - if(typeMap[discriminatorType]){ - return discriminatorType; // use the type given in the discriminator - } else { - return expectedType; // discriminator did not map to a type - } - } else { - return expectedType; // discriminator was not present (or an empty string) - } - } - } - } - - public static serialize(data: any, type: string) { - if (data == undefined) { - return data; - } else if (primitives.indexOf(type.toLowerCase()) !== -1) { - return data; - } else if (type.lastIndexOf("Array<", 0) === 0) { // string.startsWith pre es6 - let subType: string = type.replace("Array<", ""); // Array => Type> - subType = subType.substring(0, subType.length - 1); // Type> => Type - let transformedData: any[] = []; - for (let index = 0; index < data.length; index++) { - let datum = data[index]; - transformedData.push(ObjectSerializer.serialize(datum, subType)); - } - return transformedData; - } else if (type === "Date") { - return data.toISOString(); - } else { - if (enumsMap[type]) { - return data; - } - if (!typeMap[type]) { // in case we dont know the type - return data; - } - - // Get the actual type of this object - type = this.findCorrectType(data, type); - - // get the map for the correct type. - let attributeTypes = typeMap[type].getAttributeTypeMap(); - let instance: {[index: string]: any} = {}; - for (let index = 0; index < attributeTypes.length; index++) { - let attributeType = attributeTypes[index]; - instance[attributeType.baseName] = ObjectSerializer.serialize(data[attributeType.name], attributeType.type); - } - return instance; - } - } - - public static deserialize(data: any, type: string) { - // polymorphism may change the actual type. - type = ObjectSerializer.findCorrectType(data, type); - if (data == undefined) { - return data; - } else if (primitives.indexOf(type.toLowerCase()) !== -1) { - return data; - } else if (type.lastIndexOf("Array<", 0) === 0) { // string.startsWith pre es6 - let subType: string = type.replace("Array<", ""); // Array => Type> - subType = subType.substring(0, subType.length - 1); // Type> => Type - let transformedData: any[] = []; - for (let index = 0; index < data.length; index++) { - let datum = data[index]; - transformedData.push(ObjectSerializer.deserialize(datum, subType)); - } - return transformedData; - } else if (type === "Date") { - return new Date(data); - } else { - if (enumsMap[type]) {// is Enum - return data; - } - - if (!typeMap[type]) { // dont know the type - return data; - } - let instance = new typeMap[type](); - let attributeTypes = typeMap[type].getAttributeTypeMap(); - for (let index = 0; index < attributeTypes.length; index++) { - let attributeType = attributeTypes[index]; - instance[attributeType.name] = ObjectSerializer.deserialize(data[attributeType.baseName], attributeType.type); - } - return instance; - } - } -} - -export interface Authentication { - /** - * Apply authentication settings to header and query params. - */ - applyToRequest(requestOptions: localVarRequest.Options): Promise | void; -} - -export class HttpBasicAuth implements Authentication { - public username: string = ''; - public password: string = ''; - - applyToRequest(requestOptions: localVarRequest.Options): void { - requestOptions.auth = { - username: this.username, password: this.password - } - } -} - -export class HttpBearerAuth implements Authentication { - public accessToken: string | (() => string) = ''; - - applyToRequest(requestOptions: localVarRequest.Options): void { - if (requestOptions && requestOptions.headers) { - const accessToken = typeof this.accessToken === 'function' - ? this.accessToken() - : this.accessToken; - requestOptions.headers["Authorization"] = "Bearer " + accessToken; - } - } -} - -export class ApiKeyAuth implements Authentication { - public apiKey: string = ''; - - constructor(private location: string, private paramName: string) { - } - - applyToRequest(requestOptions: localVarRequest.Options): void { - if (this.location == "query") { - (requestOptions.qs)[this.paramName] = this.apiKey; - } else if (this.location == "header" && requestOptions && requestOptions.headers) { - requestOptions.headers[this.paramName] = this.apiKey; - } else if (this.location == 'cookie' && requestOptions && requestOptions.headers) { - if (requestOptions.headers['Cookie']) { - requestOptions.headers['Cookie'] += '; ' + this.paramName + '=' + encodeURIComponent(this.apiKey); - } - else { - requestOptions.headers['Cookie'] = this.paramName + '=' + encodeURIComponent(this.apiKey); - } - } - } -} - -export class OAuth implements Authentication { - public accessToken: string = ''; - - applyToRequest(requestOptions: localVarRequest.Options): void { - if (requestOptions && requestOptions.headers) { - requestOptions.headers["Authorization"] = "Bearer " + this.accessToken; - } - } -} - -export class VoidAuth implements Authentication { - public username: string = ''; - public password: string = ''; - - applyToRequest(_: localVarRequest.Options): void { - // Do nothing - } -} - -export type Interceptor = (requestOptions: localVarRequest.Options) => (Promise | void); diff --git a/jellyfin/model/movePlaylistItemRequestDto.ts b/jellyfin/model/movePlaylistItemRequestDto.ts deleted file mode 100644 index 8d61112..0000000 --- a/jellyfin/model/movePlaylistItemRequestDto.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class MovePlaylistItemRequestDto. -*/ -export class MovePlaylistItemRequestDto { - /** - * Gets or sets the playlist identifier of the item. - */ - 'playlistItemId'?: string; - /** - * Gets or sets the new position. - */ - 'newIndex'?: number; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - }, - { - "name": "newIndex", - "baseName": "NewIndex", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return MovePlaylistItemRequestDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/movieInfo.ts b/jellyfin/model/movieInfo.ts deleted file mode 100644 index bcd55f3..0000000 --- a/jellyfin/model/movieInfo.ts +++ /dev/null @@ -1,112 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class MovieInfo { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the original title. - */ - 'originalTitle'?: string | null; - /** - * Gets or sets the path. - */ - 'path'?: string | null; - /** - * Gets or sets the metadata language. - */ - 'metadataLanguage'?: string | null; - /** - * Gets or sets the metadata country code. - */ - 'metadataCountryCode'?: string | null; - /** - * Gets or sets the provider ids. - */ - 'providerIds'?: { [key: string]: string; } | null; - /** - * Gets or sets the year. - */ - 'year'?: number | null; - 'indexNumber'?: number | null; - 'parentIndexNumber'?: number | null; - 'premiereDate'?: Date | null; - 'isAutomated'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "originalTitle", - "baseName": "OriginalTitle", - "type": "string" - }, - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "metadataLanguage", - "baseName": "MetadataLanguage", - "type": "string" - }, - { - "name": "metadataCountryCode", - "baseName": "MetadataCountryCode", - "type": "string" - }, - { - "name": "providerIds", - "baseName": "ProviderIds", - "type": "{ [key: string]: string; }" - }, - { - "name": "year", - "baseName": "Year", - "type": "number" - }, - { - "name": "indexNumber", - "baseName": "IndexNumber", - "type": "number" - }, - { - "name": "parentIndexNumber", - "baseName": "ParentIndexNumber", - "type": "number" - }, - { - "name": "premiereDate", - "baseName": "PremiereDate", - "type": "Date" - }, - { - "name": "isAutomated", - "baseName": "IsAutomated", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return MovieInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/movieInfoRemoteSearchQuery.ts b/jellyfin/model/movieInfoRemoteSearchQuery.ts deleted file mode 100644 index 33bffe6..0000000 --- a/jellyfin/model/movieInfoRemoteSearchQuery.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { MovieInfo } from './movieInfo'; - -export class MovieInfoRemoteSearchQuery { - 'searchInfo'?: MovieInfo | null; - 'itemId'?: string; - /** - * Gets or sets the provider name to search within if set. - */ - 'searchProviderName'?: string | null; - /** - * Gets or sets a value indicating whether disabled providers should be included. - */ - 'includeDisabledProviders'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "searchInfo", - "baseName": "SearchInfo", - "type": "MovieInfo" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "searchProviderName", - "baseName": "SearchProviderName", - "type": "string" - }, - { - "name": "includeDisabledProviders", - "baseName": "IncludeDisabledProviders", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return MovieInfoRemoteSearchQuery.attributeTypeMap; - } -} - diff --git a/jellyfin/model/musicVideoInfo.ts b/jellyfin/model/musicVideoInfo.ts deleted file mode 100644 index ae301fa..0000000 --- a/jellyfin/model/musicVideoInfo.ts +++ /dev/null @@ -1,118 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class MusicVideoInfo { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the original title. - */ - 'originalTitle'?: string | null; - /** - * Gets or sets the path. - */ - 'path'?: string | null; - /** - * Gets or sets the metadata language. - */ - 'metadataLanguage'?: string | null; - /** - * Gets or sets the metadata country code. - */ - 'metadataCountryCode'?: string | null; - /** - * Gets or sets the provider ids. - */ - 'providerIds'?: { [key: string]: string; } | null; - /** - * Gets or sets the year. - */ - 'year'?: number | null; - 'indexNumber'?: number | null; - 'parentIndexNumber'?: number | null; - 'premiereDate'?: Date | null; - 'isAutomated'?: boolean; - 'artists'?: Array | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "originalTitle", - "baseName": "OriginalTitle", - "type": "string" - }, - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "metadataLanguage", - "baseName": "MetadataLanguage", - "type": "string" - }, - { - "name": "metadataCountryCode", - "baseName": "MetadataCountryCode", - "type": "string" - }, - { - "name": "providerIds", - "baseName": "ProviderIds", - "type": "{ [key: string]: string; }" - }, - { - "name": "year", - "baseName": "Year", - "type": "number" - }, - { - "name": "indexNumber", - "baseName": "IndexNumber", - "type": "number" - }, - { - "name": "parentIndexNumber", - "baseName": "ParentIndexNumber", - "type": "number" - }, - { - "name": "premiereDate", - "baseName": "PremiereDate", - "type": "Date" - }, - { - "name": "isAutomated", - "baseName": "IsAutomated", - "type": "boolean" - }, - { - "name": "artists", - "baseName": "Artists", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return MusicVideoInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/musicVideoInfoRemoteSearchQuery.ts b/jellyfin/model/musicVideoInfoRemoteSearchQuery.ts deleted file mode 100644 index 896f9e7..0000000 --- a/jellyfin/model/musicVideoInfoRemoteSearchQuery.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { MusicVideoInfo } from './musicVideoInfo'; - -export class MusicVideoInfoRemoteSearchQuery { - 'searchInfo'?: MusicVideoInfo | null; - 'itemId'?: string; - /** - * Gets or sets the provider name to search within if set. - */ - 'searchProviderName'?: string | null; - /** - * Gets or sets a value indicating whether disabled providers should be included. - */ - 'includeDisabledProviders'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "searchInfo", - "baseName": "SearchInfo", - "type": "MusicVideoInfo" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "searchProviderName", - "baseName": "SearchProviderName", - "type": "string" - }, - { - "name": "includeDisabledProviders", - "baseName": "IncludeDisabledProviders", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return MusicVideoInfoRemoteSearchQuery.attributeTypeMap; - } -} - diff --git a/jellyfin/model/nameGuidPair.ts b/jellyfin/model/nameGuidPair.ts deleted file mode 100644 index a89f937..0000000 --- a/jellyfin/model/nameGuidPair.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class NameGuidPair { - 'name'?: string | null; - 'id'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return NameGuidPair.attributeTypeMap; - } -} - diff --git a/jellyfin/model/nameIdPair.ts b/jellyfin/model/nameIdPair.ts deleted file mode 100644 index 48c7e58..0000000 --- a/jellyfin/model/nameIdPair.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class NameIdPair { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the identifier. - */ - 'id'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return NameIdPair.attributeTypeMap; - } -} - diff --git a/jellyfin/model/nameValuePair.ts b/jellyfin/model/nameValuePair.ts deleted file mode 100644 index b5bdd10..0000000 --- a/jellyfin/model/nameValuePair.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class NameValuePair { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the value. - */ - 'value'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "value", - "baseName": "Value", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return NameValuePair.attributeTypeMap; - } -} - diff --git a/jellyfin/model/networkConfiguration.ts b/jellyfin/model/networkConfiguration.ts deleted file mode 100644 index 1da9dd7..0000000 --- a/jellyfin/model/networkConfiguration.ts +++ /dev/null @@ -1,334 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Defines the Jellyfin.Networking.Configuration.NetworkConfiguration. -*/ -export class NetworkConfiguration { - /** - * Gets or sets a value indicating whether the server should force connections over HTTPS. - */ - 'requireHttps'?: boolean; - /** - * Gets or sets the filesystem path of an X.509 certificate to use for SSL. - */ - 'certificatePath'?: string; - /** - * Gets or sets the password required to access the X.509 certificate data in the file specified by Jellyfin.Networking.Configuration.NetworkConfiguration.CertificatePath. - */ - 'certificatePassword'?: string; - /** - * Gets or sets a value used to specify the URL prefix that your Jellyfin instance can be accessed at. - */ - 'baseUrl'?: string; - /** - * Gets or sets the public HTTPS port. - */ - 'publicHttpsPort'?: number; - /** - * Gets or sets the HTTP server port number. - */ - 'httpServerPortNumber'?: number; - /** - * Gets or sets the HTTPS server port number. - */ - 'httpsPortNumber'?: number; - /** - * Gets or sets a value indicating whether to use HTTPS. - */ - 'enableHttps'?: boolean; - /** - * Gets or sets the public mapped port. - */ - 'publicPort'?: number; - /** - * Gets or sets a value indicating whether the http port should be mapped as part of UPnP automatic port forwarding. - */ - 'uPnPCreateHttpPortMap'?: boolean; - /** - * Gets or sets the UDPPortRange. - */ - 'uDPPortRange'?: string; - /** - * Gets or sets a value indicating whether gets or sets IPV6 capability. - */ - 'enableIPV6'?: boolean; - /** - * Gets or sets a value indicating whether gets or sets IPV4 capability. - */ - 'enableIPV4'?: boolean; - /** - * Gets or sets a value indicating whether detailed SSDP logs are sent to the console/log. \"Emby.Dlna\": \"Debug\" must be set in logging.default.json for this property to have any effect. - */ - 'enableSSDPTracing'?: boolean; - /** - * Gets or sets the SSDPTracingFilter Gets or sets a value indicating whether an IP address is to be used to filter the detailed ssdp logs that are being sent to the console/log. If the setting \"Emby.Dlna\": \"Debug\" msut be set in logging.default.json for this property to work. - */ - 'sSDPTracingFilter'?: string; - /** - * Gets or sets the number of times SSDP UDP messages are sent. - */ - 'uDPSendCount'?: number; - /** - * Gets or sets the delay between each groups of SSDP messages (in ms). - */ - 'uDPSendDelay'?: number; - /** - * Gets or sets a value indicating whether address names that match Jellyfin.Networking.Configuration.NetworkConfiguration.VirtualInterfaceNames should be Ignore for the purposes of binding. - */ - 'ignoreVirtualInterfaces'?: boolean; - /** - * Gets or sets a value indicating the interfaces that should be ignored. The list can be comma separated. . - */ - 'virtualInterfaceNames'?: string; - /** - * Gets or sets the time (in seconds) between the pings of SSDP gateway monitor. - */ - 'gatewayMonitorPeriod'?: number; - /** - * Gets a value indicating whether multi-socket binding is available. - */ - 'enableMultiSocketBinding'?: boolean; - /** - * Gets or sets a value indicating whether all IPv6 interfaces should be treated as on the internal network. Depending on the address range implemented ULA ranges might not be used. - */ - 'trustAllIP6Interfaces'?: boolean; - /** - * Gets or sets the ports that HDHomerun uses. - */ - 'hDHomerunPortRange'?: string; - /** - * Gets or sets the PublishedServerUriBySubnet Gets or sets PublishedServerUri to advertise for specific subnets. - */ - 'publishedServerUriBySubnet'?: Array; - /** - * Gets or sets a value indicating whether Autodiscovery tracing is enabled. - */ - 'autoDiscoveryTracing'?: boolean; - /** - * Gets or sets a value indicating whether Autodiscovery is enabled. - */ - 'autoDiscovery'?: boolean; - /** - * Gets or sets the filter for remote IP connectivity. Used in conjuntion with . - */ - 'remoteIPFilter'?: Array; - /** - * Gets or sets a value indicating whether contains a blacklist or a whitelist. Default is a whitelist. - */ - 'isRemoteIPFilterBlacklist'?: boolean; - /** - * Gets or sets a value indicating whether to enable automatic port forwarding. - */ - 'enableUPnP'?: boolean; - /** - * Gets or sets a value indicating whether access outside of the LAN is permitted. - */ - 'enableRemoteAccess'?: boolean; - /** - * Gets or sets the subnets that are deemed to make up the LAN. - */ - 'localNetworkSubnets'?: Array; - /** - * Gets or sets the interface addresses which Jellyfin will bind to. If empty, all interfaces will be used. - */ - 'localNetworkAddresses'?: Array; - /** - * Gets or sets the known proxies. If the proxy is a network, it\'s added to the KnownNetworks. - */ - 'knownProxies'?: Array; - /** - * Gets or sets a value indicating whether the published server uri is based on information in HTTP requests. - */ - 'enablePublishedServerUriByRequest'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "requireHttps", - "baseName": "RequireHttps", - "type": "boolean" - }, - { - "name": "certificatePath", - "baseName": "CertificatePath", - "type": "string" - }, - { - "name": "certificatePassword", - "baseName": "CertificatePassword", - "type": "string" - }, - { - "name": "baseUrl", - "baseName": "BaseUrl", - "type": "string" - }, - { - "name": "publicHttpsPort", - "baseName": "PublicHttpsPort", - "type": "number" - }, - { - "name": "httpServerPortNumber", - "baseName": "HttpServerPortNumber", - "type": "number" - }, - { - "name": "httpsPortNumber", - "baseName": "HttpsPortNumber", - "type": "number" - }, - { - "name": "enableHttps", - "baseName": "EnableHttps", - "type": "boolean" - }, - { - "name": "publicPort", - "baseName": "PublicPort", - "type": "number" - }, - { - "name": "uPnPCreateHttpPortMap", - "baseName": "UPnPCreateHttpPortMap", - "type": "boolean" - }, - { - "name": "uDPPortRange", - "baseName": "UDPPortRange", - "type": "string" - }, - { - "name": "enableIPV6", - "baseName": "EnableIPV6", - "type": "boolean" - }, - { - "name": "enableIPV4", - "baseName": "EnableIPV4", - "type": "boolean" - }, - { - "name": "enableSSDPTracing", - "baseName": "EnableSSDPTracing", - "type": "boolean" - }, - { - "name": "sSDPTracingFilter", - "baseName": "SSDPTracingFilter", - "type": "string" - }, - { - "name": "uDPSendCount", - "baseName": "UDPSendCount", - "type": "number" - }, - { - "name": "uDPSendDelay", - "baseName": "UDPSendDelay", - "type": "number" - }, - { - "name": "ignoreVirtualInterfaces", - "baseName": "IgnoreVirtualInterfaces", - "type": "boolean" - }, - { - "name": "virtualInterfaceNames", - "baseName": "VirtualInterfaceNames", - "type": "string" - }, - { - "name": "gatewayMonitorPeriod", - "baseName": "GatewayMonitorPeriod", - "type": "number" - }, - { - "name": "enableMultiSocketBinding", - "baseName": "EnableMultiSocketBinding", - "type": "boolean" - }, - { - "name": "trustAllIP6Interfaces", - "baseName": "TrustAllIP6Interfaces", - "type": "boolean" - }, - { - "name": "hDHomerunPortRange", - "baseName": "HDHomerunPortRange", - "type": "string" - }, - { - "name": "publishedServerUriBySubnet", - "baseName": "PublishedServerUriBySubnet", - "type": "Array" - }, - { - "name": "autoDiscoveryTracing", - "baseName": "AutoDiscoveryTracing", - "type": "boolean" - }, - { - "name": "autoDiscovery", - "baseName": "AutoDiscovery", - "type": "boolean" - }, - { - "name": "remoteIPFilter", - "baseName": "RemoteIPFilter", - "type": "Array" - }, - { - "name": "isRemoteIPFilterBlacklist", - "baseName": "IsRemoteIPFilterBlacklist", - "type": "boolean" - }, - { - "name": "enableUPnP", - "baseName": "EnableUPnP", - "type": "boolean" - }, - { - "name": "enableRemoteAccess", - "baseName": "EnableRemoteAccess", - "type": "boolean" - }, - { - "name": "localNetworkSubnets", - "baseName": "LocalNetworkSubnets", - "type": "Array" - }, - { - "name": "localNetworkAddresses", - "baseName": "LocalNetworkAddresses", - "type": "Array" - }, - { - "name": "knownProxies", - "baseName": "KnownProxies", - "type": "Array" - }, - { - "name": "enablePublishedServerUriByRequest", - "baseName": "EnablePublishedServerUriByRequest", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return NetworkConfiguration.attributeTypeMap; - } -} - diff --git a/jellyfin/model/newGroupRequestDto.ts b/jellyfin/model/newGroupRequestDto.ts deleted file mode 100644 index fe7a34c..0000000 --- a/jellyfin/model/newGroupRequestDto.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class NewGroupRequestDto. -*/ -export class NewGroupRequestDto { - /** - * Gets or sets the group name. - */ - 'groupName'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "groupName", - "baseName": "GroupName", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return NewGroupRequestDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/nextItemRequestDto.ts b/jellyfin/model/nextItemRequestDto.ts deleted file mode 100644 index f091677..0000000 --- a/jellyfin/model/nextItemRequestDto.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class NextItemRequestDto. -*/ -export class NextItemRequestDto { - /** - * Gets or sets the playing item identifier. - */ - 'playlistItemId'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return NextItemRequestDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/notificationDto.ts b/jellyfin/model/notificationDto.ts deleted file mode 100644 index 94c3619..0000000 --- a/jellyfin/model/notificationDto.ts +++ /dev/null @@ -1,100 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { NotificationLevel } from './notificationLevel'; - -/** -* The notification DTO. -*/ -export class NotificationDto { - /** - * Gets or sets the notification ID. Defaults to an empty string. - */ - 'id'?: string; - /** - * Gets or sets the notification\'s user ID. Defaults to an empty string. - */ - 'userId'?: string; - /** - * Gets or sets the notification date. - */ - 'date'?: Date; - /** - * Gets or sets a value indicating whether the notification has been read. Defaults to false. - */ - 'isRead'?: boolean; - /** - * Gets or sets the notification\'s name. Defaults to an empty string. - */ - 'name'?: string; - /** - * Gets or sets the notification\'s description. Defaults to an empty string. - */ - 'description'?: string; - /** - * Gets or sets the notification\'s URL. Defaults to an empty string. - */ - 'url'?: string; - 'level'?: NotificationLevel; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "userId", - "baseName": "UserId", - "type": "string" - }, - { - "name": "date", - "baseName": "Date", - "type": "Date" - }, - { - "name": "isRead", - "baseName": "IsRead", - "type": "boolean" - }, - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "description", - "baseName": "Description", - "type": "string" - }, - { - "name": "url", - "baseName": "Url", - "type": "string" - }, - { - "name": "level", - "baseName": "Level", - "type": "NotificationLevel" - } ]; - - static getAttributeTypeMap() { - return NotificationDto.attributeTypeMap; - } -} - -export namespace NotificationDto { -} diff --git a/jellyfin/model/notificationLevel.ts b/jellyfin/model/notificationLevel.ts deleted file mode 100644 index fbbeb04..0000000 --- a/jellyfin/model/notificationLevel.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum NotificationLevel { - Normal = 'Normal', - Warning = 'Warning', - Error = 'Error' -} diff --git a/jellyfin/model/notificationOption.ts b/jellyfin/model/notificationOption.ts deleted file mode 100644 index 261c35d..0000000 --- a/jellyfin/model/notificationOption.ts +++ /dev/null @@ -1,76 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { SendToUserType } from './sendToUserType'; - -export class NotificationOption { - 'type'?: string | null; - /** - * Gets or sets user Ids to not monitor (it\'s opt out). - */ - 'disabledMonitorUsers'?: Array; - /** - * Gets or sets user Ids to send to (if SendToUserMode == Custom). - */ - 'sendToUsers'?: Array; - /** - * Gets or sets a value indicating whether this MediaBrowser.Model.Notifications.NotificationOption is enabled. - */ - 'enabled'?: boolean; - /** - * Gets or sets the disabled services. - */ - 'disabledServices'?: Array; - 'sendToUserMode'?: SendToUserType; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "type", - "baseName": "Type", - "type": "string" - }, - { - "name": "disabledMonitorUsers", - "baseName": "DisabledMonitorUsers", - "type": "Array" - }, - { - "name": "sendToUsers", - "baseName": "SendToUsers", - "type": "Array" - }, - { - "name": "enabled", - "baseName": "Enabled", - "type": "boolean" - }, - { - "name": "disabledServices", - "baseName": "DisabledServices", - "type": "Array" - }, - { - "name": "sendToUserMode", - "baseName": "SendToUserMode", - "type": "SendToUserType" - } ]; - - static getAttributeTypeMap() { - return NotificationOption.attributeTypeMap; - } -} - -export namespace NotificationOption { -} diff --git a/jellyfin/model/notificationOptions.ts b/jellyfin/model/notificationOptions.ts deleted file mode 100644 index b287d98..0000000 --- a/jellyfin/model/notificationOptions.ts +++ /dev/null @@ -1,32 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { NotificationOption } from './notificationOption'; - -export class NotificationOptions { - 'options'?: Array | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "options", - "baseName": "Options", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return NotificationOptions.attributeTypeMap; - } -} - diff --git a/jellyfin/model/notificationResultDto.ts b/jellyfin/model/notificationResultDto.ts deleted file mode 100644 index 5338625..0000000 --- a/jellyfin/model/notificationResultDto.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { NotificationDto } from './notificationDto'; - -/** -* A list of notifications with the total record count for pagination. -*/ -export class NotificationResultDto { - /** - * Gets or sets the current page of notifications. - */ - 'notifications'?: Array; - /** - * Gets or sets the total number of notifications. - */ - 'totalRecordCount'?: number; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "notifications", - "baseName": "Notifications", - "type": "Array" - }, - { - "name": "totalRecordCount", - "baseName": "TotalRecordCount", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return NotificationResultDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/notificationTypeInfo.ts b/jellyfin/model/notificationTypeInfo.ts deleted file mode 100644 index 99c861a..0000000 --- a/jellyfin/model/notificationTypeInfo.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class NotificationTypeInfo { - 'type'?: string | null; - 'name'?: string | null; - 'enabled'?: boolean; - 'category'?: string | null; - 'isBasedOnUserEvent'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "type", - "baseName": "Type", - "type": "string" - }, - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "enabled", - "baseName": "Enabled", - "type": "boolean" - }, - { - "name": "category", - "baseName": "Category", - "type": "string" - }, - { - "name": "isBasedOnUserEvent", - "baseName": "IsBasedOnUserEvent", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return NotificationTypeInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/notificationsSummaryDto.ts b/jellyfin/model/notificationsSummaryDto.ts deleted file mode 100644 index 3bce043..0000000 --- a/jellyfin/model/notificationsSummaryDto.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { NotificationLevel } from './notificationLevel'; - -/** -* The notification summary DTO. -*/ -export class NotificationsSummaryDto { - /** - * Gets or sets the number of unread notifications. - */ - 'unreadCount'?: number; - 'maxUnreadNotificationLevel'?: NotificationLevel | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "unreadCount", - "baseName": "UnreadCount", - "type": "number" - }, - { - "name": "maxUnreadNotificationLevel", - "baseName": "MaxUnreadNotificationLevel", - "type": "NotificationLevel" - } ]; - - static getAttributeTypeMap() { - return NotificationsSummaryDto.attributeTypeMap; - } -} - -export namespace NotificationsSummaryDto { -} diff --git a/jellyfin/model/objectGroupUpdate.ts b/jellyfin/model/objectGroupUpdate.ts deleted file mode 100644 index 420a6e7..0000000 --- a/jellyfin/model/objectGroupUpdate.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { GroupUpdateType } from './groupUpdateType'; - -/** -* Class GroupUpdate. -*/ -export class ObjectGroupUpdate { - /** - * Gets the group identifier. - */ - 'groupId'?: string; - 'type'?: GroupUpdateType; - /** - * Gets the update data. - */ - 'data'?: any | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "groupId", - "baseName": "GroupId", - "type": "string" - }, - { - "name": "type", - "baseName": "Type", - "type": "GroupUpdateType" - }, - { - "name": "data", - "baseName": "Data", - "type": "any" - } ]; - - static getAttributeTypeMap() { - return ObjectGroupUpdate.attributeTypeMap; - } -} - -export namespace ObjectGroupUpdate { -} diff --git a/jellyfin/model/openLiveStreamDto.ts b/jellyfin/model/openLiveStreamDto.ts deleted file mode 100644 index 789ba29..0000000 --- a/jellyfin/model/openLiveStreamDto.ts +++ /dev/null @@ -1,144 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ClientCapabilitiesDtoDeviceProfile } from './clientCapabilitiesDtoDeviceProfile'; -import { MediaProtocol } from './mediaProtocol'; - -/** -* Open live stream dto. -*/ -export class OpenLiveStreamDto { - /** - * Gets or sets the open token. - */ - 'openToken'?: string | null; - /** - * Gets or sets the user id. - */ - 'userId'?: string | null; - /** - * Gets or sets the play session id. - */ - 'playSessionId'?: string | null; - /** - * Gets or sets the max streaming bitrate. - */ - 'maxStreamingBitrate'?: number | null; - /** - * Gets or sets the start time in ticks. - */ - 'startTimeTicks'?: number | null; - /** - * Gets or sets the audio stream index. - */ - 'audioStreamIndex'?: number | null; - /** - * Gets or sets the subtitle stream index. - */ - 'subtitleStreamIndex'?: number | null; - /** - * Gets or sets the max audio channels. - */ - 'maxAudioChannels'?: number | null; - /** - * Gets or sets the item id. - */ - 'itemId'?: string | null; - /** - * Gets or sets a value indicating whether to enable direct play. - */ - 'enableDirectPlay'?: boolean | null; - /** - * Gets or sets a value indicating whether to enale direct stream. - */ - 'enableDirectStream'?: boolean | null; - 'deviceProfile'?: ClientCapabilitiesDtoDeviceProfile | null; - /** - * Gets or sets the device play protocols. - */ - 'directPlayProtocols'?: Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "openToken", - "baseName": "OpenToken", - "type": "string" - }, - { - "name": "userId", - "baseName": "UserId", - "type": "string" - }, - { - "name": "playSessionId", - "baseName": "PlaySessionId", - "type": "string" - }, - { - "name": "maxStreamingBitrate", - "baseName": "MaxStreamingBitrate", - "type": "number" - }, - { - "name": "startTimeTicks", - "baseName": "StartTimeTicks", - "type": "number" - }, - { - "name": "audioStreamIndex", - "baseName": "AudioStreamIndex", - "type": "number" - }, - { - "name": "subtitleStreamIndex", - "baseName": "SubtitleStreamIndex", - "type": "number" - }, - { - "name": "maxAudioChannels", - "baseName": "MaxAudioChannels", - "type": "number" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "enableDirectPlay", - "baseName": "EnableDirectPlay", - "type": "boolean" - }, - { - "name": "enableDirectStream", - "baseName": "EnableDirectStream", - "type": "boolean" - }, - { - "name": "deviceProfile", - "baseName": "DeviceProfile", - "type": "ClientCapabilitiesDtoDeviceProfile" - }, - { - "name": "directPlayProtocols", - "baseName": "DirectPlayProtocols", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return OpenLiveStreamDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/openLiveStreamRequest.ts b/jellyfin/model/openLiveStreamRequest.ts deleted file mode 100644 index 3438899..0000000 --- a/jellyfin/model/openLiveStreamRequest.ts +++ /dev/null @@ -1,144 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ClientCapabilitiesDtoDeviceProfile } from './clientCapabilitiesDtoDeviceProfile'; -import { MediaProtocol } from './mediaProtocol'; - -/** -* Open live stream dto. -*/ -export class OpenLiveStreamRequest { - /** - * Gets or sets the open token. - */ - 'openToken'?: string | null; - /** - * Gets or sets the user id. - */ - 'userId'?: string | null; - /** - * Gets or sets the play session id. - */ - 'playSessionId'?: string | null; - /** - * Gets or sets the max streaming bitrate. - */ - 'maxStreamingBitrate'?: number | null; - /** - * Gets or sets the start time in ticks. - */ - 'startTimeTicks'?: number | null; - /** - * Gets or sets the audio stream index. - */ - 'audioStreamIndex'?: number | null; - /** - * Gets or sets the subtitle stream index. - */ - 'subtitleStreamIndex'?: number | null; - /** - * Gets or sets the max audio channels. - */ - 'maxAudioChannels'?: number | null; - /** - * Gets or sets the item id. - */ - 'itemId'?: string | null; - /** - * Gets or sets a value indicating whether to enable direct play. - */ - 'enableDirectPlay'?: boolean | null; - /** - * Gets or sets a value indicating whether to enale direct stream. - */ - 'enableDirectStream'?: boolean | null; - 'deviceProfile'?: ClientCapabilitiesDtoDeviceProfile | null; - /** - * Gets or sets the device play protocols. - */ - 'directPlayProtocols'?: Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "openToken", - "baseName": "OpenToken", - "type": "string" - }, - { - "name": "userId", - "baseName": "UserId", - "type": "string" - }, - { - "name": "playSessionId", - "baseName": "PlaySessionId", - "type": "string" - }, - { - "name": "maxStreamingBitrate", - "baseName": "MaxStreamingBitrate", - "type": "number" - }, - { - "name": "startTimeTicks", - "baseName": "StartTimeTicks", - "type": "number" - }, - { - "name": "audioStreamIndex", - "baseName": "AudioStreamIndex", - "type": "number" - }, - { - "name": "subtitleStreamIndex", - "baseName": "SubtitleStreamIndex", - "type": "number" - }, - { - "name": "maxAudioChannels", - "baseName": "MaxAudioChannels", - "type": "number" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "enableDirectPlay", - "baseName": "EnableDirectPlay", - "type": "boolean" - }, - { - "name": "enableDirectStream", - "baseName": "EnableDirectStream", - "type": "boolean" - }, - { - "name": "deviceProfile", - "baseName": "DeviceProfile", - "type": "ClientCapabilitiesDtoDeviceProfile" - }, - { - "name": "directPlayProtocols", - "baseName": "DirectPlayProtocols", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return OpenLiveStreamRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/packageInfo.ts b/jellyfin/model/packageInfo.ts deleted file mode 100644 index f68d0cf..0000000 --- a/jellyfin/model/packageInfo.ts +++ /dev/null @@ -1,101 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { VersionInfo } from './versionInfo'; - -/** -* Class PackageInfo. -*/ -export class PackageInfo { - /** - * Gets or sets the name. - */ - 'name'?: string; - /** - * Gets or sets a long description of the plugin containing features or helpful explanations. - */ - 'description'?: string; - /** - * Gets or sets a short overview of what the plugin does. - */ - 'overview'?: string; - /** - * Gets or sets the owner. - */ - 'owner'?: string; - /** - * Gets or sets the category. - */ - 'category'?: string; - /** - * Gets or sets the guid of the assembly associated with this plugin. This is used to identify the proper item for automatic updates. - */ - 'guid'?: string; - /** - * Gets or sets the versions. - */ - 'versions'?: Array; - /** - * Gets or sets the image url for the package. - */ - 'imageUrl'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "name", - "type": "string" - }, - { - "name": "description", - "baseName": "description", - "type": "string" - }, - { - "name": "overview", - "baseName": "overview", - "type": "string" - }, - { - "name": "owner", - "baseName": "owner", - "type": "string" - }, - { - "name": "category", - "baseName": "category", - "type": "string" - }, - { - "name": "guid", - "baseName": "guid", - "type": "string" - }, - { - "name": "versions", - "baseName": "versions", - "type": "Array" - }, - { - "name": "imageUrl", - "baseName": "imageUrl", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return PackageInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/parentalRating.ts b/jellyfin/model/parentalRating.ts deleted file mode 100644 index 5c60a2e..0000000 --- a/jellyfin/model/parentalRating.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class ParentalRating. -*/ -export class ParentalRating { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the value. - */ - 'value'?: number; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "value", - "baseName": "Value", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return ParentalRating.attributeTypeMap; - } -} - diff --git a/jellyfin/model/pathSubstitution.ts b/jellyfin/model/pathSubstitution.ts deleted file mode 100644 index 176938d..0000000 --- a/jellyfin/model/pathSubstitution.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Defines the MediaBrowser.Model.Configuration.PathSubstitution. -*/ -export class PathSubstitution { - /** - * Gets or sets the value to substitute. - */ - 'from'?: string; - /** - * Gets or sets the value to substitution with. - */ - 'to'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "from", - "baseName": "From", - "type": "string" - }, - { - "name": "to", - "baseName": "To", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return PathSubstitution.attributeTypeMap; - } -} - diff --git a/jellyfin/model/personLookupInfo.ts b/jellyfin/model/personLookupInfo.ts deleted file mode 100644 index 3b68538..0000000 --- a/jellyfin/model/personLookupInfo.ts +++ /dev/null @@ -1,112 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class PersonLookupInfo { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the original title. - */ - 'originalTitle'?: string | null; - /** - * Gets or sets the path. - */ - 'path'?: string | null; - /** - * Gets or sets the metadata language. - */ - 'metadataLanguage'?: string | null; - /** - * Gets or sets the metadata country code. - */ - 'metadataCountryCode'?: string | null; - /** - * Gets or sets the provider ids. - */ - 'providerIds'?: { [key: string]: string; } | null; - /** - * Gets or sets the year. - */ - 'year'?: number | null; - 'indexNumber'?: number | null; - 'parentIndexNumber'?: number | null; - 'premiereDate'?: Date | null; - 'isAutomated'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "originalTitle", - "baseName": "OriginalTitle", - "type": "string" - }, - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "metadataLanguage", - "baseName": "MetadataLanguage", - "type": "string" - }, - { - "name": "metadataCountryCode", - "baseName": "MetadataCountryCode", - "type": "string" - }, - { - "name": "providerIds", - "baseName": "ProviderIds", - "type": "{ [key: string]: string; }" - }, - { - "name": "year", - "baseName": "Year", - "type": "number" - }, - { - "name": "indexNumber", - "baseName": "IndexNumber", - "type": "number" - }, - { - "name": "parentIndexNumber", - "baseName": "ParentIndexNumber", - "type": "number" - }, - { - "name": "premiereDate", - "baseName": "PremiereDate", - "type": "Date" - }, - { - "name": "isAutomated", - "baseName": "IsAutomated", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return PersonLookupInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/personLookupInfoRemoteSearchQuery.ts b/jellyfin/model/personLookupInfoRemoteSearchQuery.ts deleted file mode 100644 index 6e6f737..0000000 --- a/jellyfin/model/personLookupInfoRemoteSearchQuery.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { PersonLookupInfo } from './personLookupInfo'; - -export class PersonLookupInfoRemoteSearchQuery { - 'searchInfo'?: PersonLookupInfo | null; - 'itemId'?: string; - /** - * Gets or sets the provider name to search within if set. - */ - 'searchProviderName'?: string | null; - /** - * Gets or sets a value indicating whether disabled providers should be included. - */ - 'includeDisabledProviders'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "searchInfo", - "baseName": "SearchInfo", - "type": "PersonLookupInfo" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "searchProviderName", - "baseName": "SearchProviderName", - "type": "string" - }, - { - "name": "includeDisabledProviders", - "baseName": "IncludeDisabledProviders", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return PersonLookupInfoRemoteSearchQuery.attributeTypeMap; - } -} - diff --git a/jellyfin/model/pinRedeemResult.ts b/jellyfin/model/pinRedeemResult.ts deleted file mode 100644 index dfd3899..0000000 --- a/jellyfin/model/pinRedeemResult.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class PinRedeemResult { - /** - * Gets or sets a value indicating whether this MediaBrowser.Model.Users.PinRedeemResult is success. - */ - 'success'?: boolean; - /** - * Gets or sets the users reset. - */ - 'usersReset'?: Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "success", - "baseName": "Success", - "type": "boolean" - }, - { - "name": "usersReset", - "baseName": "UsersReset", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return PinRedeemResult.attributeTypeMap; - } -} - diff --git a/jellyfin/model/pingRequestDto.ts b/jellyfin/model/pingRequestDto.ts deleted file mode 100644 index fa7ff5a..0000000 --- a/jellyfin/model/pingRequestDto.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class PingRequestDto. -*/ -export class PingRequestDto { - /** - * Gets or sets the ping time. - */ - 'ping'?: number; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "ping", - "baseName": "Ping", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return PingRequestDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/playAccess.ts b/jellyfin/model/playAccess.ts deleted file mode 100644 index 04dee5d..0000000 --- a/jellyfin/model/playAccess.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum PlayAccess { - Full = 'Full', - None = 'None' -} diff --git a/jellyfin/model/playCommand.ts b/jellyfin/model/playCommand.ts deleted file mode 100644 index 53595bb..0000000 --- a/jellyfin/model/playCommand.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Enum PlayCommand. -*/ -export enum PlayCommand { - PlayNow = 'PlayNow', - PlayNext = 'PlayNext', - PlayLast = 'PlayLast', - PlayInstantMix = 'PlayInstantMix', - PlayShuffle = 'PlayShuffle' -} diff --git a/jellyfin/model/playMethod.ts b/jellyfin/model/playMethod.ts deleted file mode 100644 index 761ccdf..0000000 --- a/jellyfin/model/playMethod.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum PlayMethod { - Transcode = 'Transcode', - DirectStream = 'DirectStream', - DirectPlay = 'DirectPlay' -} diff --git a/jellyfin/model/playRequest.ts b/jellyfin/model/playRequest.ts deleted file mode 100644 index f8a52b3..0000000 --- a/jellyfin/model/playRequest.ts +++ /dev/null @@ -1,88 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { PlayCommand } from './playCommand'; - -/** -* Class PlayRequest. -*/ -export class PlayRequest { - /** - * Gets or sets the item ids. - */ - 'itemIds'?: Array | null; - /** - * Gets or sets the start position ticks that the first item should be played at. - */ - 'startPositionTicks'?: number | null; - 'playCommand'?: PlayCommand; - /** - * Gets or sets the controlling user identifier. - */ - 'controllingUserId'?: string; - 'subtitleStreamIndex'?: number | null; - 'audioStreamIndex'?: number | null; - 'mediaSourceId'?: string | null; - 'startIndex'?: number | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "itemIds", - "baseName": "ItemIds", - "type": "Array" - }, - { - "name": "startPositionTicks", - "baseName": "StartPositionTicks", - "type": "number" - }, - { - "name": "playCommand", - "baseName": "PlayCommand", - "type": "PlayCommand" - }, - { - "name": "controllingUserId", - "baseName": "ControllingUserId", - "type": "string" - }, - { - "name": "subtitleStreamIndex", - "baseName": "SubtitleStreamIndex", - "type": "number" - }, - { - "name": "audioStreamIndex", - "baseName": "AudioStreamIndex", - "type": "number" - }, - { - "name": "mediaSourceId", - "baseName": "MediaSourceId", - "type": "string" - }, - { - "name": "startIndex", - "baseName": "StartIndex", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return PlayRequest.attributeTypeMap; - } -} - -export namespace PlayRequest { -} diff --git a/jellyfin/model/playRequestDto.ts b/jellyfin/model/playRequestDto.ts deleted file mode 100644 index 7143093..0000000 --- a/jellyfin/model/playRequestDto.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class PlayRequestDto. -*/ -export class PlayRequestDto { - /** - * Gets or sets the playing queue. - */ - 'playingQueue'?: Array; - /** - * Gets or sets the position of the playing item in the queue. - */ - 'playingItemPosition'?: number; - /** - * Gets or sets the start position ticks. - */ - 'startPositionTicks'?: number; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "playingQueue", - "baseName": "PlayingQueue", - "type": "Array" - }, - { - "name": "playingItemPosition", - "baseName": "PlayingItemPosition", - "type": "number" - }, - { - "name": "startPositionTicks", - "baseName": "StartPositionTicks", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return PlayRequestDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/playbackErrorCode.ts b/jellyfin/model/playbackErrorCode.ts deleted file mode 100644 index a891db7..0000000 --- a/jellyfin/model/playbackErrorCode.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum PlaybackErrorCode { - NotAllowed = 'NotAllowed', - NoCompatibleStream = 'NoCompatibleStream', - RateLimitExceeded = 'RateLimitExceeded' -} diff --git a/jellyfin/model/playbackInfoDto.ts b/jellyfin/model/playbackInfoDto.ts deleted file mode 100644 index e839634..0000000 --- a/jellyfin/model/playbackInfoDto.ts +++ /dev/null @@ -1,161 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ClientCapabilitiesDtoDeviceProfile } from './clientCapabilitiesDtoDeviceProfile'; - -/** -* Plabyback info dto. -*/ -export class PlaybackInfoDto { - /** - * Gets or sets the playback userId. - */ - 'userId'?: string | null; - /** - * Gets or sets the max streaming bitrate. - */ - 'maxStreamingBitrate'?: number | null; - /** - * Gets or sets the start time in ticks. - */ - 'startTimeTicks'?: number | null; - /** - * Gets or sets the audio stream index. - */ - 'audioStreamIndex'?: number | null; - /** - * Gets or sets the subtitle stream index. - */ - 'subtitleStreamIndex'?: number | null; - /** - * Gets or sets the max audio channels. - */ - 'maxAudioChannels'?: number | null; - /** - * Gets or sets the media source id. - */ - 'mediaSourceId'?: string | null; - /** - * Gets or sets the live stream id. - */ - 'liveStreamId'?: string | null; - 'deviceProfile'?: ClientCapabilitiesDtoDeviceProfile | null; - /** - * Gets or sets a value indicating whether to enable direct play. - */ - 'enableDirectPlay'?: boolean | null; - /** - * Gets or sets a value indicating whether to enable direct stream. - */ - 'enableDirectStream'?: boolean | null; - /** - * Gets or sets a value indicating whether to enable transcoding. - */ - 'enableTranscoding'?: boolean | null; - /** - * Gets or sets a value indicating whether to enable video stream copy. - */ - 'allowVideoStreamCopy'?: boolean | null; - /** - * Gets or sets a value indicating whether to allow audio stream copy. - */ - 'allowAudioStreamCopy'?: boolean | null; - /** - * Gets or sets a value indicating whether to auto open the live stream. - */ - 'autoOpenLiveStream'?: boolean | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "userId", - "baseName": "UserId", - "type": "string" - }, - { - "name": "maxStreamingBitrate", - "baseName": "MaxStreamingBitrate", - "type": "number" - }, - { - "name": "startTimeTicks", - "baseName": "StartTimeTicks", - "type": "number" - }, - { - "name": "audioStreamIndex", - "baseName": "AudioStreamIndex", - "type": "number" - }, - { - "name": "subtitleStreamIndex", - "baseName": "SubtitleStreamIndex", - "type": "number" - }, - { - "name": "maxAudioChannels", - "baseName": "MaxAudioChannels", - "type": "number" - }, - { - "name": "mediaSourceId", - "baseName": "MediaSourceId", - "type": "string" - }, - { - "name": "liveStreamId", - "baseName": "LiveStreamId", - "type": "string" - }, - { - "name": "deviceProfile", - "baseName": "DeviceProfile", - "type": "ClientCapabilitiesDtoDeviceProfile" - }, - { - "name": "enableDirectPlay", - "baseName": "EnableDirectPlay", - "type": "boolean" - }, - { - "name": "enableDirectStream", - "baseName": "EnableDirectStream", - "type": "boolean" - }, - { - "name": "enableTranscoding", - "baseName": "EnableTranscoding", - "type": "boolean" - }, - { - "name": "allowVideoStreamCopy", - "baseName": "AllowVideoStreamCopy", - "type": "boolean" - }, - { - "name": "allowAudioStreamCopy", - "baseName": "AllowAudioStreamCopy", - "type": "boolean" - }, - { - "name": "autoOpenLiveStream", - "baseName": "AutoOpenLiveStream", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return PlaybackInfoDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/playbackInfoResponse.ts b/jellyfin/model/playbackInfoResponse.ts deleted file mode 100644 index 5106e72..0000000 --- a/jellyfin/model/playbackInfoResponse.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { MediaSourceInfo } from './mediaSourceInfo'; -import { PlaybackErrorCode } from './playbackErrorCode'; - -/** -* Class PlaybackInfoResponse. -*/ -export class PlaybackInfoResponse { - /** - * Gets or sets the media sources. - */ - 'mediaSources'?: Array; - /** - * Gets or sets the play session identifier. - */ - 'playSessionId'?: string | null; - 'errorCode'?: PlaybackErrorCode | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "mediaSources", - "baseName": "MediaSources", - "type": "Array" - }, - { - "name": "playSessionId", - "baseName": "PlaySessionId", - "type": "string" - }, - { - "name": "errorCode", - "baseName": "ErrorCode", - "type": "PlaybackErrorCode" - } ]; - - static getAttributeTypeMap() { - return PlaybackInfoResponse.attributeTypeMap; - } -} - -export namespace PlaybackInfoResponse { -} diff --git a/jellyfin/model/playbackProgressInfo.ts b/jellyfin/model/playbackProgressInfo.ts deleted file mode 100644 index a17c8aa..0000000 --- a/jellyfin/model/playbackProgressInfo.ts +++ /dev/null @@ -1,190 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { PlayMethod } from './playMethod'; -import { PlaybackProgressInfoItem } from './playbackProgressInfoItem'; -import { QueueItem } from './queueItem'; -import { RepeatMode } from './repeatMode'; - -/** -* Class PlaybackProgressInfo. -*/ -export class PlaybackProgressInfo { - /** - * Gets or sets a value indicating whether this instance can seek. - */ - 'canSeek'?: boolean; - 'item'?: PlaybackProgressInfoItem | null; - /** - * Gets or sets the item identifier. - */ - 'itemId'?: string; - /** - * Gets or sets the session id. - */ - 'sessionId'?: string | null; - /** - * Gets or sets the media version identifier. - */ - 'mediaSourceId'?: string | null; - /** - * Gets or sets the index of the audio stream. - */ - 'audioStreamIndex'?: number | null; - /** - * Gets or sets the index of the subtitle stream. - */ - 'subtitleStreamIndex'?: number | null; - /** - * Gets or sets a value indicating whether this instance is paused. - */ - 'isPaused'?: boolean; - /** - * Gets or sets a value indicating whether this instance is muted. - */ - 'isMuted'?: boolean; - /** - * Gets or sets the position ticks. - */ - 'positionTicks'?: number | null; - 'playbackStartTimeTicks'?: number | null; - /** - * Gets or sets the volume level. - */ - 'volumeLevel'?: number | null; - 'brightness'?: number | null; - 'aspectRatio'?: string | null; - 'playMethod'?: PlayMethod; - /** - * Gets or sets the live stream identifier. - */ - 'liveStreamId'?: string | null; - /** - * Gets or sets the play session identifier. - */ - 'playSessionId'?: string | null; - 'repeatMode'?: RepeatMode; - 'nowPlayingQueue'?: Array | null; - 'playlistItemId'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "canSeek", - "baseName": "CanSeek", - "type": "boolean" - }, - { - "name": "item", - "baseName": "Item", - "type": "PlaybackProgressInfoItem" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "sessionId", - "baseName": "SessionId", - "type": "string" - }, - { - "name": "mediaSourceId", - "baseName": "MediaSourceId", - "type": "string" - }, - { - "name": "audioStreamIndex", - "baseName": "AudioStreamIndex", - "type": "number" - }, - { - "name": "subtitleStreamIndex", - "baseName": "SubtitleStreamIndex", - "type": "number" - }, - { - "name": "isPaused", - "baseName": "IsPaused", - "type": "boolean" - }, - { - "name": "isMuted", - "baseName": "IsMuted", - "type": "boolean" - }, - { - "name": "positionTicks", - "baseName": "PositionTicks", - "type": "number" - }, - { - "name": "playbackStartTimeTicks", - "baseName": "PlaybackStartTimeTicks", - "type": "number" - }, - { - "name": "volumeLevel", - "baseName": "VolumeLevel", - "type": "number" - }, - { - "name": "brightness", - "baseName": "Brightness", - "type": "number" - }, - { - "name": "aspectRatio", - "baseName": "AspectRatio", - "type": "string" - }, - { - "name": "playMethod", - "baseName": "PlayMethod", - "type": "PlayMethod" - }, - { - "name": "liveStreamId", - "baseName": "LiveStreamId", - "type": "string" - }, - { - "name": "playSessionId", - "baseName": "PlaySessionId", - "type": "string" - }, - { - "name": "repeatMode", - "baseName": "RepeatMode", - "type": "RepeatMode" - }, - { - "name": "nowPlayingQueue", - "baseName": "NowPlayingQueue", - "type": "Array" - }, - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return PlaybackProgressInfo.attributeTypeMap; - } -} - -export namespace PlaybackProgressInfo { -} diff --git a/jellyfin/model/playbackProgressInfoItem.ts b/jellyfin/model/playbackProgressInfoItem.ts deleted file mode 100644 index 7493749..0000000 --- a/jellyfin/model/playbackProgressInfoItem.ts +++ /dev/null @@ -1,1272 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { BaseItemDtoCurrentProgram } from './baseItemDtoCurrentProgram'; -import { BaseItemDtoImageBlurHashes } from './baseItemDtoImageBlurHashes'; -import { BaseItemDtoUserData } from './baseItemDtoUserData'; -import { BaseItemKind } from './baseItemKind'; -import { BaseItemPerson } from './baseItemPerson'; -import { ChannelType } from './channelType'; -import { ChapterInfo } from './chapterInfo'; -import { DayOfWeek } from './dayOfWeek'; -import { ExternalUrl } from './externalUrl'; -import { ImageOrientation } from './imageOrientation'; -import { IsoType } from './isoType'; -import { LocationType } from './locationType'; -import { MediaSourceInfo } from './mediaSourceInfo'; -import { MediaStream } from './mediaStream'; -import { MediaUrl } from './mediaUrl'; -import { MetadataField } from './metadataField'; -import { NameGuidPair } from './nameGuidPair'; -import { PlayAccess } from './playAccess'; -import { ProgramAudio } from './programAudio'; -import { Video3DFormat } from './video3DFormat'; -import { VideoType } from './videoType'; - -/** -* Gets or sets the item. -*/ -export class PlaybackProgressInfoItem { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - 'originalTitle'?: string | null; - /** - * Gets or sets the server identifier. - */ - 'serverId'?: string | null; - /** - * Gets or sets the id. - */ - 'id'?: string; - /** - * Gets or sets the etag. - */ - 'etag'?: string | null; - /** - * Gets or sets the type of the source. - */ - 'sourceType'?: string | null; - /** - * Gets or sets the playlist item identifier. - */ - 'playlistItemId'?: string | null; - /** - * Gets or sets the date created. - */ - 'dateCreated'?: Date | null; - 'dateLastMediaAdded'?: Date | null; - 'extraType'?: string | null; - 'airsBeforeSeasonNumber'?: number | null; - 'airsAfterSeasonNumber'?: number | null; - 'airsBeforeEpisodeNumber'?: number | null; - 'canDelete'?: boolean | null; - 'canDownload'?: boolean | null; - 'hasSubtitles'?: boolean | null; - 'preferredMetadataLanguage'?: string | null; - 'preferredMetadataCountryCode'?: string | null; - /** - * Gets or sets a value indicating whether [supports synchronize]. - */ - 'supportsSync'?: boolean | null; - 'container'?: string | null; - /** - * Gets or sets the name of the sort. - */ - 'sortName'?: string | null; - 'forcedSortName'?: string | null; - 'video3DFormat'?: Video3DFormat | null; - /** - * Gets or sets the premiere date. - */ - 'premiereDate'?: Date | null; - /** - * Gets or sets the external urls. - */ - 'externalUrls'?: Array | null; - /** - * Gets or sets the media versions. - */ - 'mediaSources'?: Array | null; - /** - * Gets or sets the critic rating. - */ - 'criticRating'?: number | null; - 'productionLocations'?: Array | null; - /** - * Gets or sets the path. - */ - 'path'?: string | null; - 'enableMediaSourceDisplay'?: boolean | null; - /** - * Gets or sets the official rating. - */ - 'officialRating'?: string | null; - /** - * Gets or sets the custom rating. - */ - 'customRating'?: string | null; - /** - * Gets or sets the channel identifier. - */ - 'channelId'?: string | null; - 'channelName'?: string | null; - /** - * Gets or sets the overview. - */ - 'overview'?: string | null; - /** - * Gets or sets the taglines. - */ - 'taglines'?: Array | null; - /** - * Gets or sets the genres. - */ - 'genres'?: Array | null; - /** - * Gets or sets the community rating. - */ - 'communityRating'?: number | null; - /** - * Gets or sets the cumulative run time ticks. - */ - 'cumulativeRunTimeTicks'?: number | null; - /** - * Gets or sets the run time ticks. - */ - 'runTimeTicks'?: number | null; - 'playAccess'?: PlayAccess | null; - /** - * Gets or sets the aspect ratio. - */ - 'aspectRatio'?: string | null; - /** - * Gets or sets the production year. - */ - 'productionYear'?: number | null; - /** - * Gets or sets a value indicating whether this instance is place holder. - */ - 'isPlaceHolder'?: boolean | null; - /** - * Gets or sets the number. - */ - 'number'?: string | null; - 'channelNumber'?: string | null; - /** - * Gets or sets the index number. - */ - 'indexNumber'?: number | null; - /** - * Gets or sets the index number end. - */ - 'indexNumberEnd'?: number | null; - /** - * Gets or sets the parent index number. - */ - 'parentIndexNumber'?: number | null; - /** - * Gets or sets the trailer urls. - */ - 'remoteTrailers'?: Array | null; - /** - * Gets or sets the provider ids. - */ - 'providerIds'?: { [key: string]: string; } | null; - /** - * Gets or sets a value indicating whether this instance is HD. - */ - 'isHD'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is folder. - */ - 'isFolder'?: boolean | null; - /** - * Gets or sets the parent id. - */ - 'parentId'?: string | null; - 'type'?: BaseItemKind; - /** - * Gets or sets the people. - */ - 'people'?: Array | null; - /** - * Gets or sets the studios. - */ - 'studios'?: Array | null; - 'genreItems'?: Array | null; - /** - * Gets or sets wether the item has a logo, this will hold the Id of the Parent that has one. - */ - 'parentLogoItemId'?: string | null; - /** - * Gets or sets wether the item has any backdrops, this will hold the Id of the Parent that has one. - */ - 'parentBackdropItemId'?: string | null; - /** - * Gets or sets the parent backdrop image tags. - */ - 'parentBackdropImageTags'?: Array | null; - /** - * Gets or sets the local trailer count. - */ - 'localTrailerCount'?: number | null; - 'userData'?: BaseItemDtoUserData | null; - /** - * Gets or sets the recursive item count. - */ - 'recursiveItemCount'?: number | null; - /** - * Gets or sets the child count. - */ - 'childCount'?: number | null; - /** - * Gets or sets the name of the series. - */ - 'seriesName'?: string | null; - /** - * Gets or sets the series id. - */ - 'seriesId'?: string | null; - /** - * Gets or sets the season identifier. - */ - 'seasonId'?: string | null; - /** - * Gets or sets the special feature count. - */ - 'specialFeatureCount'?: number | null; - /** - * Gets or sets the display preferences id. - */ - 'displayPreferencesId'?: string | null; - /** - * Gets or sets the status. - */ - 'status'?: string | null; - /** - * Gets or sets the air time. - */ - 'airTime'?: string | null; - /** - * Gets or sets the air days. - */ - 'airDays'?: Array | null; - /** - * Gets or sets the tags. - */ - 'tags'?: Array | null; - /** - * Gets or sets the primary image aspect ratio, after image enhancements. - */ - 'primaryImageAspectRatio'?: number | null; - /** - * Gets or sets the artists. - */ - 'artists'?: Array | null; - /** - * Gets or sets the artist items. - */ - 'artistItems'?: Array | null; - /** - * Gets or sets the album. - */ - 'album'?: string | null; - /** - * Gets or sets the type of the collection. - */ - 'collectionType'?: string | null; - /** - * Gets or sets the display order. - */ - 'displayOrder'?: string | null; - /** - * Gets or sets the album id. - */ - 'albumId'?: string | null; - /** - * Gets or sets the album image tag. - */ - 'albumPrimaryImageTag'?: string | null; - /** - * Gets or sets the series primary image tag. - */ - 'seriesPrimaryImageTag'?: string | null; - /** - * Gets or sets the album artist. - */ - 'albumArtist'?: string | null; - /** - * Gets or sets the album artists. - */ - 'albumArtists'?: Array | null; - /** - * Gets or sets the name of the season. - */ - 'seasonName'?: string | null; - /** - * Gets or sets the media streams. - */ - 'mediaStreams'?: Array | null; - 'videoType'?: VideoType | null; - /** - * Gets or sets the part count. - */ - 'partCount'?: number | null; - 'mediaSourceCount'?: number | null; - /** - * Gets or sets the image tags. - */ - 'imageTags'?: { [key: string]: string; } | null; - /** - * Gets or sets the backdrop image tags. - */ - 'backdropImageTags'?: Array | null; - /** - * Gets or sets the screenshot image tags. - */ - 'screenshotImageTags'?: Array | null; - /** - * Gets or sets the parent logo image tag. - */ - 'parentLogoImageTag'?: string | null; - /** - * Gets or sets wether the item has fan art, this will hold the Id of the Parent that has one. - */ - 'parentArtItemId'?: string | null; - /** - * Gets or sets the parent art image tag. - */ - 'parentArtImageTag'?: string | null; - /** - * Gets or sets the series thumb image tag. - */ - 'seriesThumbImageTag'?: string | null; - 'imageBlurHashes'?: BaseItemDtoImageBlurHashes | null; - /** - * Gets or sets the series studio. - */ - 'seriesStudio'?: string | null; - /** - * Gets or sets the parent thumb item id. - */ - 'parentThumbItemId'?: string | null; - /** - * Gets or sets the parent thumb image tag. - */ - 'parentThumbImageTag'?: string | null; - /** - * Gets or sets the parent primary image item identifier. - */ - 'parentPrimaryImageItemId'?: string | null; - /** - * Gets or sets the parent primary image tag. - */ - 'parentPrimaryImageTag'?: string | null; - /** - * Gets or sets the chapters. - */ - 'chapters'?: Array | null; - 'locationType'?: LocationType | null; - 'isoType'?: IsoType | null; - /** - * Gets or sets the type of the media. - */ - 'mediaType'?: string | null; - /** - * Gets or sets the end date. - */ - 'endDate'?: Date | null; - /** - * Gets or sets the locked fields. - */ - 'lockedFields'?: Array | null; - /** - * Gets or sets the trailer count. - */ - 'trailerCount'?: number | null; - /** - * Gets or sets the movie count. - */ - 'movieCount'?: number | null; - /** - * Gets or sets the series count. - */ - 'seriesCount'?: number | null; - 'programCount'?: number | null; - /** - * Gets or sets the episode count. - */ - 'episodeCount'?: number | null; - /** - * Gets or sets the song count. - */ - 'songCount'?: number | null; - /** - * Gets or sets the album count. - */ - 'albumCount'?: number | null; - 'artistCount'?: number | null; - /** - * Gets or sets the music video count. - */ - 'musicVideoCount'?: number | null; - /** - * Gets or sets a value indicating whether [enable internet providers]. - */ - 'lockData'?: boolean | null; - 'width'?: number | null; - 'height'?: number | null; - 'cameraMake'?: string | null; - 'cameraModel'?: string | null; - 'software'?: string | null; - 'exposureTime'?: number | null; - 'focalLength'?: number | null; - 'imageOrientation'?: ImageOrientation | null; - 'aperture'?: number | null; - 'shutterSpeed'?: number | null; - 'latitude'?: number | null; - 'longitude'?: number | null; - 'altitude'?: number | null; - 'isoSpeedRating'?: number | null; - /** - * Gets or sets the series timer identifier. - */ - 'seriesTimerId'?: string | null; - /** - * Gets or sets the program identifier. - */ - 'programId'?: string | null; - /** - * Gets or sets the channel primary image tag. - */ - 'channelPrimaryImageTag'?: string | null; - /** - * Gets or sets the start date of the recording, in UTC. - */ - 'startDate'?: Date | null; - /** - * Gets or sets the completion percentage. - */ - 'completionPercentage'?: number | null; - /** - * Gets or sets a value indicating whether this instance is repeat. - */ - 'isRepeat'?: boolean | null; - /** - * Gets or sets the episode title. - */ - 'episodeTitle'?: string | null; - 'channelType'?: ChannelType | null; - 'audio'?: ProgramAudio | null; - /** - * Gets or sets a value indicating whether this instance is movie. - */ - 'isMovie'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is sports. - */ - 'isSports'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is series. - */ - 'isSeries'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is live. - */ - 'isLive'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is news. - */ - 'isNews'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is kids. - */ - 'isKids'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is premiere. - */ - 'isPremiere'?: boolean | null; - /** - * Gets or sets the timer identifier. - */ - 'timerId'?: string | null; - 'currentProgram'?: BaseItemDtoCurrentProgram | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "originalTitle", - "baseName": "OriginalTitle", - "type": "string" - }, - { - "name": "serverId", - "baseName": "ServerId", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "etag", - "baseName": "Etag", - "type": "string" - }, - { - "name": "sourceType", - "baseName": "SourceType", - "type": "string" - }, - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - }, - { - "name": "dateCreated", - "baseName": "DateCreated", - "type": "Date" - }, - { - "name": "dateLastMediaAdded", - "baseName": "DateLastMediaAdded", - "type": "Date" - }, - { - "name": "extraType", - "baseName": "ExtraType", - "type": "string" - }, - { - "name": "airsBeforeSeasonNumber", - "baseName": "AirsBeforeSeasonNumber", - "type": "number" - }, - { - "name": "airsAfterSeasonNumber", - "baseName": "AirsAfterSeasonNumber", - "type": "number" - }, - { - "name": "airsBeforeEpisodeNumber", - "baseName": "AirsBeforeEpisodeNumber", - "type": "number" - }, - { - "name": "canDelete", - "baseName": "CanDelete", - "type": "boolean" - }, - { - "name": "canDownload", - "baseName": "CanDownload", - "type": "boolean" - }, - { - "name": "hasSubtitles", - "baseName": "HasSubtitles", - "type": "boolean" - }, - { - "name": "preferredMetadataLanguage", - "baseName": "PreferredMetadataLanguage", - "type": "string" - }, - { - "name": "preferredMetadataCountryCode", - "baseName": "PreferredMetadataCountryCode", - "type": "string" - }, - { - "name": "supportsSync", - "baseName": "SupportsSync", - "type": "boolean" - }, - { - "name": "container", - "baseName": "Container", - "type": "string" - }, - { - "name": "sortName", - "baseName": "SortName", - "type": "string" - }, - { - "name": "forcedSortName", - "baseName": "ForcedSortName", - "type": "string" - }, - { - "name": "video3DFormat", - "baseName": "Video3DFormat", - "type": "Video3DFormat" - }, - { - "name": "premiereDate", - "baseName": "PremiereDate", - "type": "Date" - }, - { - "name": "externalUrls", - "baseName": "ExternalUrls", - "type": "Array" - }, - { - "name": "mediaSources", - "baseName": "MediaSources", - "type": "Array" - }, - { - "name": "criticRating", - "baseName": "CriticRating", - "type": "number" - }, - { - "name": "productionLocations", - "baseName": "ProductionLocations", - "type": "Array" - }, - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "enableMediaSourceDisplay", - "baseName": "EnableMediaSourceDisplay", - "type": "boolean" - }, - { - "name": "officialRating", - "baseName": "OfficialRating", - "type": "string" - }, - { - "name": "customRating", - "baseName": "CustomRating", - "type": "string" - }, - { - "name": "channelId", - "baseName": "ChannelId", - "type": "string" - }, - { - "name": "channelName", - "baseName": "ChannelName", - "type": "string" - }, - { - "name": "overview", - "baseName": "Overview", - "type": "string" - }, - { - "name": "taglines", - "baseName": "Taglines", - "type": "Array" - }, - { - "name": "genres", - "baseName": "Genres", - "type": "Array" - }, - { - "name": "communityRating", - "baseName": "CommunityRating", - "type": "number" - }, - { - "name": "cumulativeRunTimeTicks", - "baseName": "CumulativeRunTimeTicks", - "type": "number" - }, - { - "name": "runTimeTicks", - "baseName": "RunTimeTicks", - "type": "number" - }, - { - "name": "playAccess", - "baseName": "PlayAccess", - "type": "PlayAccess" - }, - { - "name": "aspectRatio", - "baseName": "AspectRatio", - "type": "string" - }, - { - "name": "productionYear", - "baseName": "ProductionYear", - "type": "number" - }, - { - "name": "isPlaceHolder", - "baseName": "IsPlaceHolder", - "type": "boolean" - }, - { - "name": "number", - "baseName": "Number", - "type": "string" - }, - { - "name": "channelNumber", - "baseName": "ChannelNumber", - "type": "string" - }, - { - "name": "indexNumber", - "baseName": "IndexNumber", - "type": "number" - }, - { - "name": "indexNumberEnd", - "baseName": "IndexNumberEnd", - "type": "number" - }, - { - "name": "parentIndexNumber", - "baseName": "ParentIndexNumber", - "type": "number" - }, - { - "name": "remoteTrailers", - "baseName": "RemoteTrailers", - "type": "Array" - }, - { - "name": "providerIds", - "baseName": "ProviderIds", - "type": "{ [key: string]: string; }" - }, - { - "name": "isHD", - "baseName": "IsHD", - "type": "boolean" - }, - { - "name": "isFolder", - "baseName": "IsFolder", - "type": "boolean" - }, - { - "name": "parentId", - "baseName": "ParentId", - "type": "string" - }, - { - "name": "type", - "baseName": "Type", - "type": "BaseItemKind" - }, - { - "name": "people", - "baseName": "People", - "type": "Array" - }, - { - "name": "studios", - "baseName": "Studios", - "type": "Array" - }, - { - "name": "genreItems", - "baseName": "GenreItems", - "type": "Array" - }, - { - "name": "parentLogoItemId", - "baseName": "ParentLogoItemId", - "type": "string" - }, - { - "name": "parentBackdropItemId", - "baseName": "ParentBackdropItemId", - "type": "string" - }, - { - "name": "parentBackdropImageTags", - "baseName": "ParentBackdropImageTags", - "type": "Array" - }, - { - "name": "localTrailerCount", - "baseName": "LocalTrailerCount", - "type": "number" - }, - { - "name": "userData", - "baseName": "UserData", - "type": "BaseItemDtoUserData" - }, - { - "name": "recursiveItemCount", - "baseName": "RecursiveItemCount", - "type": "number" - }, - { - "name": "childCount", - "baseName": "ChildCount", - "type": "number" - }, - { - "name": "seriesName", - "baseName": "SeriesName", - "type": "string" - }, - { - "name": "seriesId", - "baseName": "SeriesId", - "type": "string" - }, - { - "name": "seasonId", - "baseName": "SeasonId", - "type": "string" - }, - { - "name": "specialFeatureCount", - "baseName": "SpecialFeatureCount", - "type": "number" - }, - { - "name": "displayPreferencesId", - "baseName": "DisplayPreferencesId", - "type": "string" - }, - { - "name": "status", - "baseName": "Status", - "type": "string" - }, - { - "name": "airTime", - "baseName": "AirTime", - "type": "string" - }, - { - "name": "airDays", - "baseName": "AirDays", - "type": "Array" - }, - { - "name": "tags", - "baseName": "Tags", - "type": "Array" - }, - { - "name": "primaryImageAspectRatio", - "baseName": "PrimaryImageAspectRatio", - "type": "number" - }, - { - "name": "artists", - "baseName": "Artists", - "type": "Array" - }, - { - "name": "artistItems", - "baseName": "ArtistItems", - "type": "Array" - }, - { - "name": "album", - "baseName": "Album", - "type": "string" - }, - { - "name": "collectionType", - "baseName": "CollectionType", - "type": "string" - }, - { - "name": "displayOrder", - "baseName": "DisplayOrder", - "type": "string" - }, - { - "name": "albumId", - "baseName": "AlbumId", - "type": "string" - }, - { - "name": "albumPrimaryImageTag", - "baseName": "AlbumPrimaryImageTag", - "type": "string" - }, - { - "name": "seriesPrimaryImageTag", - "baseName": "SeriesPrimaryImageTag", - "type": "string" - }, - { - "name": "albumArtist", - "baseName": "AlbumArtist", - "type": "string" - }, - { - "name": "albumArtists", - "baseName": "AlbumArtists", - "type": "Array" - }, - { - "name": "seasonName", - "baseName": "SeasonName", - "type": "string" - }, - { - "name": "mediaStreams", - "baseName": "MediaStreams", - "type": "Array" - }, - { - "name": "videoType", - "baseName": "VideoType", - "type": "VideoType" - }, - { - "name": "partCount", - "baseName": "PartCount", - "type": "number" - }, - { - "name": "mediaSourceCount", - "baseName": "MediaSourceCount", - "type": "number" - }, - { - "name": "imageTags", - "baseName": "ImageTags", - "type": "{ [key: string]: string; }" - }, - { - "name": "backdropImageTags", - "baseName": "BackdropImageTags", - "type": "Array" - }, - { - "name": "screenshotImageTags", - "baseName": "ScreenshotImageTags", - "type": "Array" - }, - { - "name": "parentLogoImageTag", - "baseName": "ParentLogoImageTag", - "type": "string" - }, - { - "name": "parentArtItemId", - "baseName": "ParentArtItemId", - "type": "string" - }, - { - "name": "parentArtImageTag", - "baseName": "ParentArtImageTag", - "type": "string" - }, - { - "name": "seriesThumbImageTag", - "baseName": "SeriesThumbImageTag", - "type": "string" - }, - { - "name": "imageBlurHashes", - "baseName": "ImageBlurHashes", - "type": "BaseItemDtoImageBlurHashes" - }, - { - "name": "seriesStudio", - "baseName": "SeriesStudio", - "type": "string" - }, - { - "name": "parentThumbItemId", - "baseName": "ParentThumbItemId", - "type": "string" - }, - { - "name": "parentThumbImageTag", - "baseName": "ParentThumbImageTag", - "type": "string" - }, - { - "name": "parentPrimaryImageItemId", - "baseName": "ParentPrimaryImageItemId", - "type": "string" - }, - { - "name": "parentPrimaryImageTag", - "baseName": "ParentPrimaryImageTag", - "type": "string" - }, - { - "name": "chapters", - "baseName": "Chapters", - "type": "Array" - }, - { - "name": "locationType", - "baseName": "LocationType", - "type": "LocationType" - }, - { - "name": "isoType", - "baseName": "IsoType", - "type": "IsoType" - }, - { - "name": "mediaType", - "baseName": "MediaType", - "type": "string" - }, - { - "name": "endDate", - "baseName": "EndDate", - "type": "Date" - }, - { - "name": "lockedFields", - "baseName": "LockedFields", - "type": "Array" - }, - { - "name": "trailerCount", - "baseName": "TrailerCount", - "type": "number" - }, - { - "name": "movieCount", - "baseName": "MovieCount", - "type": "number" - }, - { - "name": "seriesCount", - "baseName": "SeriesCount", - "type": "number" - }, - { - "name": "programCount", - "baseName": "ProgramCount", - "type": "number" - }, - { - "name": "episodeCount", - "baseName": "EpisodeCount", - "type": "number" - }, - { - "name": "songCount", - "baseName": "SongCount", - "type": "number" - }, - { - "name": "albumCount", - "baseName": "AlbumCount", - "type": "number" - }, - { - "name": "artistCount", - "baseName": "ArtistCount", - "type": "number" - }, - { - "name": "musicVideoCount", - "baseName": "MusicVideoCount", - "type": "number" - }, - { - "name": "lockData", - "baseName": "LockData", - "type": "boolean" - }, - { - "name": "width", - "baseName": "Width", - "type": "number" - }, - { - "name": "height", - "baseName": "Height", - "type": "number" - }, - { - "name": "cameraMake", - "baseName": "CameraMake", - "type": "string" - }, - { - "name": "cameraModel", - "baseName": "CameraModel", - "type": "string" - }, - { - "name": "software", - "baseName": "Software", - "type": "string" - }, - { - "name": "exposureTime", - "baseName": "ExposureTime", - "type": "number" - }, - { - "name": "focalLength", - "baseName": "FocalLength", - "type": "number" - }, - { - "name": "imageOrientation", - "baseName": "ImageOrientation", - "type": "ImageOrientation" - }, - { - "name": "aperture", - "baseName": "Aperture", - "type": "number" - }, - { - "name": "shutterSpeed", - "baseName": "ShutterSpeed", - "type": "number" - }, - { - "name": "latitude", - "baseName": "Latitude", - "type": "number" - }, - { - "name": "longitude", - "baseName": "Longitude", - "type": "number" - }, - { - "name": "altitude", - "baseName": "Altitude", - "type": "number" - }, - { - "name": "isoSpeedRating", - "baseName": "IsoSpeedRating", - "type": "number" - }, - { - "name": "seriesTimerId", - "baseName": "SeriesTimerId", - "type": "string" - }, - { - "name": "programId", - "baseName": "ProgramId", - "type": "string" - }, - { - "name": "channelPrimaryImageTag", - "baseName": "ChannelPrimaryImageTag", - "type": "string" - }, - { - "name": "startDate", - "baseName": "StartDate", - "type": "Date" - }, - { - "name": "completionPercentage", - "baseName": "CompletionPercentage", - "type": "number" - }, - { - "name": "isRepeat", - "baseName": "IsRepeat", - "type": "boolean" - }, - { - "name": "episodeTitle", - "baseName": "EpisodeTitle", - "type": "string" - }, - { - "name": "channelType", - "baseName": "ChannelType", - "type": "ChannelType" - }, - { - "name": "audio", - "baseName": "Audio", - "type": "ProgramAudio" - }, - { - "name": "isMovie", - "baseName": "IsMovie", - "type": "boolean" - }, - { - "name": "isSports", - "baseName": "IsSports", - "type": "boolean" - }, - { - "name": "isSeries", - "baseName": "IsSeries", - "type": "boolean" - }, - { - "name": "isLive", - "baseName": "IsLive", - "type": "boolean" - }, - { - "name": "isNews", - "baseName": "IsNews", - "type": "boolean" - }, - { - "name": "isKids", - "baseName": "IsKids", - "type": "boolean" - }, - { - "name": "isPremiere", - "baseName": "IsPremiere", - "type": "boolean" - }, - { - "name": "timerId", - "baseName": "TimerId", - "type": "string" - }, - { - "name": "currentProgram", - "baseName": "CurrentProgram", - "type": "BaseItemDtoCurrentProgram" - } ]; - - static getAttributeTypeMap() { - return PlaybackProgressInfoItem.attributeTypeMap; - } -} - -export namespace PlaybackProgressInfoItem { -} diff --git a/jellyfin/model/playbackStartInfo.ts b/jellyfin/model/playbackStartInfo.ts deleted file mode 100644 index 138d309..0000000 --- a/jellyfin/model/playbackStartInfo.ts +++ /dev/null @@ -1,190 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { PlayMethod } from './playMethod'; -import { PlaybackProgressInfoItem } from './playbackProgressInfoItem'; -import { QueueItem } from './queueItem'; -import { RepeatMode } from './repeatMode'; - -/** -* Class PlaybackStartInfo. -*/ -export class PlaybackStartInfo { - /** - * Gets or sets a value indicating whether this instance can seek. - */ - 'canSeek'?: boolean; - 'item'?: PlaybackProgressInfoItem | null; - /** - * Gets or sets the item identifier. - */ - 'itemId'?: string; - /** - * Gets or sets the session id. - */ - 'sessionId'?: string | null; - /** - * Gets or sets the media version identifier. - */ - 'mediaSourceId'?: string | null; - /** - * Gets or sets the index of the audio stream. - */ - 'audioStreamIndex'?: number | null; - /** - * Gets or sets the index of the subtitle stream. - */ - 'subtitleStreamIndex'?: number | null; - /** - * Gets or sets a value indicating whether this instance is paused. - */ - 'isPaused'?: boolean; - /** - * Gets or sets a value indicating whether this instance is muted. - */ - 'isMuted'?: boolean; - /** - * Gets or sets the position ticks. - */ - 'positionTicks'?: number | null; - 'playbackStartTimeTicks'?: number | null; - /** - * Gets or sets the volume level. - */ - 'volumeLevel'?: number | null; - 'brightness'?: number | null; - 'aspectRatio'?: string | null; - 'playMethod'?: PlayMethod; - /** - * Gets or sets the live stream identifier. - */ - 'liveStreamId'?: string | null; - /** - * Gets or sets the play session identifier. - */ - 'playSessionId'?: string | null; - 'repeatMode'?: RepeatMode; - 'nowPlayingQueue'?: Array | null; - 'playlistItemId'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "canSeek", - "baseName": "CanSeek", - "type": "boolean" - }, - { - "name": "item", - "baseName": "Item", - "type": "PlaybackProgressInfoItem" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "sessionId", - "baseName": "SessionId", - "type": "string" - }, - { - "name": "mediaSourceId", - "baseName": "MediaSourceId", - "type": "string" - }, - { - "name": "audioStreamIndex", - "baseName": "AudioStreamIndex", - "type": "number" - }, - { - "name": "subtitleStreamIndex", - "baseName": "SubtitleStreamIndex", - "type": "number" - }, - { - "name": "isPaused", - "baseName": "IsPaused", - "type": "boolean" - }, - { - "name": "isMuted", - "baseName": "IsMuted", - "type": "boolean" - }, - { - "name": "positionTicks", - "baseName": "PositionTicks", - "type": "number" - }, - { - "name": "playbackStartTimeTicks", - "baseName": "PlaybackStartTimeTicks", - "type": "number" - }, - { - "name": "volumeLevel", - "baseName": "VolumeLevel", - "type": "number" - }, - { - "name": "brightness", - "baseName": "Brightness", - "type": "number" - }, - { - "name": "aspectRatio", - "baseName": "AspectRatio", - "type": "string" - }, - { - "name": "playMethod", - "baseName": "PlayMethod", - "type": "PlayMethod" - }, - { - "name": "liveStreamId", - "baseName": "LiveStreamId", - "type": "string" - }, - { - "name": "playSessionId", - "baseName": "PlaySessionId", - "type": "string" - }, - { - "name": "repeatMode", - "baseName": "RepeatMode", - "type": "RepeatMode" - }, - { - "name": "nowPlayingQueue", - "baseName": "NowPlayingQueue", - "type": "Array" - }, - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return PlaybackStartInfo.attributeTypeMap; - } -} - -export namespace PlaybackStartInfo { -} diff --git a/jellyfin/model/playbackStopInfo.ts b/jellyfin/model/playbackStopInfo.ts deleted file mode 100644 index 099ba45..0000000 --- a/jellyfin/model/playbackStopInfo.ts +++ /dev/null @@ -1,117 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { PlaybackProgressInfoItem } from './playbackProgressInfoItem'; -import { QueueItem } from './queueItem'; - -/** -* Class PlaybackStopInfo. -*/ -export class PlaybackStopInfo { - 'item'?: PlaybackProgressInfoItem | null; - /** - * Gets or sets the item identifier. - */ - 'itemId'?: string; - /** - * Gets or sets the session id. - */ - 'sessionId'?: string | null; - /** - * Gets or sets the media version identifier. - */ - 'mediaSourceId'?: string | null; - /** - * Gets or sets the position ticks. - */ - 'positionTicks'?: number | null; - /** - * Gets or sets the live stream identifier. - */ - 'liveStreamId'?: string | null; - /** - * Gets or sets the play session identifier. - */ - 'playSessionId'?: string | null; - /** - * Gets or sets a value indicating whether this MediaBrowser.Model.Session.PlaybackStopInfo is failed. - */ - 'failed'?: boolean; - 'nextMediaType'?: string | null; - 'playlistItemId'?: string | null; - 'nowPlayingQueue'?: Array | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "item", - "baseName": "Item", - "type": "PlaybackProgressInfoItem" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "sessionId", - "baseName": "SessionId", - "type": "string" - }, - { - "name": "mediaSourceId", - "baseName": "MediaSourceId", - "type": "string" - }, - { - "name": "positionTicks", - "baseName": "PositionTicks", - "type": "number" - }, - { - "name": "liveStreamId", - "baseName": "LiveStreamId", - "type": "string" - }, - { - "name": "playSessionId", - "baseName": "PlaySessionId", - "type": "string" - }, - { - "name": "failed", - "baseName": "Failed", - "type": "boolean" - }, - { - "name": "nextMediaType", - "baseName": "NextMediaType", - "type": "string" - }, - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - }, - { - "name": "nowPlayingQueue", - "baseName": "NowPlayingQueue", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return PlaybackStopInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/playerStateInfo.ts b/jellyfin/model/playerStateInfo.ts deleted file mode 100644 index ffb15b6..0000000 --- a/jellyfin/model/playerStateInfo.ts +++ /dev/null @@ -1,122 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { PlayMethod } from './playMethod'; -import { RepeatMode } from './repeatMode'; - -export class PlayerStateInfo { - /** - * Gets or sets the now playing position ticks. - */ - 'positionTicks'?: number | null; - /** - * Gets or sets a value indicating whether this instance can seek. - */ - 'canSeek'?: boolean; - /** - * Gets or sets a value indicating whether this instance is paused. - */ - 'isPaused'?: boolean; - /** - * Gets or sets a value indicating whether this instance is muted. - */ - 'isMuted'?: boolean; - /** - * Gets or sets the volume level. - */ - 'volumeLevel'?: number | null; - /** - * Gets or sets the index of the now playing audio stream. - */ - 'audioStreamIndex'?: number | null; - /** - * Gets or sets the index of the now playing subtitle stream. - */ - 'subtitleStreamIndex'?: number | null; - /** - * Gets or sets the now playing media version identifier. - */ - 'mediaSourceId'?: string | null; - 'playMethod'?: PlayMethod | null; - 'repeatMode'?: RepeatMode; - /** - * Gets or sets the now playing live stream identifier. - */ - 'liveStreamId'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "positionTicks", - "baseName": "PositionTicks", - "type": "number" - }, - { - "name": "canSeek", - "baseName": "CanSeek", - "type": "boolean" - }, - { - "name": "isPaused", - "baseName": "IsPaused", - "type": "boolean" - }, - { - "name": "isMuted", - "baseName": "IsMuted", - "type": "boolean" - }, - { - "name": "volumeLevel", - "baseName": "VolumeLevel", - "type": "number" - }, - { - "name": "audioStreamIndex", - "baseName": "AudioStreamIndex", - "type": "number" - }, - { - "name": "subtitleStreamIndex", - "baseName": "SubtitleStreamIndex", - "type": "number" - }, - { - "name": "mediaSourceId", - "baseName": "MediaSourceId", - "type": "string" - }, - { - "name": "playMethod", - "baseName": "PlayMethod", - "type": "PlayMethod" - }, - { - "name": "repeatMode", - "baseName": "RepeatMode", - "type": "RepeatMode" - }, - { - "name": "liveStreamId", - "baseName": "LiveStreamId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return PlayerStateInfo.attributeTypeMap; - } -} - -export namespace PlayerStateInfo { -} diff --git a/jellyfin/model/playlistCreationResult.ts b/jellyfin/model/playlistCreationResult.ts deleted file mode 100644 index ef5890b..0000000 --- a/jellyfin/model/playlistCreationResult.ts +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class PlaylistCreationResult { - 'id'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "id", - "baseName": "Id", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return PlaylistCreationResult.attributeTypeMap; - } -} - diff --git a/jellyfin/model/playstateCommand.ts b/jellyfin/model/playstateCommand.ts deleted file mode 100644 index 8ef8ed1..0000000 --- a/jellyfin/model/playstateCommand.ts +++ /dev/null @@ -1,28 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Enum PlaystateCommand. -*/ -export enum PlaystateCommand { - Stop = 'Stop', - Pause = 'Pause', - Unpause = 'Unpause', - NextTrack = 'NextTrack', - PreviousTrack = 'PreviousTrack', - Seek = 'Seek', - Rewind = 'Rewind', - FastForward = 'FastForward', - PlayPause = 'PlayPause' -} diff --git a/jellyfin/model/playstateRequest.ts b/jellyfin/model/playstateRequest.ts deleted file mode 100644 index f3af873..0000000 --- a/jellyfin/model/playstateRequest.ts +++ /dev/null @@ -1,49 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { PlaystateCommand } from './playstateCommand'; - -export class PlaystateRequest { - 'command'?: PlaystateCommand; - 'seekPositionTicks'?: number | null; - /** - * Gets or sets the controlling user identifier. - */ - 'controllingUserId'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "command", - "baseName": "Command", - "type": "PlaystateCommand" - }, - { - "name": "seekPositionTicks", - "baseName": "SeekPositionTicks", - "type": "number" - }, - { - "name": "controllingUserId", - "baseName": "ControllingUserId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return PlaystateRequest.attributeTypeMap; - } -} - -export namespace PlaystateRequest { -} diff --git a/jellyfin/model/pluginInfo.ts b/jellyfin/model/pluginInfo.ts deleted file mode 100644 index 3e6d44d..0000000 --- a/jellyfin/model/pluginInfo.ts +++ /dev/null @@ -1,100 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { PluginStatus } from './pluginStatus'; - -/** -* This is a serializable stub class that is used by the api to provide information about installed plugins. -*/ -export class PluginInfo { - /** - * Gets or sets the name. - */ - 'name'?: string; - /** - * Gets or sets the version. - */ - 'version'?: string; - /** - * Gets or sets the name of the configuration file. - */ - 'configurationFileName'?: string | null; - /** - * Gets or sets the description. - */ - 'description'?: string; - /** - * Gets or sets the unique id. - */ - 'id'?: string; - /** - * Gets or sets a value indicating whether the plugin can be uninstalled. - */ - 'canUninstall'?: boolean; - /** - * Gets or sets a value indicating whether this plugin has a valid image. - */ - 'hasImage'?: boolean; - 'status'?: PluginStatus; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "version", - "baseName": "Version", - "type": "string" - }, - { - "name": "configurationFileName", - "baseName": "ConfigurationFileName", - "type": "string" - }, - { - "name": "description", - "baseName": "Description", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "canUninstall", - "baseName": "CanUninstall", - "type": "boolean" - }, - { - "name": "hasImage", - "baseName": "HasImage", - "type": "boolean" - }, - { - "name": "status", - "baseName": "Status", - "type": "PluginStatus" - } ]; - - static getAttributeTypeMap() { - return PluginInfo.attributeTypeMap; - } -} - -export namespace PluginInfo { -} diff --git a/jellyfin/model/pluginStatus.ts b/jellyfin/model/pluginStatus.ts deleted file mode 100644 index dec5ed5..0000000 --- a/jellyfin/model/pluginStatus.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Plugin load status. -*/ -export enum PluginStatus { - Active = 'Active', - Restart = 'Restart', - Deleted = 'Deleted', - Superceded = 'Superceded', - Malfunctioned = 'Malfunctioned', - NotSupported = 'NotSupported', - Disabled = 'Disabled' -} diff --git a/jellyfin/model/postFullCapabilitiesRequest.ts b/jellyfin/model/postFullCapabilitiesRequest.ts deleted file mode 100644 index c72bc7d..0000000 --- a/jellyfin/model/postFullCapabilitiesRequest.ts +++ /dev/null @@ -1,117 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ClientCapabilitiesDtoDeviceProfile } from './clientCapabilitiesDtoDeviceProfile'; -import { GeneralCommandType } from './generalCommandType'; - -/** -* Client capabilities dto. -*/ -export class PostFullCapabilitiesRequest { - /** - * Gets or sets the list of playable media types. - */ - 'playableMediaTypes'?: Array; - /** - * Gets or sets the list of supported commands. - */ - 'supportedCommands'?: Array; - /** - * Gets or sets a value indicating whether session supports media control. - */ - 'supportsMediaControl'?: boolean; - /** - * Gets or sets a value indicating whether session supports content uploading. - */ - 'supportsContentUploading'?: boolean; - /** - * Gets or sets the message callback url. - */ - 'messageCallbackUrl'?: string | null; - /** - * Gets or sets a value indicating whether session supports a persistent identifier. - */ - 'supportsPersistentIdentifier'?: boolean; - /** - * Gets or sets a value indicating whether session supports sync. - */ - 'supportsSync'?: boolean; - 'deviceProfile'?: ClientCapabilitiesDtoDeviceProfile | null; - /** - * Gets or sets the app store url. - */ - 'appStoreUrl'?: string | null; - /** - * Gets or sets the icon url. - */ - 'iconUrl'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "playableMediaTypes", - "baseName": "PlayableMediaTypes", - "type": "Array" - }, - { - "name": "supportedCommands", - "baseName": "SupportedCommands", - "type": "Array" - }, - { - "name": "supportsMediaControl", - "baseName": "SupportsMediaControl", - "type": "boolean" - }, - { - "name": "supportsContentUploading", - "baseName": "SupportsContentUploading", - "type": "boolean" - }, - { - "name": "messageCallbackUrl", - "baseName": "MessageCallbackUrl", - "type": "string" - }, - { - "name": "supportsPersistentIdentifier", - "baseName": "SupportsPersistentIdentifier", - "type": "boolean" - }, - { - "name": "supportsSync", - "baseName": "SupportsSync", - "type": "boolean" - }, - { - "name": "deviceProfile", - "baseName": "DeviceProfile", - "type": "ClientCapabilitiesDtoDeviceProfile" - }, - { - "name": "appStoreUrl", - "baseName": "AppStoreUrl", - "type": "string" - }, - { - "name": "iconUrl", - "baseName": "IconUrl", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return PostFullCapabilitiesRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/postUpdatedMediaRequest.ts b/jellyfin/model/postUpdatedMediaRequest.ts deleted file mode 100644 index 2c19f07..0000000 --- a/jellyfin/model/postUpdatedMediaRequest.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { MediaUpdateInfoPathDto } from './mediaUpdateInfoPathDto'; - -/** -* Media Update Info Dto. -*/ -export class PostUpdatedMediaRequest { - /** - * Gets or sets the list of updates. - */ - 'updates'?: Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "updates", - "baseName": "Updates", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return PostUpdatedMediaRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/previousItemRequestDto.ts b/jellyfin/model/previousItemRequestDto.ts deleted file mode 100644 index 9b43f02..0000000 --- a/jellyfin/model/previousItemRequestDto.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class PreviousItemRequestDto. -*/ -export class PreviousItemRequestDto { - /** - * Gets or sets the playing item identifier. - */ - 'playlistItemId'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return PreviousItemRequestDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/problemDetails.ts b/jellyfin/model/problemDetails.ts deleted file mode 100644 index ea89c36..0000000 --- a/jellyfin/model/problemDetails.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class ProblemDetails extends null { - 'type'?: string | null; - 'title'?: string | null; - 'status'?: number | null; - 'detail'?: string | null; - 'instance'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "type", - "baseName": "type", - "type": "string" - }, - { - "name": "title", - "baseName": "title", - "type": "string" - }, - { - "name": "status", - "baseName": "status", - "type": "number" - }, - { - "name": "detail", - "baseName": "detail", - "type": "string" - }, - { - "name": "instance", - "baseName": "instance", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return super.getAttributeTypeMap().concat(ProblemDetails.attributeTypeMap); - } -} - diff --git a/jellyfin/model/profileCondition.ts b/jellyfin/model/profileCondition.ts deleted file mode 100644 index a47dff2..0000000 --- a/jellyfin/model/profileCondition.ts +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ProfileConditionType } from './profileConditionType'; -import { ProfileConditionValue } from './profileConditionValue'; - -export class ProfileCondition { - 'condition'?: ProfileConditionType; - 'property'?: ProfileConditionValue; - 'value'?: string | null; - 'isRequired'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "condition", - "baseName": "Condition", - "type": "ProfileConditionType" - }, - { - "name": "property", - "baseName": "Property", - "type": "ProfileConditionValue" - }, - { - "name": "value", - "baseName": "Value", - "type": "string" - }, - { - "name": "isRequired", - "baseName": "IsRequired", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return ProfileCondition.attributeTypeMap; - } -} - -export namespace ProfileCondition { -} diff --git a/jellyfin/model/profileConditionType.ts b/jellyfin/model/profileConditionType.ts deleted file mode 100644 index 0e192b6..0000000 --- a/jellyfin/model/profileConditionType.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum ProfileConditionType { - Equals = 'Equals', - NotEquals = 'NotEquals', - LessThanEqual = 'LessThanEqual', - GreaterThanEqual = 'GreaterThanEqual', - EqualsAny = 'EqualsAny' -} diff --git a/jellyfin/model/profileConditionValue.ts b/jellyfin/model/profileConditionValue.ts deleted file mode 100644 index bd07e94..0000000 --- a/jellyfin/model/profileConditionValue.ts +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum ProfileConditionValue { - AudioChannels = 'AudioChannels', - AudioBitrate = 'AudioBitrate', - AudioProfile = 'AudioProfile', - Width = 'Width', - Height = 'Height', - Has64BitOffsets = 'Has64BitOffsets', - PacketLength = 'PacketLength', - VideoBitDepth = 'VideoBitDepth', - VideoBitrate = 'VideoBitrate', - VideoFramerate = 'VideoFramerate', - VideoLevel = 'VideoLevel', - VideoProfile = 'VideoProfile', - VideoTimestamp = 'VideoTimestamp', - IsAnamorphic = 'IsAnamorphic', - RefFrames = 'RefFrames', - NumAudioStreams = 'NumAudioStreams', - NumVideoStreams = 'NumVideoStreams', - IsSecondaryAudio = 'IsSecondaryAudio', - VideoCodecTag = 'VideoCodecTag', - IsAvc = 'IsAvc', - IsInterlaced = 'IsInterlaced', - AudioSampleRate = 'AudioSampleRate', - AudioBitDepth = 'AudioBitDepth', - VideoRangeType = 'VideoRangeType' -} diff --git a/jellyfin/model/programAudio.ts b/jellyfin/model/programAudio.ts deleted file mode 100644 index 61b0809..0000000 --- a/jellyfin/model/programAudio.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum ProgramAudio { - Mono = 'Mono', - Stereo = 'Stereo', - Dolby = 'Dolby', - DolbyDigital = 'DolbyDigital', - Thx = 'Thx', - Atmos = 'Atmos' -} diff --git a/jellyfin/model/publicSystemInfo.ts b/jellyfin/model/publicSystemInfo.ts deleted file mode 100644 index 6b88531..0000000 --- a/jellyfin/model/publicSystemInfo.ts +++ /dev/null @@ -1,88 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class PublicSystemInfo { - /** - * Gets or sets the local address. - */ - 'localAddress'?: string | null; - /** - * Gets or sets the name of the server. - */ - 'serverName'?: string | null; - /** - * Gets or sets the server version. - */ - 'version'?: string | null; - /** - * Gets or sets the product name. This is the AssemblyProduct name. - */ - 'productName'?: string | null; - /** - * Gets or sets the operating system. - */ - 'operatingSystem'?: string | null; - /** - * Gets or sets the id. - */ - 'id'?: string | null; - /** - * Gets or sets a value indicating whether the startup wizard is completed. - */ - 'startupWizardCompleted'?: boolean | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "localAddress", - "baseName": "LocalAddress", - "type": "string" - }, - { - "name": "serverName", - "baseName": "ServerName", - "type": "string" - }, - { - "name": "version", - "baseName": "Version", - "type": "string" - }, - { - "name": "productName", - "baseName": "ProductName", - "type": "string" - }, - { - "name": "operatingSystem", - "baseName": "OperatingSystem", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "startupWizardCompleted", - "baseName": "StartupWizardCompleted", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return PublicSystemInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/queryFilters.ts b/jellyfin/model/queryFilters.ts deleted file mode 100644 index b3bdc4b..0000000 --- a/jellyfin/model/queryFilters.ts +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { NameGuidPair } from './nameGuidPair'; - -export class QueryFilters { - 'genres'?: Array | null; - 'tags'?: Array | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "genres", - "baseName": "Genres", - "type": "Array" - }, - { - "name": "tags", - "baseName": "Tags", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return QueryFilters.attributeTypeMap; - } -} - diff --git a/jellyfin/model/queryFiltersLegacy.ts b/jellyfin/model/queryFiltersLegacy.ts deleted file mode 100644 index b574483..0000000 --- a/jellyfin/model/queryFiltersLegacy.ts +++ /dev/null @@ -1,49 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class QueryFiltersLegacy { - 'genres'?: Array | null; - 'tags'?: Array | null; - 'officialRatings'?: Array | null; - 'years'?: Array | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "genres", - "baseName": "Genres", - "type": "Array" - }, - { - "name": "tags", - "baseName": "Tags", - "type": "Array" - }, - { - "name": "officialRatings", - "baseName": "OfficialRatings", - "type": "Array" - }, - { - "name": "years", - "baseName": "Years", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return QueryFiltersLegacy.attributeTypeMap; - } -} - diff --git a/jellyfin/model/queueItem.ts b/jellyfin/model/queueItem.ts deleted file mode 100644 index d8bfdfe..0000000 --- a/jellyfin/model/queueItem.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class QueueItem { - 'id'?: string; - 'playlistItemId'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return QueueItem.attributeTypeMap; - } -} - diff --git a/jellyfin/model/queueRequestDto.ts b/jellyfin/model/queueRequestDto.ts deleted file mode 100644 index 40fd279..0000000 --- a/jellyfin/model/queueRequestDto.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { GroupQueueMode } from './groupQueueMode'; - -/** -* Class QueueRequestDto. -*/ -export class QueueRequestDto { - /** - * Gets or sets the items to enqueue. - */ - 'itemIds'?: Array; - 'mode'?: GroupQueueMode; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "itemIds", - "baseName": "ItemIds", - "type": "Array" - }, - { - "name": "mode", - "baseName": "Mode", - "type": "GroupQueueMode" - } ]; - - static getAttributeTypeMap() { - return QueueRequestDto.attributeTypeMap; - } -} - -export namespace QueueRequestDto { -} diff --git a/jellyfin/model/quickConnectDto.ts b/jellyfin/model/quickConnectDto.ts deleted file mode 100644 index d00a0e4..0000000 --- a/jellyfin/model/quickConnectDto.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* The quick connect request body. -*/ -export class QuickConnectDto { - /** - * Gets or sets the quick connect secret. - */ - 'secret': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "secret", - "baseName": "Secret", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return QuickConnectDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/quickConnectResult.ts b/jellyfin/model/quickConnectResult.ts deleted file mode 100644 index 23fd8d4..0000000 --- a/jellyfin/model/quickConnectResult.ts +++ /dev/null @@ -1,100 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Stores the state of an quick connect request. -*/ -export class QuickConnectResult { - /** - * Gets or sets a value indicating whether this request is authorized. - */ - 'authenticated'?: boolean; - /** - * Gets the secret value used to uniquely identify this request. Can be used to retrieve authentication information. - */ - 'secret'?: string; - /** - * Gets the user facing code used so the user can quickly differentiate this request from others. - */ - 'code'?: string; - /** - * Gets the requesting device id. - */ - 'deviceId'?: string; - /** - * Gets the requesting device name. - */ - 'deviceName'?: string; - /** - * Gets the requesting app name. - */ - 'appName'?: string; - /** - * Gets the requesting app version. - */ - 'appVersion'?: string; - /** - * Gets or sets the DateTime that this request was created. - */ - 'dateAdded'?: Date; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "authenticated", - "baseName": "Authenticated", - "type": "boolean" - }, - { - "name": "secret", - "baseName": "Secret", - "type": "string" - }, - { - "name": "code", - "baseName": "Code", - "type": "string" - }, - { - "name": "deviceId", - "baseName": "DeviceId", - "type": "string" - }, - { - "name": "deviceName", - "baseName": "DeviceName", - "type": "string" - }, - { - "name": "appName", - "baseName": "AppName", - "type": "string" - }, - { - "name": "appVersion", - "baseName": "AppVersion", - "type": "string" - }, - { - "name": "dateAdded", - "baseName": "DateAdded", - "type": "Date" - } ]; - - static getAttributeTypeMap() { - return QuickConnectResult.attributeTypeMap; - } -} - diff --git a/jellyfin/model/ratingType.ts b/jellyfin/model/ratingType.ts deleted file mode 100644 index 2fe5a93..0000000 --- a/jellyfin/model/ratingType.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum RatingType { - Score = 'Score', - Likes = 'Likes' -} diff --git a/jellyfin/model/readyRequestDto.ts b/jellyfin/model/readyRequestDto.ts deleted file mode 100644 index ee05352..0000000 --- a/jellyfin/model/readyRequestDto.ts +++ /dev/null @@ -1,64 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class ReadyRequest. -*/ -export class ReadyRequestDto { - /** - * Gets or sets when the request has been made by the client. - */ - 'when'?: Date; - /** - * Gets or sets the position ticks. - */ - 'positionTicks'?: number; - /** - * Gets or sets a value indicating whether the client playback is unpaused. - */ - 'isPlaying'?: boolean; - /** - * Gets or sets the playlist item identifier of the playing item. - */ - 'playlistItemId'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "when", - "baseName": "When", - "type": "Date" - }, - { - "name": "positionTicks", - "baseName": "PositionTicks", - "type": "number" - }, - { - "name": "isPlaying", - "baseName": "IsPlaying", - "type": "boolean" - }, - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return ReadyRequestDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/recommendationDto.ts b/jellyfin/model/recommendationDto.ts deleted file mode 100644 index ee1063c..0000000 --- a/jellyfin/model/recommendationDto.ts +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { BaseItemDto } from './baseItemDto'; -import { RecommendationType } from './recommendationType'; - -export class RecommendationDto { - 'items'?: Array | null; - 'recommendationType'?: RecommendationType; - 'baselineItemName'?: string | null; - 'categoryId'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "items", - "baseName": "Items", - "type": "Array" - }, - { - "name": "recommendationType", - "baseName": "RecommendationType", - "type": "RecommendationType" - }, - { - "name": "baselineItemName", - "baseName": "BaselineItemName", - "type": "string" - }, - { - "name": "categoryId", - "baseName": "CategoryId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return RecommendationDto.attributeTypeMap; - } -} - -export namespace RecommendationDto { -} diff --git a/jellyfin/model/recommendationType.ts b/jellyfin/model/recommendationType.ts deleted file mode 100644 index 00dba57..0000000 --- a/jellyfin/model/recommendationType.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum RecommendationType { - SimilarToRecentlyPlayed = 'SimilarToRecentlyPlayed', - SimilarToLikedItem = 'SimilarToLikedItem', - HasDirectorFromRecentlyPlayed = 'HasDirectorFromRecentlyPlayed', - HasActorFromRecentlyPlayed = 'HasActorFromRecentlyPlayed', - HasLikedDirector = 'HasLikedDirector', - HasLikedActor = 'HasLikedActor' -} diff --git a/jellyfin/model/recordingStatus.ts b/jellyfin/model/recordingStatus.ts deleted file mode 100644 index d3df472..0000000 --- a/jellyfin/model/recordingStatus.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum RecordingStatus { - New = 'New', - InProgress = 'InProgress', - Completed = 'Completed', - Cancelled = 'Cancelled', - ConflictedOk = 'ConflictedOk', - ConflictedNotOk = 'ConflictedNotOk', - Error = 'Error' -} diff --git a/jellyfin/model/remoteImageInfo.ts b/jellyfin/model/remoteImageInfo.ts deleted file mode 100644 index 8c7a8c6..0000000 --- a/jellyfin/model/remoteImageInfo.ts +++ /dev/null @@ -1,116 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ImageType } from './imageType'; -import { RatingType } from './ratingType'; - -/** -* Class RemoteImageInfo. -*/ -export class RemoteImageInfo { - /** - * Gets or sets the name of the provider. - */ - 'providerName'?: string | null; - /** - * Gets or sets the URL. - */ - 'url'?: string | null; - /** - * Gets or sets a url used for previewing a smaller version. - */ - 'thumbnailUrl'?: string | null; - /** - * Gets or sets the height. - */ - 'height'?: number | null; - /** - * Gets or sets the width. - */ - 'width'?: number | null; - /** - * Gets or sets the community rating. - */ - 'communityRating'?: number | null; - /** - * Gets or sets the vote count. - */ - 'voteCount'?: number | null; - /** - * Gets or sets the language. - */ - 'language'?: string | null; - 'type'?: ImageType; - 'ratingType'?: RatingType; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "providerName", - "baseName": "ProviderName", - "type": "string" - }, - { - "name": "url", - "baseName": "Url", - "type": "string" - }, - { - "name": "thumbnailUrl", - "baseName": "ThumbnailUrl", - "type": "string" - }, - { - "name": "height", - "baseName": "Height", - "type": "number" - }, - { - "name": "width", - "baseName": "Width", - "type": "number" - }, - { - "name": "communityRating", - "baseName": "CommunityRating", - "type": "number" - }, - { - "name": "voteCount", - "baseName": "VoteCount", - "type": "number" - }, - { - "name": "language", - "baseName": "Language", - "type": "string" - }, - { - "name": "type", - "baseName": "Type", - "type": "ImageType" - }, - { - "name": "ratingType", - "baseName": "RatingType", - "type": "RatingType" - } ]; - - static getAttributeTypeMap() { - return RemoteImageInfo.attributeTypeMap; - } -} - -export namespace RemoteImageInfo { -} diff --git a/jellyfin/model/remoteImageResult.ts b/jellyfin/model/remoteImageResult.ts deleted file mode 100644 index 8c18fca..0000000 --- a/jellyfin/model/remoteImageResult.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { RemoteImageInfo } from './remoteImageInfo'; - -/** -* Class RemoteImageResult. -*/ -export class RemoteImageResult { - /** - * Gets or sets the images. - */ - 'images'?: Array | null; - /** - * Gets or sets the total record count. - */ - 'totalRecordCount'?: number; - /** - * Gets or sets the providers. - */ - 'providers'?: Array | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "images", - "baseName": "Images", - "type": "Array" - }, - { - "name": "totalRecordCount", - "baseName": "TotalRecordCount", - "type": "number" - }, - { - "name": "providers", - "baseName": "Providers", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return RemoteImageResult.attributeTypeMap; - } -} - diff --git a/jellyfin/model/remoteSearchResult.ts b/jellyfin/model/remoteSearchResult.ts deleted file mode 100644 index d356b5d..0000000 --- a/jellyfin/model/remoteSearchResult.ts +++ /dev/null @@ -1,106 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class RemoteSearchResult { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the provider ids. - */ - 'providerIds'?: { [key: string]: string; } | null; - /** - * Gets or sets the year. - */ - 'productionYear'?: number | null; - 'indexNumber'?: number | null; - 'indexNumberEnd'?: number | null; - 'parentIndexNumber'?: number | null; - 'premiereDate'?: Date | null; - 'imageUrl'?: string | null; - 'searchProviderName'?: string | null; - 'overview'?: string | null; - 'albumArtist'?: RemoteSearchResult | null; - 'artists'?: Array | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "providerIds", - "baseName": "ProviderIds", - "type": "{ [key: string]: string; }" - }, - { - "name": "productionYear", - "baseName": "ProductionYear", - "type": "number" - }, - { - "name": "indexNumber", - "baseName": "IndexNumber", - "type": "number" - }, - { - "name": "indexNumberEnd", - "baseName": "IndexNumberEnd", - "type": "number" - }, - { - "name": "parentIndexNumber", - "baseName": "ParentIndexNumber", - "type": "number" - }, - { - "name": "premiereDate", - "baseName": "PremiereDate", - "type": "Date" - }, - { - "name": "imageUrl", - "baseName": "ImageUrl", - "type": "string" - }, - { - "name": "searchProviderName", - "baseName": "SearchProviderName", - "type": "string" - }, - { - "name": "overview", - "baseName": "Overview", - "type": "string" - }, - { - "name": "albumArtist", - "baseName": "AlbumArtist", - "type": "RemoteSearchResult" - }, - { - "name": "artists", - "baseName": "Artists", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return RemoteSearchResult.attributeTypeMap; - } -} - diff --git a/jellyfin/model/remoteSubtitleInfo.ts b/jellyfin/model/remoteSubtitleInfo.ts deleted file mode 100644 index 94c18c7..0000000 --- a/jellyfin/model/remoteSubtitleInfo.ts +++ /dev/null @@ -1,91 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class RemoteSubtitleInfo { - 'threeLetterISOLanguageName'?: string | null; - 'id'?: string | null; - 'providerName'?: string | null; - 'name'?: string | null; - 'format'?: string | null; - 'author'?: string | null; - 'comment'?: string | null; - 'dateCreated'?: Date | null; - 'communityRating'?: number | null; - 'downloadCount'?: number | null; - 'isHashMatch'?: boolean | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "threeLetterISOLanguageName", - "baseName": "ThreeLetterISOLanguageName", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "providerName", - "baseName": "ProviderName", - "type": "string" - }, - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "format", - "baseName": "Format", - "type": "string" - }, - { - "name": "author", - "baseName": "Author", - "type": "string" - }, - { - "name": "comment", - "baseName": "Comment", - "type": "string" - }, - { - "name": "dateCreated", - "baseName": "DateCreated", - "type": "Date" - }, - { - "name": "communityRating", - "baseName": "CommunityRating", - "type": "number" - }, - { - "name": "downloadCount", - "baseName": "DownloadCount", - "type": "number" - }, - { - "name": "isHashMatch", - "baseName": "IsHashMatch", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return RemoteSubtitleInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/removeFromPlaylistRequestDto.ts b/jellyfin/model/removeFromPlaylistRequestDto.ts deleted file mode 100644 index 4744739..0000000 --- a/jellyfin/model/removeFromPlaylistRequestDto.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class RemoveFromPlaylistRequestDto. -*/ -export class RemoveFromPlaylistRequestDto { - /** - * Gets or sets the playlist identifiers ot the items. Ignored when clearing the playlist. - */ - 'playlistItemIds'?: Array; - /** - * Gets or sets a value indicating whether the entire playlist should be cleared. - */ - 'clearPlaylist'?: boolean; - /** - * Gets or sets a value indicating whether the playing item should be removed as well. Used only when clearing the playlist. - */ - 'clearPlayingItem'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "playlistItemIds", - "baseName": "PlaylistItemIds", - "type": "Array" - }, - { - "name": "clearPlaylist", - "baseName": "ClearPlaylist", - "type": "boolean" - }, - { - "name": "clearPlayingItem", - "baseName": "ClearPlayingItem", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return RemoveFromPlaylistRequestDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/repeatMode.ts b/jellyfin/model/repeatMode.ts deleted file mode 100644 index f9f08e7..0000000 --- a/jellyfin/model/repeatMode.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum RepeatMode { - RepeatNone = 'RepeatNone', - RepeatAll = 'RepeatAll', - RepeatOne = 'RepeatOne' -} diff --git a/jellyfin/model/reportPlaybackProgressRequest.ts b/jellyfin/model/reportPlaybackProgressRequest.ts deleted file mode 100644 index b329c74..0000000 --- a/jellyfin/model/reportPlaybackProgressRequest.ts +++ /dev/null @@ -1,190 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { PlayMethod } from './playMethod'; -import { PlaybackProgressInfoItem } from './playbackProgressInfoItem'; -import { QueueItem } from './queueItem'; -import { RepeatMode } from './repeatMode'; - -/** -* Class PlaybackProgressInfo. -*/ -export class ReportPlaybackProgressRequest { - /** - * Gets or sets a value indicating whether this instance can seek. - */ - 'canSeek'?: boolean; - 'item'?: PlaybackProgressInfoItem | null; - /** - * Gets or sets the item identifier. - */ - 'itemId'?: string; - /** - * Gets or sets the session id. - */ - 'sessionId'?: string | null; - /** - * Gets or sets the media version identifier. - */ - 'mediaSourceId'?: string | null; - /** - * Gets or sets the index of the audio stream. - */ - 'audioStreamIndex'?: number | null; - /** - * Gets or sets the index of the subtitle stream. - */ - 'subtitleStreamIndex'?: number | null; - /** - * Gets or sets a value indicating whether this instance is paused. - */ - 'isPaused'?: boolean; - /** - * Gets or sets a value indicating whether this instance is muted. - */ - 'isMuted'?: boolean; - /** - * Gets or sets the position ticks. - */ - 'positionTicks'?: number | null; - 'playbackStartTimeTicks'?: number | null; - /** - * Gets or sets the volume level. - */ - 'volumeLevel'?: number | null; - 'brightness'?: number | null; - 'aspectRatio'?: string | null; - 'playMethod'?: PlayMethod; - /** - * Gets or sets the live stream identifier. - */ - 'liveStreamId'?: string | null; - /** - * Gets or sets the play session identifier. - */ - 'playSessionId'?: string | null; - 'repeatMode'?: RepeatMode; - 'nowPlayingQueue'?: Array | null; - 'playlistItemId'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "canSeek", - "baseName": "CanSeek", - "type": "boolean" - }, - { - "name": "item", - "baseName": "Item", - "type": "PlaybackProgressInfoItem" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "sessionId", - "baseName": "SessionId", - "type": "string" - }, - { - "name": "mediaSourceId", - "baseName": "MediaSourceId", - "type": "string" - }, - { - "name": "audioStreamIndex", - "baseName": "AudioStreamIndex", - "type": "number" - }, - { - "name": "subtitleStreamIndex", - "baseName": "SubtitleStreamIndex", - "type": "number" - }, - { - "name": "isPaused", - "baseName": "IsPaused", - "type": "boolean" - }, - { - "name": "isMuted", - "baseName": "IsMuted", - "type": "boolean" - }, - { - "name": "positionTicks", - "baseName": "PositionTicks", - "type": "number" - }, - { - "name": "playbackStartTimeTicks", - "baseName": "PlaybackStartTimeTicks", - "type": "number" - }, - { - "name": "volumeLevel", - "baseName": "VolumeLevel", - "type": "number" - }, - { - "name": "brightness", - "baseName": "Brightness", - "type": "number" - }, - { - "name": "aspectRatio", - "baseName": "AspectRatio", - "type": "string" - }, - { - "name": "playMethod", - "baseName": "PlayMethod", - "type": "PlayMethod" - }, - { - "name": "liveStreamId", - "baseName": "LiveStreamId", - "type": "string" - }, - { - "name": "playSessionId", - "baseName": "PlaySessionId", - "type": "string" - }, - { - "name": "repeatMode", - "baseName": "RepeatMode", - "type": "RepeatMode" - }, - { - "name": "nowPlayingQueue", - "baseName": "NowPlayingQueue", - "type": "Array" - }, - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return ReportPlaybackProgressRequest.attributeTypeMap; - } -} - -export namespace ReportPlaybackProgressRequest { -} diff --git a/jellyfin/model/reportPlaybackStartRequest.ts b/jellyfin/model/reportPlaybackStartRequest.ts deleted file mode 100644 index 483f13f..0000000 --- a/jellyfin/model/reportPlaybackStartRequest.ts +++ /dev/null @@ -1,190 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { PlayMethod } from './playMethod'; -import { PlaybackProgressInfoItem } from './playbackProgressInfoItem'; -import { QueueItem } from './queueItem'; -import { RepeatMode } from './repeatMode'; - -/** -* Class PlaybackStartInfo. -*/ -export class ReportPlaybackStartRequest { - /** - * Gets or sets a value indicating whether this instance can seek. - */ - 'canSeek'?: boolean; - 'item'?: PlaybackProgressInfoItem | null; - /** - * Gets or sets the item identifier. - */ - 'itemId'?: string; - /** - * Gets or sets the session id. - */ - 'sessionId'?: string | null; - /** - * Gets or sets the media version identifier. - */ - 'mediaSourceId'?: string | null; - /** - * Gets or sets the index of the audio stream. - */ - 'audioStreamIndex'?: number | null; - /** - * Gets or sets the index of the subtitle stream. - */ - 'subtitleStreamIndex'?: number | null; - /** - * Gets or sets a value indicating whether this instance is paused. - */ - 'isPaused'?: boolean; - /** - * Gets or sets a value indicating whether this instance is muted. - */ - 'isMuted'?: boolean; - /** - * Gets or sets the position ticks. - */ - 'positionTicks'?: number | null; - 'playbackStartTimeTicks'?: number | null; - /** - * Gets or sets the volume level. - */ - 'volumeLevel'?: number | null; - 'brightness'?: number | null; - 'aspectRatio'?: string | null; - 'playMethod'?: PlayMethod; - /** - * Gets or sets the live stream identifier. - */ - 'liveStreamId'?: string | null; - /** - * Gets or sets the play session identifier. - */ - 'playSessionId'?: string | null; - 'repeatMode'?: RepeatMode; - 'nowPlayingQueue'?: Array | null; - 'playlistItemId'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "canSeek", - "baseName": "CanSeek", - "type": "boolean" - }, - { - "name": "item", - "baseName": "Item", - "type": "PlaybackProgressInfoItem" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "sessionId", - "baseName": "SessionId", - "type": "string" - }, - { - "name": "mediaSourceId", - "baseName": "MediaSourceId", - "type": "string" - }, - { - "name": "audioStreamIndex", - "baseName": "AudioStreamIndex", - "type": "number" - }, - { - "name": "subtitleStreamIndex", - "baseName": "SubtitleStreamIndex", - "type": "number" - }, - { - "name": "isPaused", - "baseName": "IsPaused", - "type": "boolean" - }, - { - "name": "isMuted", - "baseName": "IsMuted", - "type": "boolean" - }, - { - "name": "positionTicks", - "baseName": "PositionTicks", - "type": "number" - }, - { - "name": "playbackStartTimeTicks", - "baseName": "PlaybackStartTimeTicks", - "type": "number" - }, - { - "name": "volumeLevel", - "baseName": "VolumeLevel", - "type": "number" - }, - { - "name": "brightness", - "baseName": "Brightness", - "type": "number" - }, - { - "name": "aspectRatio", - "baseName": "AspectRatio", - "type": "string" - }, - { - "name": "playMethod", - "baseName": "PlayMethod", - "type": "PlayMethod" - }, - { - "name": "liveStreamId", - "baseName": "LiveStreamId", - "type": "string" - }, - { - "name": "playSessionId", - "baseName": "PlaySessionId", - "type": "string" - }, - { - "name": "repeatMode", - "baseName": "RepeatMode", - "type": "RepeatMode" - }, - { - "name": "nowPlayingQueue", - "baseName": "NowPlayingQueue", - "type": "Array" - }, - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return ReportPlaybackStartRequest.attributeTypeMap; - } -} - -export namespace ReportPlaybackStartRequest { -} diff --git a/jellyfin/model/reportPlaybackStoppedRequest.ts b/jellyfin/model/reportPlaybackStoppedRequest.ts deleted file mode 100644 index 9cb3b80..0000000 --- a/jellyfin/model/reportPlaybackStoppedRequest.ts +++ /dev/null @@ -1,117 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { PlaybackProgressInfoItem } from './playbackProgressInfoItem'; -import { QueueItem } from './queueItem'; - -/** -* Class PlaybackStopInfo. -*/ -export class ReportPlaybackStoppedRequest { - 'item'?: PlaybackProgressInfoItem | null; - /** - * Gets or sets the item identifier. - */ - 'itemId'?: string; - /** - * Gets or sets the session id. - */ - 'sessionId'?: string | null; - /** - * Gets or sets the media version identifier. - */ - 'mediaSourceId'?: string | null; - /** - * Gets or sets the position ticks. - */ - 'positionTicks'?: number | null; - /** - * Gets or sets the live stream identifier. - */ - 'liveStreamId'?: string | null; - /** - * Gets or sets the play session identifier. - */ - 'playSessionId'?: string | null; - /** - * Gets or sets a value indicating whether this MediaBrowser.Model.Session.PlaybackStopInfo is failed. - */ - 'failed'?: boolean; - 'nextMediaType'?: string | null; - 'playlistItemId'?: string | null; - 'nowPlayingQueue'?: Array | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "item", - "baseName": "Item", - "type": "PlaybackProgressInfoItem" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "sessionId", - "baseName": "SessionId", - "type": "string" - }, - { - "name": "mediaSourceId", - "baseName": "MediaSourceId", - "type": "string" - }, - { - "name": "positionTicks", - "baseName": "PositionTicks", - "type": "number" - }, - { - "name": "liveStreamId", - "baseName": "LiveStreamId", - "type": "string" - }, - { - "name": "playSessionId", - "baseName": "PlaySessionId", - "type": "string" - }, - { - "name": "failed", - "baseName": "Failed", - "type": "boolean" - }, - { - "name": "nextMediaType", - "baseName": "NextMediaType", - "type": "string" - }, - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - }, - { - "name": "nowPlayingQueue", - "baseName": "NowPlayingQueue", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return ReportPlaybackStoppedRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/repositoryInfo.ts b/jellyfin/model/repositoryInfo.ts deleted file mode 100644 index b6460b2..0000000 --- a/jellyfin/model/repositoryInfo.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class RepositoryInfo. -*/ -export class RepositoryInfo { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the URL. - */ - 'url'?: string | null; - /** - * Gets or sets a value indicating whether the repository is enabled. - */ - 'enabled'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "url", - "baseName": "Url", - "type": "string" - }, - { - "name": "enabled", - "baseName": "Enabled", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return RepositoryInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/responseProfile.ts b/jellyfin/model/responseProfile.ts deleted file mode 100644 index a557c1c..0000000 --- a/jellyfin/model/responseProfile.ts +++ /dev/null @@ -1,71 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { DlnaProfileType } from './dlnaProfileType'; -import { ProfileCondition } from './profileCondition'; - -export class ResponseProfile { - 'container'?: string | null; - 'audioCodec'?: string | null; - 'videoCodec'?: string | null; - 'type'?: DlnaProfileType; - 'orgPn'?: string | null; - 'mimeType'?: string | null; - 'conditions'?: Array | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "container", - "baseName": "Container", - "type": "string" - }, - { - "name": "audioCodec", - "baseName": "AudioCodec", - "type": "string" - }, - { - "name": "videoCodec", - "baseName": "VideoCodec", - "type": "string" - }, - { - "name": "type", - "baseName": "Type", - "type": "DlnaProfileType" - }, - { - "name": "orgPn", - "baseName": "OrgPn", - "type": "string" - }, - { - "name": "mimeType", - "baseName": "MimeType", - "type": "string" - }, - { - "name": "conditions", - "baseName": "Conditions", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return ResponseProfile.attributeTypeMap; - } -} - -export namespace ResponseProfile { -} diff --git a/jellyfin/model/scrollDirection.ts b/jellyfin/model/scrollDirection.ts deleted file mode 100644 index 4f50564..0000000 --- a/jellyfin/model/scrollDirection.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* An enum representing the axis that should be scrolled. -*/ -export enum ScrollDirection { - Horizontal = 'Horizontal', - Vertical = 'Vertical' -} diff --git a/jellyfin/model/searchHint.ts b/jellyfin/model/searchHint.ts deleted file mode 100644 index 562e732..0000000 --- a/jellyfin/model/searchHint.ts +++ /dev/null @@ -1,271 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class SearchHintResult. -*/ -export class SearchHint { - /** - * Gets or sets the item id. - */ - 'itemId'?: string; - 'id'?: string; - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the matched term. - */ - 'matchedTerm'?: string | null; - /** - * Gets or sets the index number. - */ - 'indexNumber'?: number | null; - /** - * Gets or sets the production year. - */ - 'productionYear'?: number | null; - /** - * Gets or sets the parent index number. - */ - 'parentIndexNumber'?: number | null; - /** - * Gets or sets the image tag. - */ - 'primaryImageTag'?: string | null; - /** - * Gets or sets the thumb image tag. - */ - 'thumbImageTag'?: string | null; - /** - * Gets or sets the thumb image item identifier. - */ - 'thumbImageItemId'?: string | null; - /** - * Gets or sets the backdrop image tag. - */ - 'backdropImageTag'?: string | null; - /** - * Gets or sets the backdrop image item identifier. - */ - 'backdropImageItemId'?: string | null; - /** - * Gets or sets the type. - */ - 'type'?: string | null; - 'isFolder'?: boolean | null; - /** - * Gets or sets the run time ticks. - */ - 'runTimeTicks'?: number | null; - /** - * Gets or sets the type of the media. - */ - 'mediaType'?: string | null; - 'startDate'?: Date | null; - 'endDate'?: Date | null; - /** - * Gets or sets the series. - */ - 'series'?: string | null; - 'status'?: string | null; - /** - * Gets or sets the album. - */ - 'album'?: string | null; - 'albumId'?: string; - /** - * Gets or sets the album artist. - */ - 'albumArtist'?: string | null; - /** - * Gets or sets the artists. - */ - 'artists'?: Array | null; - /** - * Gets or sets the song count. - */ - 'songCount'?: number | null; - /** - * Gets or sets the episode count. - */ - 'episodeCount'?: number | null; - /** - * Gets or sets the channel identifier. - */ - 'channelId'?: string; - /** - * Gets or sets the name of the channel. - */ - 'channelName'?: string | null; - /** - * Gets or sets the primary image aspect ratio. - */ - 'primaryImageAspectRatio'?: number | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "matchedTerm", - "baseName": "MatchedTerm", - "type": "string" - }, - { - "name": "indexNumber", - "baseName": "IndexNumber", - "type": "number" - }, - { - "name": "productionYear", - "baseName": "ProductionYear", - "type": "number" - }, - { - "name": "parentIndexNumber", - "baseName": "ParentIndexNumber", - "type": "number" - }, - { - "name": "primaryImageTag", - "baseName": "PrimaryImageTag", - "type": "string" - }, - { - "name": "thumbImageTag", - "baseName": "ThumbImageTag", - "type": "string" - }, - { - "name": "thumbImageItemId", - "baseName": "ThumbImageItemId", - "type": "string" - }, - { - "name": "backdropImageTag", - "baseName": "BackdropImageTag", - "type": "string" - }, - { - "name": "backdropImageItemId", - "baseName": "BackdropImageItemId", - "type": "string" - }, - { - "name": "type", - "baseName": "Type", - "type": "string" - }, - { - "name": "isFolder", - "baseName": "IsFolder", - "type": "boolean" - }, - { - "name": "runTimeTicks", - "baseName": "RunTimeTicks", - "type": "number" - }, - { - "name": "mediaType", - "baseName": "MediaType", - "type": "string" - }, - { - "name": "startDate", - "baseName": "StartDate", - "type": "Date" - }, - { - "name": "endDate", - "baseName": "EndDate", - "type": "Date" - }, - { - "name": "series", - "baseName": "Series", - "type": "string" - }, - { - "name": "status", - "baseName": "Status", - "type": "string" - }, - { - "name": "album", - "baseName": "Album", - "type": "string" - }, - { - "name": "albumId", - "baseName": "AlbumId", - "type": "string" - }, - { - "name": "albumArtist", - "baseName": "AlbumArtist", - "type": "string" - }, - { - "name": "artists", - "baseName": "Artists", - "type": "Array" - }, - { - "name": "songCount", - "baseName": "SongCount", - "type": "number" - }, - { - "name": "episodeCount", - "baseName": "EpisodeCount", - "type": "number" - }, - { - "name": "channelId", - "baseName": "ChannelId", - "type": "string" - }, - { - "name": "channelName", - "baseName": "ChannelName", - "type": "string" - }, - { - "name": "primaryImageAspectRatio", - "baseName": "PrimaryImageAspectRatio", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return SearchHint.attributeTypeMap; - } -} - diff --git a/jellyfin/model/searchHintResult.ts b/jellyfin/model/searchHintResult.ts deleted file mode 100644 index eba57c5..0000000 --- a/jellyfin/model/searchHintResult.ts +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { SearchHint } from './searchHint'; - -/** -* Class SearchHintResult. -*/ -export class SearchHintResult { - /** - * Gets the search hints. - */ - 'searchHints'?: Array; - /** - * Gets the total record count. - */ - 'totalRecordCount'?: number; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "searchHints", - "baseName": "SearchHints", - "type": "Array" - }, - { - "name": "totalRecordCount", - "baseName": "TotalRecordCount", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return SearchHintResult.attributeTypeMap; - } -} - diff --git a/jellyfin/model/seekRequestDto.ts b/jellyfin/model/seekRequestDto.ts deleted file mode 100644 index 5928321..0000000 --- a/jellyfin/model/seekRequestDto.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class SeekRequestDto. -*/ -export class SeekRequestDto { - /** - * Gets or sets the position ticks. - */ - 'positionTicks'?: number; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "positionTicks", - "baseName": "PositionTicks", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return SeekRequestDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/sendCommand.ts b/jellyfin/model/sendCommand.ts deleted file mode 100644 index 0f58c94..0000000 --- a/jellyfin/model/sendCommand.ts +++ /dev/null @@ -1,82 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { SendCommandType } from './sendCommandType'; - -/** -* Class SendCommand. -*/ -export class SendCommand { - /** - * Gets the group identifier. - */ - 'groupId'?: string; - /** - * Gets the playlist identifier of the playing item. - */ - 'playlistItemId'?: string; - /** - * Gets or sets the UTC time when to execute the command. - */ - 'when'?: Date; - /** - * Gets the position ticks. - */ - 'positionTicks'?: number | null; - 'command'?: SendCommandType; - /** - * Gets the UTC time when this command has been emitted. - */ - 'emittedAt'?: Date; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "groupId", - "baseName": "GroupId", - "type": "string" - }, - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - }, - { - "name": "when", - "baseName": "When", - "type": "Date" - }, - { - "name": "positionTicks", - "baseName": "PositionTicks", - "type": "number" - }, - { - "name": "command", - "baseName": "Command", - "type": "SendCommandType" - }, - { - "name": "emittedAt", - "baseName": "EmittedAt", - "type": "Date" - } ]; - - static getAttributeTypeMap() { - return SendCommand.attributeTypeMap; - } -} - -export namespace SendCommand { -} diff --git a/jellyfin/model/sendCommandType.ts b/jellyfin/model/sendCommandType.ts deleted file mode 100644 index 70739e9..0000000 --- a/jellyfin/model/sendCommandType.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Enum SendCommandType. -*/ -export enum SendCommandType { - Unpause = 'Unpause', - Pause = 'Pause', - Stop = 'Stop', - Seek = 'Seek' -} diff --git a/jellyfin/model/sendFullGeneralCommandRequest.ts b/jellyfin/model/sendFullGeneralCommandRequest.ts deleted file mode 100644 index 37eb3df..0000000 --- a/jellyfin/model/sendFullGeneralCommandRequest.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { GeneralCommandType } from './generalCommandType'; - -export class SendFullGeneralCommandRequest { - 'name'?: GeneralCommandType; - 'controllingUserId'?: string; - 'arguments'?: { [key: string]: string; }; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "GeneralCommandType" - }, - { - "name": "controllingUserId", - "baseName": "ControllingUserId", - "type": "string" - }, - { - "name": "arguments", - "baseName": "Arguments", - "type": "{ [key: string]: string; }" - } ]; - - static getAttributeTypeMap() { - return SendFullGeneralCommandRequest.attributeTypeMap; - } -} - -export namespace SendFullGeneralCommandRequest { -} diff --git a/jellyfin/model/sendMessageCommandRequest.ts b/jellyfin/model/sendMessageCommandRequest.ts deleted file mode 100644 index f4078ae..0000000 --- a/jellyfin/model/sendMessageCommandRequest.ts +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class SendMessageCommandRequest { - 'header'?: string | null; - 'text': string; - 'timeoutMs'?: number | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "header", - "baseName": "Header", - "type": "string" - }, - { - "name": "text", - "baseName": "Text", - "type": "string" - }, - { - "name": "timeoutMs", - "baseName": "TimeoutMs", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return SendMessageCommandRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/sendToUserType.ts b/jellyfin/model/sendToUserType.ts deleted file mode 100644 index c9e7fe9..0000000 --- a/jellyfin/model/sendToUserType.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum SendToUserType { - All = 'All', - Admins = 'Admins', - Custom = 'Custom' -} diff --git a/jellyfin/model/seriesInfo.ts b/jellyfin/model/seriesInfo.ts deleted file mode 100644 index db48e85..0000000 --- a/jellyfin/model/seriesInfo.ts +++ /dev/null @@ -1,112 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class SeriesInfo { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the original title. - */ - 'originalTitle'?: string | null; - /** - * Gets or sets the path. - */ - 'path'?: string | null; - /** - * Gets or sets the metadata language. - */ - 'metadataLanguage'?: string | null; - /** - * Gets or sets the metadata country code. - */ - 'metadataCountryCode'?: string | null; - /** - * Gets or sets the provider ids. - */ - 'providerIds'?: { [key: string]: string; } | null; - /** - * Gets or sets the year. - */ - 'year'?: number | null; - 'indexNumber'?: number | null; - 'parentIndexNumber'?: number | null; - 'premiereDate'?: Date | null; - 'isAutomated'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "originalTitle", - "baseName": "OriginalTitle", - "type": "string" - }, - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "metadataLanguage", - "baseName": "MetadataLanguage", - "type": "string" - }, - { - "name": "metadataCountryCode", - "baseName": "MetadataCountryCode", - "type": "string" - }, - { - "name": "providerIds", - "baseName": "ProviderIds", - "type": "{ [key: string]: string; }" - }, - { - "name": "year", - "baseName": "Year", - "type": "number" - }, - { - "name": "indexNumber", - "baseName": "IndexNumber", - "type": "number" - }, - { - "name": "parentIndexNumber", - "baseName": "ParentIndexNumber", - "type": "number" - }, - { - "name": "premiereDate", - "baseName": "PremiereDate", - "type": "Date" - }, - { - "name": "isAutomated", - "baseName": "IsAutomated", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return SeriesInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/seriesInfoRemoteSearchQuery.ts b/jellyfin/model/seriesInfoRemoteSearchQuery.ts deleted file mode 100644 index bb5cda6..0000000 --- a/jellyfin/model/seriesInfoRemoteSearchQuery.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { SeriesInfo } from './seriesInfo'; - -export class SeriesInfoRemoteSearchQuery { - 'searchInfo'?: SeriesInfo | null; - 'itemId'?: string; - /** - * Gets or sets the provider name to search within if set. - */ - 'searchProviderName'?: string | null; - /** - * Gets or sets a value indicating whether disabled providers should be included. - */ - 'includeDisabledProviders'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "searchInfo", - "baseName": "SearchInfo", - "type": "SeriesInfo" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "searchProviderName", - "baseName": "SearchProviderName", - "type": "string" - }, - { - "name": "includeDisabledProviders", - "baseName": "IncludeDisabledProviders", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return SeriesInfoRemoteSearchQuery.attributeTypeMap; - } -} - diff --git a/jellyfin/model/seriesStatus.ts b/jellyfin/model/seriesStatus.ts deleted file mode 100644 index 45401a3..0000000 --- a/jellyfin/model/seriesStatus.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Enum SeriesStatus. -*/ -export enum SeriesStatus { - Continuing = 'Continuing', - Ended = 'Ended' -} diff --git a/jellyfin/model/seriesTimerInfoDto.ts b/jellyfin/model/seriesTimerInfoDto.ts deleted file mode 100644 index 09fa185..0000000 --- a/jellyfin/model/seriesTimerInfoDto.ts +++ /dev/null @@ -1,330 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { DayOfWeek } from './dayOfWeek'; -import { DayPattern } from './dayPattern'; -import { KeepUntil } from './keepUntil'; - -/** -* Class SeriesTimerInfoDto. -*/ -export class SeriesTimerInfoDto { - /** - * Gets or sets the Id of the recording. - */ - 'id'?: string | null; - 'type'?: string | null; - /** - * Gets or sets the server identifier. - */ - 'serverId'?: string | null; - /** - * Gets or sets the external identifier. - */ - 'externalId'?: string | null; - /** - * Gets or sets the channel id of the recording. - */ - 'channelId'?: string; - /** - * Gets or sets the external channel identifier. - */ - 'externalChannelId'?: string | null; - /** - * Gets or sets the channel name of the recording. - */ - 'channelName'?: string | null; - 'channelPrimaryImageTag'?: string | null; - /** - * Gets or sets the program identifier. - */ - 'programId'?: string | null; - /** - * Gets or sets the external program identifier. - */ - 'externalProgramId'?: string | null; - /** - * Gets or sets the name of the recording. - */ - 'name'?: string | null; - /** - * Gets or sets the description of the recording. - */ - 'overview'?: string | null; - /** - * Gets or sets the start date of the recording, in UTC. - */ - 'startDate'?: Date; - /** - * Gets or sets the end date of the recording, in UTC. - */ - 'endDate'?: Date; - /** - * Gets or sets the name of the service. - */ - 'serviceName'?: string | null; - /** - * Gets or sets the priority. - */ - 'priority'?: number; - /** - * Gets or sets the pre padding seconds. - */ - 'prePaddingSeconds'?: number; - /** - * Gets or sets the post padding seconds. - */ - 'postPaddingSeconds'?: number; - /** - * Gets or sets a value indicating whether this instance is pre padding required. - */ - 'isPrePaddingRequired'?: boolean; - /** - * Gets or sets the Id of the Parent that has a backdrop if the item does not have one. - */ - 'parentBackdropItemId'?: string | null; - /** - * Gets or sets the parent backdrop image tags. - */ - 'parentBackdropImageTags'?: Array | null; - /** - * Gets or sets a value indicating whether this instance is post padding required. - */ - 'isPostPaddingRequired'?: boolean; - 'keepUntil'?: KeepUntil; - /** - * Gets or sets a value indicating whether [record any time]. - */ - 'recordAnyTime'?: boolean; - 'skipEpisodesInLibrary'?: boolean; - /** - * Gets or sets a value indicating whether [record any channel]. - */ - 'recordAnyChannel'?: boolean; - 'keepUpTo'?: number; - /** - * Gets or sets a value indicating whether [record new only]. - */ - 'recordNewOnly'?: boolean; - /** - * Gets or sets the days. - */ - 'days'?: Array | null; - 'dayPattern'?: DayPattern | null; - /** - * Gets or sets the image tags. - */ - 'imageTags'?: { [key: string]: string; } | null; - /** - * Gets or sets the parent thumb item id. - */ - 'parentThumbItemId'?: string | null; - /** - * Gets or sets the parent thumb image tag. - */ - 'parentThumbImageTag'?: string | null; - /** - * Gets or sets the parent primary image item identifier. - */ - 'parentPrimaryImageItemId'?: string | null; - /** - * Gets or sets the parent primary image tag. - */ - 'parentPrimaryImageTag'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "type", - "baseName": "Type", - "type": "string" - }, - { - "name": "serverId", - "baseName": "ServerId", - "type": "string" - }, - { - "name": "externalId", - "baseName": "ExternalId", - "type": "string" - }, - { - "name": "channelId", - "baseName": "ChannelId", - "type": "string" - }, - { - "name": "externalChannelId", - "baseName": "ExternalChannelId", - "type": "string" - }, - { - "name": "channelName", - "baseName": "ChannelName", - "type": "string" - }, - { - "name": "channelPrimaryImageTag", - "baseName": "ChannelPrimaryImageTag", - "type": "string" - }, - { - "name": "programId", - "baseName": "ProgramId", - "type": "string" - }, - { - "name": "externalProgramId", - "baseName": "ExternalProgramId", - "type": "string" - }, - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "overview", - "baseName": "Overview", - "type": "string" - }, - { - "name": "startDate", - "baseName": "StartDate", - "type": "Date" - }, - { - "name": "endDate", - "baseName": "EndDate", - "type": "Date" - }, - { - "name": "serviceName", - "baseName": "ServiceName", - "type": "string" - }, - { - "name": "priority", - "baseName": "Priority", - "type": "number" - }, - { - "name": "prePaddingSeconds", - "baseName": "PrePaddingSeconds", - "type": "number" - }, - { - "name": "postPaddingSeconds", - "baseName": "PostPaddingSeconds", - "type": "number" - }, - { - "name": "isPrePaddingRequired", - "baseName": "IsPrePaddingRequired", - "type": "boolean" - }, - { - "name": "parentBackdropItemId", - "baseName": "ParentBackdropItemId", - "type": "string" - }, - { - "name": "parentBackdropImageTags", - "baseName": "ParentBackdropImageTags", - "type": "Array" - }, - { - "name": "isPostPaddingRequired", - "baseName": "IsPostPaddingRequired", - "type": "boolean" - }, - { - "name": "keepUntil", - "baseName": "KeepUntil", - "type": "KeepUntil" - }, - { - "name": "recordAnyTime", - "baseName": "RecordAnyTime", - "type": "boolean" - }, - { - "name": "skipEpisodesInLibrary", - "baseName": "SkipEpisodesInLibrary", - "type": "boolean" - }, - { - "name": "recordAnyChannel", - "baseName": "RecordAnyChannel", - "type": "boolean" - }, - { - "name": "keepUpTo", - "baseName": "KeepUpTo", - "type": "number" - }, - { - "name": "recordNewOnly", - "baseName": "RecordNewOnly", - "type": "boolean" - }, - { - "name": "days", - "baseName": "Days", - "type": "Array" - }, - { - "name": "dayPattern", - "baseName": "DayPattern", - "type": "DayPattern" - }, - { - "name": "imageTags", - "baseName": "ImageTags", - "type": "{ [key: string]: string; }" - }, - { - "name": "parentThumbItemId", - "baseName": "ParentThumbItemId", - "type": "string" - }, - { - "name": "parentThumbImageTag", - "baseName": "ParentThumbImageTag", - "type": "string" - }, - { - "name": "parentPrimaryImageItemId", - "baseName": "ParentPrimaryImageItemId", - "type": "string" - }, - { - "name": "parentPrimaryImageTag", - "baseName": "ParentPrimaryImageTag", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return SeriesTimerInfoDto.attributeTypeMap; - } -} - -export namespace SeriesTimerInfoDto { -} diff --git a/jellyfin/model/seriesTimerInfoDtoQueryResult.ts b/jellyfin/model/seriesTimerInfoDtoQueryResult.ts deleted file mode 100644 index 2f6e104..0000000 --- a/jellyfin/model/seriesTimerInfoDtoQueryResult.ts +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { SeriesTimerInfoDto } from './seriesTimerInfoDto'; - -export class SeriesTimerInfoDtoQueryResult { - /** - * Gets or sets the items. - */ - 'items'?: Array | null; - /** - * Gets or sets the total number of records available. - */ - 'totalRecordCount'?: number; - /** - * Gets or sets the index of the first record in Items. - */ - 'startIndex'?: number; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "items", - "baseName": "Items", - "type": "Array" - }, - { - "name": "totalRecordCount", - "baseName": "TotalRecordCount", - "type": "number" - }, - { - "name": "startIndex", - "baseName": "StartIndex", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return SeriesTimerInfoDtoQueryResult.attributeTypeMap; - } -} - diff --git a/jellyfin/model/serverConfiguration.ts b/jellyfin/model/serverConfiguration.ts deleted file mode 100644 index d16fb13..0000000 --- a/jellyfin/model/serverConfiguration.ts +++ /dev/null @@ -1,410 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ImageSavingConvention } from './imageSavingConvention'; -import { MetadataOptions } from './metadataOptions'; -import { NameValuePair } from './nameValuePair'; -import { PathSubstitution } from './pathSubstitution'; -import { RepositoryInfo } from './repositoryInfo'; - -/** -* Represents the server configuration. -*/ -export class ServerConfiguration { - /** - * Gets or sets the number of days we should retain log files. - */ - 'logFileRetentionDays'?: number; - /** - * Gets or sets a value indicating whether this instance is first run. - */ - 'isStartupWizardCompleted'?: boolean; - /** - * Gets or sets the cache path. - */ - 'cachePath'?: string | null; - /** - * Gets or sets the last known version that was ran using the configuration. - */ - 'previousVersion'?: string | null; - /** - * Gets or sets the stringified PreviousVersion to be stored/loaded, because System.Version itself isn\'t xml-serializable. - */ - 'previousVersionStr'?: string | null; - /** - * Gets or sets a value indicating whether to enable prometheus metrics exporting. - */ - 'enableMetrics'?: boolean; - 'enableNormalizedItemByNameIds'?: boolean; - /** - * Gets or sets a value indicating whether this instance is port authorized. - */ - 'isPortAuthorized'?: boolean; - /** - * Gets or sets a value indicating whether quick connect is available for use on this server. - */ - 'quickConnectAvailable'?: boolean; - /** - * Gets or sets a value indicating whether [enable case sensitive item ids]. - */ - 'enableCaseSensitiveItemIds'?: boolean; - 'disableLiveTvChannelUserDataName'?: boolean; - /** - * Gets or sets the metadata path. - */ - 'metadataPath'?: string; - 'metadataNetworkPath'?: string; - /** - * Gets or sets the preferred metadata language. - */ - 'preferredMetadataLanguage'?: string; - /** - * Gets or sets the metadata country code. - */ - 'metadataCountryCode'?: string; - /** - * Gets or sets characters to be replaced with a \' \' in strings to create a sort name. - */ - 'sortReplaceCharacters'?: Array; - /** - * Gets or sets characters to be removed from strings to create a sort name. - */ - 'sortRemoveCharacters'?: Array; - /** - * Gets or sets words to be removed from strings to create a sort name. - */ - 'sortRemoveWords'?: Array; - /** - * Gets or sets the minimum percentage of an item that must be played in order for playstate to be updated. - */ - 'minResumePct'?: number; - /** - * Gets or sets the maximum percentage of an item that can be played while still saving playstate. If this percentage is crossed playstate will be reset to the beginning and the item will be marked watched. - */ - 'maxResumePct'?: number; - /** - * Gets or sets the minimum duration that an item must have in order to be eligible for playstate updates.. - */ - 'minResumeDurationSeconds'?: number; - /** - * Gets or sets the minimum minutes of a book that must be played in order for playstate to be updated. - */ - 'minAudiobookResume'?: number; - /** - * Gets or sets the remaining minutes of a book that can be played while still saving playstate. If this percentage is crossed playstate will be reset to the beginning and the item will be marked watched. - */ - 'maxAudiobookResume'?: number; - /** - * Gets or sets the delay in seconds that we will wait after a file system change to try and discover what has been added/removed Some delay is necessary with some items because their creation is not atomic. It involves the creation of several different directories and files. - */ - 'libraryMonitorDelay'?: number; - 'imageSavingConvention'?: ImageSavingConvention; - 'metadataOptions'?: Array; - 'skipDeserializationForBasicTypes'?: boolean; - 'serverName'?: string; - 'uICulture'?: string; - 'saveMetadataHidden'?: boolean; - 'contentTypes'?: Array; - 'remoteClientBitrateLimit'?: number; - 'enableFolderView'?: boolean; - 'enableGroupingIntoCollections'?: boolean; - 'displaySpecialsWithinSeasons'?: boolean; - 'codecsUsed'?: Array; - 'pluginRepositories'?: Array; - 'enableExternalContentInSuggestions'?: boolean; - 'imageExtractionTimeoutMs'?: number; - 'pathSubstitutions'?: Array; - /** - * Gets or sets a value indicating whether slow server responses should be logged as a warning. - */ - 'enableSlowResponseWarning'?: boolean; - /** - * Gets or sets the threshold for the slow response time warning in ms. - */ - 'slowResponseThresholdMs'?: number; - /** - * Gets or sets the cors hosts. - */ - 'corsHosts'?: Array; - /** - * Gets or sets the number of days we should retain activity logs. - */ - 'activityLogRetentionDays'?: number | null; - /** - * Gets or sets the how the library scan fans out. - */ - 'libraryScanFanoutConcurrency'?: number; - /** - * Gets or sets the how many metadata refreshes can run concurrently. - */ - 'libraryMetadataRefreshConcurrency'?: number; - /** - * Gets or sets a value indicating whether older plugins should automatically be deleted from the plugin folder. - */ - 'removeOldPlugins'?: boolean; - /** - * Gets or sets a value indicating whether clients should be allowed to upload logs. - */ - 'allowClientLogUpload'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "logFileRetentionDays", - "baseName": "LogFileRetentionDays", - "type": "number" - }, - { - "name": "isStartupWizardCompleted", - "baseName": "IsStartupWizardCompleted", - "type": "boolean" - }, - { - "name": "cachePath", - "baseName": "CachePath", - "type": "string" - }, - { - "name": "previousVersion", - "baseName": "PreviousVersion", - "type": "string" - }, - { - "name": "previousVersionStr", - "baseName": "PreviousVersionStr", - "type": "string" - }, - { - "name": "enableMetrics", - "baseName": "EnableMetrics", - "type": "boolean" - }, - { - "name": "enableNormalizedItemByNameIds", - "baseName": "EnableNormalizedItemByNameIds", - "type": "boolean" - }, - { - "name": "isPortAuthorized", - "baseName": "IsPortAuthorized", - "type": "boolean" - }, - { - "name": "quickConnectAvailable", - "baseName": "QuickConnectAvailable", - "type": "boolean" - }, - { - "name": "enableCaseSensitiveItemIds", - "baseName": "EnableCaseSensitiveItemIds", - "type": "boolean" - }, - { - "name": "disableLiveTvChannelUserDataName", - "baseName": "DisableLiveTvChannelUserDataName", - "type": "boolean" - }, - { - "name": "metadataPath", - "baseName": "MetadataPath", - "type": "string" - }, - { - "name": "metadataNetworkPath", - "baseName": "MetadataNetworkPath", - "type": "string" - }, - { - "name": "preferredMetadataLanguage", - "baseName": "PreferredMetadataLanguage", - "type": "string" - }, - { - "name": "metadataCountryCode", - "baseName": "MetadataCountryCode", - "type": "string" - }, - { - "name": "sortReplaceCharacters", - "baseName": "SortReplaceCharacters", - "type": "Array" - }, - { - "name": "sortRemoveCharacters", - "baseName": "SortRemoveCharacters", - "type": "Array" - }, - { - "name": "sortRemoveWords", - "baseName": "SortRemoveWords", - "type": "Array" - }, - { - "name": "minResumePct", - "baseName": "MinResumePct", - "type": "number" - }, - { - "name": "maxResumePct", - "baseName": "MaxResumePct", - "type": "number" - }, - { - "name": "minResumeDurationSeconds", - "baseName": "MinResumeDurationSeconds", - "type": "number" - }, - { - "name": "minAudiobookResume", - "baseName": "MinAudiobookResume", - "type": "number" - }, - { - "name": "maxAudiobookResume", - "baseName": "MaxAudiobookResume", - "type": "number" - }, - { - "name": "libraryMonitorDelay", - "baseName": "LibraryMonitorDelay", - "type": "number" - }, - { - "name": "imageSavingConvention", - "baseName": "ImageSavingConvention", - "type": "ImageSavingConvention" - }, - { - "name": "metadataOptions", - "baseName": "MetadataOptions", - "type": "Array" - }, - { - "name": "skipDeserializationForBasicTypes", - "baseName": "SkipDeserializationForBasicTypes", - "type": "boolean" - }, - { - "name": "serverName", - "baseName": "ServerName", - "type": "string" - }, - { - "name": "uICulture", - "baseName": "UICulture", - "type": "string" - }, - { - "name": "saveMetadataHidden", - "baseName": "SaveMetadataHidden", - "type": "boolean" - }, - { - "name": "contentTypes", - "baseName": "ContentTypes", - "type": "Array" - }, - { - "name": "remoteClientBitrateLimit", - "baseName": "RemoteClientBitrateLimit", - "type": "number" - }, - { - "name": "enableFolderView", - "baseName": "EnableFolderView", - "type": "boolean" - }, - { - "name": "enableGroupingIntoCollections", - "baseName": "EnableGroupingIntoCollections", - "type": "boolean" - }, - { - "name": "displaySpecialsWithinSeasons", - "baseName": "DisplaySpecialsWithinSeasons", - "type": "boolean" - }, - { - "name": "codecsUsed", - "baseName": "CodecsUsed", - "type": "Array" - }, - { - "name": "pluginRepositories", - "baseName": "PluginRepositories", - "type": "Array" - }, - { - "name": "enableExternalContentInSuggestions", - "baseName": "EnableExternalContentInSuggestions", - "type": "boolean" - }, - { - "name": "imageExtractionTimeoutMs", - "baseName": "ImageExtractionTimeoutMs", - "type": "number" - }, - { - "name": "pathSubstitutions", - "baseName": "PathSubstitutions", - "type": "Array" - }, - { - "name": "enableSlowResponseWarning", - "baseName": "EnableSlowResponseWarning", - "type": "boolean" - }, - { - "name": "slowResponseThresholdMs", - "baseName": "SlowResponseThresholdMs", - "type": "number" - }, - { - "name": "corsHosts", - "baseName": "CorsHosts", - "type": "Array" - }, - { - "name": "activityLogRetentionDays", - "baseName": "ActivityLogRetentionDays", - "type": "number" - }, - { - "name": "libraryScanFanoutConcurrency", - "baseName": "LibraryScanFanoutConcurrency", - "type": "number" - }, - { - "name": "libraryMetadataRefreshConcurrency", - "baseName": "LibraryMetadataRefreshConcurrency", - "type": "number" - }, - { - "name": "removeOldPlugins", - "baseName": "RemoveOldPlugins", - "type": "boolean" - }, - { - "name": "allowClientLogUpload", - "baseName": "AllowClientLogUpload", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return ServerConfiguration.attributeTypeMap; - } -} - -export namespace ServerConfiguration { -} diff --git a/jellyfin/model/serverDiscoveryInfo.ts b/jellyfin/model/serverDiscoveryInfo.ts deleted file mode 100644 index 7f7dfa8..0000000 --- a/jellyfin/model/serverDiscoveryInfo.ts +++ /dev/null @@ -1,64 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* The server discovery info model. -*/ -export class ServerDiscoveryInfo { - /** - * Gets the address. - */ - 'address'?: string; - /** - * Gets the server identifier. - */ - 'id'?: string; - /** - * Gets the name. - */ - 'name'?: string; - /** - * Gets the endpoint address. - */ - 'endpointAddress'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "address", - "baseName": "Address", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "endpointAddress", - "baseName": "EndpointAddress", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return ServerDiscoveryInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/sessionInfo.ts b/jellyfin/model/sessionInfo.ts deleted file mode 100644 index 37cf3aa..0000000 --- a/jellyfin/model/sessionInfo.ts +++ /dev/null @@ -1,253 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { BaseItemDto } from './baseItemDto'; -import { ClientCapabilities } from './clientCapabilities'; -import { GeneralCommandType } from './generalCommandType'; -import { PlayerStateInfo } from './playerStateInfo'; -import { QueueItem } from './queueItem'; -import { SessionInfoFullNowPlayingItem } from './sessionInfoFullNowPlayingItem'; -import { SessionInfoNowPlayingItem } from './sessionInfoNowPlayingItem'; -import { SessionUserInfo } from './sessionUserInfo'; -import { TranscodingInfo } from './transcodingInfo'; - -/** -* Class SessionInfo. -*/ -export class SessionInfo { - 'playState'?: PlayerStateInfo | null; - 'additionalUsers'?: Array | null; - 'capabilities'?: ClientCapabilities | null; - /** - * Gets or sets the remote end point. - */ - 'remoteEndPoint'?: string | null; - /** - * Gets the playable media types. - */ - 'playableMediaTypes'?: Array | null; - /** - * Gets or sets the id. - */ - 'id'?: string | null; - /** - * Gets or sets the user id. - */ - 'userId'?: string; - /** - * Gets or sets the username. - */ - 'userName'?: string | null; - /** - * Gets or sets the type of the client. - */ - 'client'?: string | null; - /** - * Gets or sets the last activity date. - */ - 'lastActivityDate'?: Date; - /** - * Gets or sets the last playback check in. - */ - 'lastPlaybackCheckIn'?: Date; - /** - * Gets or sets the name of the device. - */ - 'deviceName'?: string | null; - /** - * Gets or sets the type of the device. - */ - 'deviceType'?: string | null; - 'nowPlayingItem'?: SessionInfoNowPlayingItem | null; - 'fullNowPlayingItem'?: SessionInfoFullNowPlayingItem | null; - 'nowViewingItem'?: SessionInfoNowPlayingItem | null; - /** - * Gets or sets the device id. - */ - 'deviceId'?: string | null; - /** - * Gets or sets the application version. - */ - 'applicationVersion'?: string | null; - 'transcodingInfo'?: TranscodingInfo | null; - /** - * Gets a value indicating whether this instance is active. - */ - 'isActive'?: boolean; - 'supportsMediaControl'?: boolean; - 'supportsRemoteControl'?: boolean; - 'nowPlayingQueue'?: Array | null; - 'nowPlayingQueueFullItems'?: Array | null; - 'hasCustomDeviceName'?: boolean; - 'playlistItemId'?: string | null; - 'serverId'?: string | null; - 'userPrimaryImageTag'?: string | null; - /** - * Gets the supported commands. - */ - 'supportedCommands'?: Array | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "playState", - "baseName": "PlayState", - "type": "PlayerStateInfo" - }, - { - "name": "additionalUsers", - "baseName": "AdditionalUsers", - "type": "Array" - }, - { - "name": "capabilities", - "baseName": "Capabilities", - "type": "ClientCapabilities" - }, - { - "name": "remoteEndPoint", - "baseName": "RemoteEndPoint", - "type": "string" - }, - { - "name": "playableMediaTypes", - "baseName": "PlayableMediaTypes", - "type": "Array" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "userId", - "baseName": "UserId", - "type": "string" - }, - { - "name": "userName", - "baseName": "UserName", - "type": "string" - }, - { - "name": "client", - "baseName": "Client", - "type": "string" - }, - { - "name": "lastActivityDate", - "baseName": "LastActivityDate", - "type": "Date" - }, - { - "name": "lastPlaybackCheckIn", - "baseName": "LastPlaybackCheckIn", - "type": "Date" - }, - { - "name": "deviceName", - "baseName": "DeviceName", - "type": "string" - }, - { - "name": "deviceType", - "baseName": "DeviceType", - "type": "string" - }, - { - "name": "nowPlayingItem", - "baseName": "NowPlayingItem", - "type": "SessionInfoNowPlayingItem" - }, - { - "name": "fullNowPlayingItem", - "baseName": "FullNowPlayingItem", - "type": "SessionInfoFullNowPlayingItem" - }, - { - "name": "nowViewingItem", - "baseName": "NowViewingItem", - "type": "SessionInfoNowPlayingItem" - }, - { - "name": "deviceId", - "baseName": "DeviceId", - "type": "string" - }, - { - "name": "applicationVersion", - "baseName": "ApplicationVersion", - "type": "string" - }, - { - "name": "transcodingInfo", - "baseName": "TranscodingInfo", - "type": "TranscodingInfo" - }, - { - "name": "isActive", - "baseName": "IsActive", - "type": "boolean" - }, - { - "name": "supportsMediaControl", - "baseName": "SupportsMediaControl", - "type": "boolean" - }, - { - "name": "supportsRemoteControl", - "baseName": "SupportsRemoteControl", - "type": "boolean" - }, - { - "name": "nowPlayingQueue", - "baseName": "NowPlayingQueue", - "type": "Array" - }, - { - "name": "nowPlayingQueueFullItems", - "baseName": "NowPlayingQueueFullItems", - "type": "Array" - }, - { - "name": "hasCustomDeviceName", - "baseName": "HasCustomDeviceName", - "type": "boolean" - }, - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - }, - { - "name": "serverId", - "baseName": "ServerId", - "type": "string" - }, - { - "name": "userPrimaryImageTag", - "baseName": "UserPrimaryImageTag", - "type": "string" - }, - { - "name": "supportedCommands", - "baseName": "SupportedCommands", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return SessionInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/sessionInfoFullNowPlayingItem.ts b/jellyfin/model/sessionInfoFullNowPlayingItem.ts deleted file mode 100644 index 9da3795..0000000 --- a/jellyfin/model/sessionInfoFullNowPlayingItem.ts +++ /dev/null @@ -1,98 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { MediaUrl } from './mediaUrl'; - -/** -* Class BaseItem. -*/ -export class SessionInfoFullNowPlayingItem { - 'size'?: number | null; - 'container'?: string | null; - 'isHD'?: boolean; - 'isShortcut'?: boolean; - 'shortcutPath'?: string | null; - 'width'?: number; - 'height'?: number; - 'extraIds'?: Array | null; - 'dateLastSaved'?: Date; - /** - * Gets or sets the remote trailers. - */ - 'remoteTrailers'?: Array | null; - 'supportsExternalTransfer'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "size", - "baseName": "Size", - "type": "number" - }, - { - "name": "container", - "baseName": "Container", - "type": "string" - }, - { - "name": "isHD", - "baseName": "IsHD", - "type": "boolean" - }, - { - "name": "isShortcut", - "baseName": "IsShortcut", - "type": "boolean" - }, - { - "name": "shortcutPath", - "baseName": "ShortcutPath", - "type": "string" - }, - { - "name": "width", - "baseName": "Width", - "type": "number" - }, - { - "name": "height", - "baseName": "Height", - "type": "number" - }, - { - "name": "extraIds", - "baseName": "ExtraIds", - "type": "Array" - }, - { - "name": "dateLastSaved", - "baseName": "DateLastSaved", - "type": "Date" - }, - { - "name": "remoteTrailers", - "baseName": "RemoteTrailers", - "type": "Array" - }, - { - "name": "supportsExternalTransfer", - "baseName": "SupportsExternalTransfer", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return SessionInfoFullNowPlayingItem.attributeTypeMap; - } -} - diff --git a/jellyfin/model/sessionInfoNowPlayingItem.ts b/jellyfin/model/sessionInfoNowPlayingItem.ts deleted file mode 100644 index 46b2828..0000000 --- a/jellyfin/model/sessionInfoNowPlayingItem.ts +++ /dev/null @@ -1,1272 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { BaseItemDtoCurrentProgram } from './baseItemDtoCurrentProgram'; -import { BaseItemDtoImageBlurHashes } from './baseItemDtoImageBlurHashes'; -import { BaseItemDtoUserData } from './baseItemDtoUserData'; -import { BaseItemKind } from './baseItemKind'; -import { BaseItemPerson } from './baseItemPerson'; -import { ChannelType } from './channelType'; -import { ChapterInfo } from './chapterInfo'; -import { DayOfWeek } from './dayOfWeek'; -import { ExternalUrl } from './externalUrl'; -import { ImageOrientation } from './imageOrientation'; -import { IsoType } from './isoType'; -import { LocationType } from './locationType'; -import { MediaSourceInfo } from './mediaSourceInfo'; -import { MediaStream } from './mediaStream'; -import { MediaUrl } from './mediaUrl'; -import { MetadataField } from './metadataField'; -import { NameGuidPair } from './nameGuidPair'; -import { PlayAccess } from './playAccess'; -import { ProgramAudio } from './programAudio'; -import { Video3DFormat } from './video3DFormat'; -import { VideoType } from './videoType'; - -/** -* This is strictly used as a data transfer object from the api layer. This holds information about a BaseItem in a format that is convenient for the client. -*/ -export class SessionInfoNowPlayingItem { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - 'originalTitle'?: string | null; - /** - * Gets or sets the server identifier. - */ - 'serverId'?: string | null; - /** - * Gets or sets the id. - */ - 'id'?: string; - /** - * Gets or sets the etag. - */ - 'etag'?: string | null; - /** - * Gets or sets the type of the source. - */ - 'sourceType'?: string | null; - /** - * Gets or sets the playlist item identifier. - */ - 'playlistItemId'?: string | null; - /** - * Gets or sets the date created. - */ - 'dateCreated'?: Date | null; - 'dateLastMediaAdded'?: Date | null; - 'extraType'?: string | null; - 'airsBeforeSeasonNumber'?: number | null; - 'airsAfterSeasonNumber'?: number | null; - 'airsBeforeEpisodeNumber'?: number | null; - 'canDelete'?: boolean | null; - 'canDownload'?: boolean | null; - 'hasSubtitles'?: boolean | null; - 'preferredMetadataLanguage'?: string | null; - 'preferredMetadataCountryCode'?: string | null; - /** - * Gets or sets a value indicating whether [supports synchronize]. - */ - 'supportsSync'?: boolean | null; - 'container'?: string | null; - /** - * Gets or sets the name of the sort. - */ - 'sortName'?: string | null; - 'forcedSortName'?: string | null; - 'video3DFormat'?: Video3DFormat | null; - /** - * Gets or sets the premiere date. - */ - 'premiereDate'?: Date | null; - /** - * Gets or sets the external urls. - */ - 'externalUrls'?: Array | null; - /** - * Gets or sets the media versions. - */ - 'mediaSources'?: Array | null; - /** - * Gets or sets the critic rating. - */ - 'criticRating'?: number | null; - 'productionLocations'?: Array | null; - /** - * Gets or sets the path. - */ - 'path'?: string | null; - 'enableMediaSourceDisplay'?: boolean | null; - /** - * Gets or sets the official rating. - */ - 'officialRating'?: string | null; - /** - * Gets or sets the custom rating. - */ - 'customRating'?: string | null; - /** - * Gets or sets the channel identifier. - */ - 'channelId'?: string | null; - 'channelName'?: string | null; - /** - * Gets or sets the overview. - */ - 'overview'?: string | null; - /** - * Gets or sets the taglines. - */ - 'taglines'?: Array | null; - /** - * Gets or sets the genres. - */ - 'genres'?: Array | null; - /** - * Gets or sets the community rating. - */ - 'communityRating'?: number | null; - /** - * Gets or sets the cumulative run time ticks. - */ - 'cumulativeRunTimeTicks'?: number | null; - /** - * Gets or sets the run time ticks. - */ - 'runTimeTicks'?: number | null; - 'playAccess'?: PlayAccess | null; - /** - * Gets or sets the aspect ratio. - */ - 'aspectRatio'?: string | null; - /** - * Gets or sets the production year. - */ - 'productionYear'?: number | null; - /** - * Gets or sets a value indicating whether this instance is place holder. - */ - 'isPlaceHolder'?: boolean | null; - /** - * Gets or sets the number. - */ - 'number'?: string | null; - 'channelNumber'?: string | null; - /** - * Gets or sets the index number. - */ - 'indexNumber'?: number | null; - /** - * Gets or sets the index number end. - */ - 'indexNumberEnd'?: number | null; - /** - * Gets or sets the parent index number. - */ - 'parentIndexNumber'?: number | null; - /** - * Gets or sets the trailer urls. - */ - 'remoteTrailers'?: Array | null; - /** - * Gets or sets the provider ids. - */ - 'providerIds'?: { [key: string]: string; } | null; - /** - * Gets or sets a value indicating whether this instance is HD. - */ - 'isHD'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is folder. - */ - 'isFolder'?: boolean | null; - /** - * Gets or sets the parent id. - */ - 'parentId'?: string | null; - 'type'?: BaseItemKind; - /** - * Gets or sets the people. - */ - 'people'?: Array | null; - /** - * Gets or sets the studios. - */ - 'studios'?: Array | null; - 'genreItems'?: Array | null; - /** - * Gets or sets wether the item has a logo, this will hold the Id of the Parent that has one. - */ - 'parentLogoItemId'?: string | null; - /** - * Gets or sets wether the item has any backdrops, this will hold the Id of the Parent that has one. - */ - 'parentBackdropItemId'?: string | null; - /** - * Gets or sets the parent backdrop image tags. - */ - 'parentBackdropImageTags'?: Array | null; - /** - * Gets or sets the local trailer count. - */ - 'localTrailerCount'?: number | null; - 'userData'?: BaseItemDtoUserData | null; - /** - * Gets or sets the recursive item count. - */ - 'recursiveItemCount'?: number | null; - /** - * Gets or sets the child count. - */ - 'childCount'?: number | null; - /** - * Gets or sets the name of the series. - */ - 'seriesName'?: string | null; - /** - * Gets or sets the series id. - */ - 'seriesId'?: string | null; - /** - * Gets or sets the season identifier. - */ - 'seasonId'?: string | null; - /** - * Gets or sets the special feature count. - */ - 'specialFeatureCount'?: number | null; - /** - * Gets or sets the display preferences id. - */ - 'displayPreferencesId'?: string | null; - /** - * Gets or sets the status. - */ - 'status'?: string | null; - /** - * Gets or sets the air time. - */ - 'airTime'?: string | null; - /** - * Gets or sets the air days. - */ - 'airDays'?: Array | null; - /** - * Gets or sets the tags. - */ - 'tags'?: Array | null; - /** - * Gets or sets the primary image aspect ratio, after image enhancements. - */ - 'primaryImageAspectRatio'?: number | null; - /** - * Gets or sets the artists. - */ - 'artists'?: Array | null; - /** - * Gets or sets the artist items. - */ - 'artistItems'?: Array | null; - /** - * Gets or sets the album. - */ - 'album'?: string | null; - /** - * Gets or sets the type of the collection. - */ - 'collectionType'?: string | null; - /** - * Gets or sets the display order. - */ - 'displayOrder'?: string | null; - /** - * Gets or sets the album id. - */ - 'albumId'?: string | null; - /** - * Gets or sets the album image tag. - */ - 'albumPrimaryImageTag'?: string | null; - /** - * Gets or sets the series primary image tag. - */ - 'seriesPrimaryImageTag'?: string | null; - /** - * Gets or sets the album artist. - */ - 'albumArtist'?: string | null; - /** - * Gets or sets the album artists. - */ - 'albumArtists'?: Array | null; - /** - * Gets or sets the name of the season. - */ - 'seasonName'?: string | null; - /** - * Gets or sets the media streams. - */ - 'mediaStreams'?: Array | null; - 'videoType'?: VideoType | null; - /** - * Gets or sets the part count. - */ - 'partCount'?: number | null; - 'mediaSourceCount'?: number | null; - /** - * Gets or sets the image tags. - */ - 'imageTags'?: { [key: string]: string; } | null; - /** - * Gets or sets the backdrop image tags. - */ - 'backdropImageTags'?: Array | null; - /** - * Gets or sets the screenshot image tags. - */ - 'screenshotImageTags'?: Array | null; - /** - * Gets or sets the parent logo image tag. - */ - 'parentLogoImageTag'?: string | null; - /** - * Gets or sets wether the item has fan art, this will hold the Id of the Parent that has one. - */ - 'parentArtItemId'?: string | null; - /** - * Gets or sets the parent art image tag. - */ - 'parentArtImageTag'?: string | null; - /** - * Gets or sets the series thumb image tag. - */ - 'seriesThumbImageTag'?: string | null; - 'imageBlurHashes'?: BaseItemDtoImageBlurHashes | null; - /** - * Gets or sets the series studio. - */ - 'seriesStudio'?: string | null; - /** - * Gets or sets the parent thumb item id. - */ - 'parentThumbItemId'?: string | null; - /** - * Gets or sets the parent thumb image tag. - */ - 'parentThumbImageTag'?: string | null; - /** - * Gets or sets the parent primary image item identifier. - */ - 'parentPrimaryImageItemId'?: string | null; - /** - * Gets or sets the parent primary image tag. - */ - 'parentPrimaryImageTag'?: string | null; - /** - * Gets or sets the chapters. - */ - 'chapters'?: Array | null; - 'locationType'?: LocationType | null; - 'isoType'?: IsoType | null; - /** - * Gets or sets the type of the media. - */ - 'mediaType'?: string | null; - /** - * Gets or sets the end date. - */ - 'endDate'?: Date | null; - /** - * Gets or sets the locked fields. - */ - 'lockedFields'?: Array | null; - /** - * Gets or sets the trailer count. - */ - 'trailerCount'?: number | null; - /** - * Gets or sets the movie count. - */ - 'movieCount'?: number | null; - /** - * Gets or sets the series count. - */ - 'seriesCount'?: number | null; - 'programCount'?: number | null; - /** - * Gets or sets the episode count. - */ - 'episodeCount'?: number | null; - /** - * Gets or sets the song count. - */ - 'songCount'?: number | null; - /** - * Gets or sets the album count. - */ - 'albumCount'?: number | null; - 'artistCount'?: number | null; - /** - * Gets or sets the music video count. - */ - 'musicVideoCount'?: number | null; - /** - * Gets or sets a value indicating whether [enable internet providers]. - */ - 'lockData'?: boolean | null; - 'width'?: number | null; - 'height'?: number | null; - 'cameraMake'?: string | null; - 'cameraModel'?: string | null; - 'software'?: string | null; - 'exposureTime'?: number | null; - 'focalLength'?: number | null; - 'imageOrientation'?: ImageOrientation | null; - 'aperture'?: number | null; - 'shutterSpeed'?: number | null; - 'latitude'?: number | null; - 'longitude'?: number | null; - 'altitude'?: number | null; - 'isoSpeedRating'?: number | null; - /** - * Gets or sets the series timer identifier. - */ - 'seriesTimerId'?: string | null; - /** - * Gets or sets the program identifier. - */ - 'programId'?: string | null; - /** - * Gets or sets the channel primary image tag. - */ - 'channelPrimaryImageTag'?: string | null; - /** - * Gets or sets the start date of the recording, in UTC. - */ - 'startDate'?: Date | null; - /** - * Gets or sets the completion percentage. - */ - 'completionPercentage'?: number | null; - /** - * Gets or sets a value indicating whether this instance is repeat. - */ - 'isRepeat'?: boolean | null; - /** - * Gets or sets the episode title. - */ - 'episodeTitle'?: string | null; - 'channelType'?: ChannelType | null; - 'audio'?: ProgramAudio | null; - /** - * Gets or sets a value indicating whether this instance is movie. - */ - 'isMovie'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is sports. - */ - 'isSports'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is series. - */ - 'isSeries'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is live. - */ - 'isLive'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is news. - */ - 'isNews'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is kids. - */ - 'isKids'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is premiere. - */ - 'isPremiere'?: boolean | null; - /** - * Gets or sets the timer identifier. - */ - 'timerId'?: string | null; - 'currentProgram'?: BaseItemDtoCurrentProgram | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "originalTitle", - "baseName": "OriginalTitle", - "type": "string" - }, - { - "name": "serverId", - "baseName": "ServerId", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "etag", - "baseName": "Etag", - "type": "string" - }, - { - "name": "sourceType", - "baseName": "SourceType", - "type": "string" - }, - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - }, - { - "name": "dateCreated", - "baseName": "DateCreated", - "type": "Date" - }, - { - "name": "dateLastMediaAdded", - "baseName": "DateLastMediaAdded", - "type": "Date" - }, - { - "name": "extraType", - "baseName": "ExtraType", - "type": "string" - }, - { - "name": "airsBeforeSeasonNumber", - "baseName": "AirsBeforeSeasonNumber", - "type": "number" - }, - { - "name": "airsAfterSeasonNumber", - "baseName": "AirsAfterSeasonNumber", - "type": "number" - }, - { - "name": "airsBeforeEpisodeNumber", - "baseName": "AirsBeforeEpisodeNumber", - "type": "number" - }, - { - "name": "canDelete", - "baseName": "CanDelete", - "type": "boolean" - }, - { - "name": "canDownload", - "baseName": "CanDownload", - "type": "boolean" - }, - { - "name": "hasSubtitles", - "baseName": "HasSubtitles", - "type": "boolean" - }, - { - "name": "preferredMetadataLanguage", - "baseName": "PreferredMetadataLanguage", - "type": "string" - }, - { - "name": "preferredMetadataCountryCode", - "baseName": "PreferredMetadataCountryCode", - "type": "string" - }, - { - "name": "supportsSync", - "baseName": "SupportsSync", - "type": "boolean" - }, - { - "name": "container", - "baseName": "Container", - "type": "string" - }, - { - "name": "sortName", - "baseName": "SortName", - "type": "string" - }, - { - "name": "forcedSortName", - "baseName": "ForcedSortName", - "type": "string" - }, - { - "name": "video3DFormat", - "baseName": "Video3DFormat", - "type": "Video3DFormat" - }, - { - "name": "premiereDate", - "baseName": "PremiereDate", - "type": "Date" - }, - { - "name": "externalUrls", - "baseName": "ExternalUrls", - "type": "Array" - }, - { - "name": "mediaSources", - "baseName": "MediaSources", - "type": "Array" - }, - { - "name": "criticRating", - "baseName": "CriticRating", - "type": "number" - }, - { - "name": "productionLocations", - "baseName": "ProductionLocations", - "type": "Array" - }, - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "enableMediaSourceDisplay", - "baseName": "EnableMediaSourceDisplay", - "type": "boolean" - }, - { - "name": "officialRating", - "baseName": "OfficialRating", - "type": "string" - }, - { - "name": "customRating", - "baseName": "CustomRating", - "type": "string" - }, - { - "name": "channelId", - "baseName": "ChannelId", - "type": "string" - }, - { - "name": "channelName", - "baseName": "ChannelName", - "type": "string" - }, - { - "name": "overview", - "baseName": "Overview", - "type": "string" - }, - { - "name": "taglines", - "baseName": "Taglines", - "type": "Array" - }, - { - "name": "genres", - "baseName": "Genres", - "type": "Array" - }, - { - "name": "communityRating", - "baseName": "CommunityRating", - "type": "number" - }, - { - "name": "cumulativeRunTimeTicks", - "baseName": "CumulativeRunTimeTicks", - "type": "number" - }, - { - "name": "runTimeTicks", - "baseName": "RunTimeTicks", - "type": "number" - }, - { - "name": "playAccess", - "baseName": "PlayAccess", - "type": "PlayAccess" - }, - { - "name": "aspectRatio", - "baseName": "AspectRatio", - "type": "string" - }, - { - "name": "productionYear", - "baseName": "ProductionYear", - "type": "number" - }, - { - "name": "isPlaceHolder", - "baseName": "IsPlaceHolder", - "type": "boolean" - }, - { - "name": "number", - "baseName": "Number", - "type": "string" - }, - { - "name": "channelNumber", - "baseName": "ChannelNumber", - "type": "string" - }, - { - "name": "indexNumber", - "baseName": "IndexNumber", - "type": "number" - }, - { - "name": "indexNumberEnd", - "baseName": "IndexNumberEnd", - "type": "number" - }, - { - "name": "parentIndexNumber", - "baseName": "ParentIndexNumber", - "type": "number" - }, - { - "name": "remoteTrailers", - "baseName": "RemoteTrailers", - "type": "Array" - }, - { - "name": "providerIds", - "baseName": "ProviderIds", - "type": "{ [key: string]: string; }" - }, - { - "name": "isHD", - "baseName": "IsHD", - "type": "boolean" - }, - { - "name": "isFolder", - "baseName": "IsFolder", - "type": "boolean" - }, - { - "name": "parentId", - "baseName": "ParentId", - "type": "string" - }, - { - "name": "type", - "baseName": "Type", - "type": "BaseItemKind" - }, - { - "name": "people", - "baseName": "People", - "type": "Array" - }, - { - "name": "studios", - "baseName": "Studios", - "type": "Array" - }, - { - "name": "genreItems", - "baseName": "GenreItems", - "type": "Array" - }, - { - "name": "parentLogoItemId", - "baseName": "ParentLogoItemId", - "type": "string" - }, - { - "name": "parentBackdropItemId", - "baseName": "ParentBackdropItemId", - "type": "string" - }, - { - "name": "parentBackdropImageTags", - "baseName": "ParentBackdropImageTags", - "type": "Array" - }, - { - "name": "localTrailerCount", - "baseName": "LocalTrailerCount", - "type": "number" - }, - { - "name": "userData", - "baseName": "UserData", - "type": "BaseItemDtoUserData" - }, - { - "name": "recursiveItemCount", - "baseName": "RecursiveItemCount", - "type": "number" - }, - { - "name": "childCount", - "baseName": "ChildCount", - "type": "number" - }, - { - "name": "seriesName", - "baseName": "SeriesName", - "type": "string" - }, - { - "name": "seriesId", - "baseName": "SeriesId", - "type": "string" - }, - { - "name": "seasonId", - "baseName": "SeasonId", - "type": "string" - }, - { - "name": "specialFeatureCount", - "baseName": "SpecialFeatureCount", - "type": "number" - }, - { - "name": "displayPreferencesId", - "baseName": "DisplayPreferencesId", - "type": "string" - }, - { - "name": "status", - "baseName": "Status", - "type": "string" - }, - { - "name": "airTime", - "baseName": "AirTime", - "type": "string" - }, - { - "name": "airDays", - "baseName": "AirDays", - "type": "Array" - }, - { - "name": "tags", - "baseName": "Tags", - "type": "Array" - }, - { - "name": "primaryImageAspectRatio", - "baseName": "PrimaryImageAspectRatio", - "type": "number" - }, - { - "name": "artists", - "baseName": "Artists", - "type": "Array" - }, - { - "name": "artistItems", - "baseName": "ArtistItems", - "type": "Array" - }, - { - "name": "album", - "baseName": "Album", - "type": "string" - }, - { - "name": "collectionType", - "baseName": "CollectionType", - "type": "string" - }, - { - "name": "displayOrder", - "baseName": "DisplayOrder", - "type": "string" - }, - { - "name": "albumId", - "baseName": "AlbumId", - "type": "string" - }, - { - "name": "albumPrimaryImageTag", - "baseName": "AlbumPrimaryImageTag", - "type": "string" - }, - { - "name": "seriesPrimaryImageTag", - "baseName": "SeriesPrimaryImageTag", - "type": "string" - }, - { - "name": "albumArtist", - "baseName": "AlbumArtist", - "type": "string" - }, - { - "name": "albumArtists", - "baseName": "AlbumArtists", - "type": "Array" - }, - { - "name": "seasonName", - "baseName": "SeasonName", - "type": "string" - }, - { - "name": "mediaStreams", - "baseName": "MediaStreams", - "type": "Array" - }, - { - "name": "videoType", - "baseName": "VideoType", - "type": "VideoType" - }, - { - "name": "partCount", - "baseName": "PartCount", - "type": "number" - }, - { - "name": "mediaSourceCount", - "baseName": "MediaSourceCount", - "type": "number" - }, - { - "name": "imageTags", - "baseName": "ImageTags", - "type": "{ [key: string]: string; }" - }, - { - "name": "backdropImageTags", - "baseName": "BackdropImageTags", - "type": "Array" - }, - { - "name": "screenshotImageTags", - "baseName": "ScreenshotImageTags", - "type": "Array" - }, - { - "name": "parentLogoImageTag", - "baseName": "ParentLogoImageTag", - "type": "string" - }, - { - "name": "parentArtItemId", - "baseName": "ParentArtItemId", - "type": "string" - }, - { - "name": "parentArtImageTag", - "baseName": "ParentArtImageTag", - "type": "string" - }, - { - "name": "seriesThumbImageTag", - "baseName": "SeriesThumbImageTag", - "type": "string" - }, - { - "name": "imageBlurHashes", - "baseName": "ImageBlurHashes", - "type": "BaseItemDtoImageBlurHashes" - }, - { - "name": "seriesStudio", - "baseName": "SeriesStudio", - "type": "string" - }, - { - "name": "parentThumbItemId", - "baseName": "ParentThumbItemId", - "type": "string" - }, - { - "name": "parentThumbImageTag", - "baseName": "ParentThumbImageTag", - "type": "string" - }, - { - "name": "parentPrimaryImageItemId", - "baseName": "ParentPrimaryImageItemId", - "type": "string" - }, - { - "name": "parentPrimaryImageTag", - "baseName": "ParentPrimaryImageTag", - "type": "string" - }, - { - "name": "chapters", - "baseName": "Chapters", - "type": "Array" - }, - { - "name": "locationType", - "baseName": "LocationType", - "type": "LocationType" - }, - { - "name": "isoType", - "baseName": "IsoType", - "type": "IsoType" - }, - { - "name": "mediaType", - "baseName": "MediaType", - "type": "string" - }, - { - "name": "endDate", - "baseName": "EndDate", - "type": "Date" - }, - { - "name": "lockedFields", - "baseName": "LockedFields", - "type": "Array" - }, - { - "name": "trailerCount", - "baseName": "TrailerCount", - "type": "number" - }, - { - "name": "movieCount", - "baseName": "MovieCount", - "type": "number" - }, - { - "name": "seriesCount", - "baseName": "SeriesCount", - "type": "number" - }, - { - "name": "programCount", - "baseName": "ProgramCount", - "type": "number" - }, - { - "name": "episodeCount", - "baseName": "EpisodeCount", - "type": "number" - }, - { - "name": "songCount", - "baseName": "SongCount", - "type": "number" - }, - { - "name": "albumCount", - "baseName": "AlbumCount", - "type": "number" - }, - { - "name": "artistCount", - "baseName": "ArtistCount", - "type": "number" - }, - { - "name": "musicVideoCount", - "baseName": "MusicVideoCount", - "type": "number" - }, - { - "name": "lockData", - "baseName": "LockData", - "type": "boolean" - }, - { - "name": "width", - "baseName": "Width", - "type": "number" - }, - { - "name": "height", - "baseName": "Height", - "type": "number" - }, - { - "name": "cameraMake", - "baseName": "CameraMake", - "type": "string" - }, - { - "name": "cameraModel", - "baseName": "CameraModel", - "type": "string" - }, - { - "name": "software", - "baseName": "Software", - "type": "string" - }, - { - "name": "exposureTime", - "baseName": "ExposureTime", - "type": "number" - }, - { - "name": "focalLength", - "baseName": "FocalLength", - "type": "number" - }, - { - "name": "imageOrientation", - "baseName": "ImageOrientation", - "type": "ImageOrientation" - }, - { - "name": "aperture", - "baseName": "Aperture", - "type": "number" - }, - { - "name": "shutterSpeed", - "baseName": "ShutterSpeed", - "type": "number" - }, - { - "name": "latitude", - "baseName": "Latitude", - "type": "number" - }, - { - "name": "longitude", - "baseName": "Longitude", - "type": "number" - }, - { - "name": "altitude", - "baseName": "Altitude", - "type": "number" - }, - { - "name": "isoSpeedRating", - "baseName": "IsoSpeedRating", - "type": "number" - }, - { - "name": "seriesTimerId", - "baseName": "SeriesTimerId", - "type": "string" - }, - { - "name": "programId", - "baseName": "ProgramId", - "type": "string" - }, - { - "name": "channelPrimaryImageTag", - "baseName": "ChannelPrimaryImageTag", - "type": "string" - }, - { - "name": "startDate", - "baseName": "StartDate", - "type": "Date" - }, - { - "name": "completionPercentage", - "baseName": "CompletionPercentage", - "type": "number" - }, - { - "name": "isRepeat", - "baseName": "IsRepeat", - "type": "boolean" - }, - { - "name": "episodeTitle", - "baseName": "EpisodeTitle", - "type": "string" - }, - { - "name": "channelType", - "baseName": "ChannelType", - "type": "ChannelType" - }, - { - "name": "audio", - "baseName": "Audio", - "type": "ProgramAudio" - }, - { - "name": "isMovie", - "baseName": "IsMovie", - "type": "boolean" - }, - { - "name": "isSports", - "baseName": "IsSports", - "type": "boolean" - }, - { - "name": "isSeries", - "baseName": "IsSeries", - "type": "boolean" - }, - { - "name": "isLive", - "baseName": "IsLive", - "type": "boolean" - }, - { - "name": "isNews", - "baseName": "IsNews", - "type": "boolean" - }, - { - "name": "isKids", - "baseName": "IsKids", - "type": "boolean" - }, - { - "name": "isPremiere", - "baseName": "IsPremiere", - "type": "boolean" - }, - { - "name": "timerId", - "baseName": "TimerId", - "type": "string" - }, - { - "name": "currentProgram", - "baseName": "CurrentProgram", - "type": "BaseItemDtoCurrentProgram" - } ]; - - static getAttributeTypeMap() { - return SessionInfoNowPlayingItem.attributeTypeMap; - } -} - -export namespace SessionInfoNowPlayingItem { -} diff --git a/jellyfin/model/sessionMessageType.ts b/jellyfin/model/sessionMessageType.ts deleted file mode 100644 index 1bf6f26..0000000 --- a/jellyfin/model/sessionMessageType.ts +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* The different kinds of messages that are used in the WebSocket api. -*/ -export enum SessionMessageType { - ForceKeepAlive = 'ForceKeepAlive', - GeneralCommand = 'GeneralCommand', - UserDataChanged = 'UserDataChanged', - Sessions = 'Sessions', - Play = 'Play', - SyncPlayCommand = 'SyncPlayCommand', - SyncPlayGroupUpdate = 'SyncPlayGroupUpdate', - Playstate = 'Playstate', - RestartRequired = 'RestartRequired', - ServerShuttingDown = 'ServerShuttingDown', - ServerRestarting = 'ServerRestarting', - LibraryChanged = 'LibraryChanged', - UserDeleted = 'UserDeleted', - UserUpdated = 'UserUpdated', - SeriesTimerCreated = 'SeriesTimerCreated', - TimerCreated = 'TimerCreated', - SeriesTimerCancelled = 'SeriesTimerCancelled', - TimerCancelled = 'TimerCancelled', - RefreshProgress = 'RefreshProgress', - ScheduledTaskEnded = 'ScheduledTaskEnded', - PackageInstallationCancelled = 'PackageInstallationCancelled', - PackageInstallationFailed = 'PackageInstallationFailed', - PackageInstallationCompleted = 'PackageInstallationCompleted', - PackageInstalling = 'PackageInstalling', - PackageUninstalled = 'PackageUninstalled', - ActivityLogEntry = 'ActivityLogEntry', - ScheduledTasksInfo = 'ScheduledTasksInfo', - ActivityLogEntryStart = 'ActivityLogEntryStart', - ActivityLogEntryStop = 'ActivityLogEntryStop', - SessionsStart = 'SessionsStart', - SessionsStop = 'SessionsStop', - ScheduledTasksInfoStart = 'ScheduledTasksInfoStart', - ScheduledTasksInfoStop = 'ScheduledTasksInfoStop', - KeepAlive = 'KeepAlive' -} diff --git a/jellyfin/model/sessionUserInfo.ts b/jellyfin/model/sessionUserInfo.ts deleted file mode 100644 index 87cf5b0..0000000 --- a/jellyfin/model/sessionUserInfo.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class SessionUserInfo. -*/ -export class SessionUserInfo { - /** - * Gets or sets the user identifier. - */ - 'userId'?: string; - /** - * Gets or sets the name of the user. - */ - 'userName'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "userId", - "baseName": "UserId", - "type": "string" - }, - { - "name": "userName", - "baseName": "UserName", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return SessionUserInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/setChannelMappingDto.ts b/jellyfin/model/setChannelMappingDto.ts deleted file mode 100644 index a9562c3..0000000 --- a/jellyfin/model/setChannelMappingDto.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Set channel mapping dto. -*/ -export class SetChannelMappingDto { - /** - * Gets or sets the provider id. - */ - 'providerId': string; - /** - * Gets or sets the tuner channel id. - */ - 'tunerChannelId': string; - /** - * Gets or sets the provider channel id. - */ - 'providerChannelId': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "providerId", - "baseName": "ProviderId", - "type": "string" - }, - { - "name": "tunerChannelId", - "baseName": "TunerChannelId", - "type": "string" - }, - { - "name": "providerChannelId", - "baseName": "ProviderChannelId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return SetChannelMappingDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/setChannelMappingRequest.ts b/jellyfin/model/setChannelMappingRequest.ts deleted file mode 100644 index d109fa5..0000000 --- a/jellyfin/model/setChannelMappingRequest.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Set channel mapping dto. -*/ -export class SetChannelMappingRequest { - /** - * Gets or sets the provider id. - */ - 'providerId': string; - /** - * Gets or sets the tuner channel id. - */ - 'tunerChannelId': string; - /** - * Gets or sets the provider channel id. - */ - 'providerChannelId': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "providerId", - "baseName": "ProviderId", - "type": "string" - }, - { - "name": "tunerChannelId", - "baseName": "TunerChannelId", - "type": "string" - }, - { - "name": "providerChannelId", - "baseName": "ProviderChannelId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return SetChannelMappingRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/setPlaylistItemRequestDto.ts b/jellyfin/model/setPlaylistItemRequestDto.ts deleted file mode 100644 index 1aa16b2..0000000 --- a/jellyfin/model/setPlaylistItemRequestDto.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class SetPlaylistItemRequestDto. -*/ -export class SetPlaylistItemRequestDto { - /** - * Gets or sets the playlist identifier of the playing item. - */ - 'playlistItemId'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return SetPlaylistItemRequestDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/setRemoteAccessRequest.ts b/jellyfin/model/setRemoteAccessRequest.ts deleted file mode 100644 index 0da5e31..0000000 --- a/jellyfin/model/setRemoteAccessRequest.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Startup remote access dto. -*/ -export class SetRemoteAccessRequest { - /** - * Gets or sets a value indicating whether enable remote access. - */ - 'enableRemoteAccess': boolean; - /** - * Gets or sets a value indicating whether enable automatic port mapping. - */ - 'enableAutomaticPortMapping': boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "enableRemoteAccess", - "baseName": "EnableRemoteAccess", - "type": "boolean" - }, - { - "name": "enableAutomaticPortMapping", - "baseName": "EnableAutomaticPortMapping", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return SetRemoteAccessRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/setRepeatModeRequestDto.ts b/jellyfin/model/setRepeatModeRequestDto.ts deleted file mode 100644 index b0f274a..0000000 --- a/jellyfin/model/setRepeatModeRequestDto.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { GroupRepeatMode } from './groupRepeatMode'; - -/** -* Class SetRepeatModeRequestDto. -*/ -export class SetRepeatModeRequestDto { - 'mode'?: GroupRepeatMode; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "mode", - "baseName": "Mode", - "type": "GroupRepeatMode" - } ]; - - static getAttributeTypeMap() { - return SetRepeatModeRequestDto.attributeTypeMap; - } -} - -export namespace SetRepeatModeRequestDto { -} diff --git a/jellyfin/model/setShuffleModeRequestDto.ts b/jellyfin/model/setShuffleModeRequestDto.ts deleted file mode 100644 index 0718c79..0000000 --- a/jellyfin/model/setShuffleModeRequestDto.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { GroupShuffleMode } from './groupShuffleMode'; - -/** -* Class SetShuffleModeRequestDto. -*/ -export class SetShuffleModeRequestDto { - 'mode'?: GroupShuffleMode; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "mode", - "baseName": "Mode", - "type": "GroupShuffleMode" - } ]; - - static getAttributeTypeMap() { - return SetShuffleModeRequestDto.attributeTypeMap; - } -} - -export namespace SetShuffleModeRequestDto { -} diff --git a/jellyfin/model/songInfo.ts b/jellyfin/model/songInfo.ts deleted file mode 100644 index ff4a763..0000000 --- a/jellyfin/model/songInfo.ts +++ /dev/null @@ -1,130 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class SongInfo { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the original title. - */ - 'originalTitle'?: string | null; - /** - * Gets or sets the path. - */ - 'path'?: string | null; - /** - * Gets or sets the metadata language. - */ - 'metadataLanguage'?: string | null; - /** - * Gets or sets the metadata country code. - */ - 'metadataCountryCode'?: string | null; - /** - * Gets or sets the provider ids. - */ - 'providerIds'?: { [key: string]: string; } | null; - /** - * Gets or sets the year. - */ - 'year'?: number | null; - 'indexNumber'?: number | null; - 'parentIndexNumber'?: number | null; - 'premiereDate'?: Date | null; - 'isAutomated'?: boolean; - 'albumArtists'?: Array | null; - 'album'?: string | null; - 'artists'?: Array | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "originalTitle", - "baseName": "OriginalTitle", - "type": "string" - }, - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "metadataLanguage", - "baseName": "MetadataLanguage", - "type": "string" - }, - { - "name": "metadataCountryCode", - "baseName": "MetadataCountryCode", - "type": "string" - }, - { - "name": "providerIds", - "baseName": "ProviderIds", - "type": "{ [key: string]: string; }" - }, - { - "name": "year", - "baseName": "Year", - "type": "number" - }, - { - "name": "indexNumber", - "baseName": "IndexNumber", - "type": "number" - }, - { - "name": "parentIndexNumber", - "baseName": "ParentIndexNumber", - "type": "number" - }, - { - "name": "premiereDate", - "baseName": "PremiereDate", - "type": "Date" - }, - { - "name": "isAutomated", - "baseName": "IsAutomated", - "type": "boolean" - }, - { - "name": "albumArtists", - "baseName": "AlbumArtists", - "type": "Array" - }, - { - "name": "album", - "baseName": "Album", - "type": "string" - }, - { - "name": "artists", - "baseName": "Artists", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return SongInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/sortOrder.ts b/jellyfin/model/sortOrder.ts deleted file mode 100644 index 20addc9..0000000 --- a/jellyfin/model/sortOrder.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* An enum representing the sorting order. -*/ -export enum SortOrder { - Ascending = 'Ascending', - Descending = 'Descending' -} diff --git a/jellyfin/model/specialViewOptionDto.ts b/jellyfin/model/specialViewOptionDto.ts deleted file mode 100644 index 05b422c..0000000 --- a/jellyfin/model/specialViewOptionDto.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Special view option dto. -*/ -export class SpecialViewOptionDto { - /** - * Gets or sets view option name. - */ - 'name'?: string | null; - /** - * Gets or sets view option id. - */ - 'id'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return SpecialViewOptionDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/startupConfigurationDto.ts b/jellyfin/model/startupConfigurationDto.ts deleted file mode 100644 index 969cafa..0000000 --- a/jellyfin/model/startupConfigurationDto.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* The startup configuration DTO. -*/ -export class StartupConfigurationDto { - /** - * Gets or sets UI language culture. - */ - 'uICulture'?: string | null; - /** - * Gets or sets the metadata country code. - */ - 'metadataCountryCode'?: string | null; - /** - * Gets or sets the preferred language for the metadata. - */ - 'preferredMetadataLanguage'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "uICulture", - "baseName": "UICulture", - "type": "string" - }, - { - "name": "metadataCountryCode", - "baseName": "MetadataCountryCode", - "type": "string" - }, - { - "name": "preferredMetadataLanguage", - "baseName": "PreferredMetadataLanguage", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return StartupConfigurationDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/startupRemoteAccessDto.ts b/jellyfin/model/startupRemoteAccessDto.ts deleted file mode 100644 index 3e77067..0000000 --- a/jellyfin/model/startupRemoteAccessDto.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Startup remote access dto. -*/ -export class StartupRemoteAccessDto { - /** - * Gets or sets a value indicating whether enable remote access. - */ - 'enableRemoteAccess': boolean; - /** - * Gets or sets a value indicating whether enable automatic port mapping. - */ - 'enableAutomaticPortMapping': boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "enableRemoteAccess", - "baseName": "EnableRemoteAccess", - "type": "boolean" - }, - { - "name": "enableAutomaticPortMapping", - "baseName": "EnableAutomaticPortMapping", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return StartupRemoteAccessDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/startupUserDto.ts b/jellyfin/model/startupUserDto.ts deleted file mode 100644 index 373970c..0000000 --- a/jellyfin/model/startupUserDto.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* The startup user DTO. -*/ -export class StartupUserDto { - /** - * Gets or sets the username. - */ - 'name'?: string | null; - /** - * Gets or sets the user\'s password. - */ - 'password'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "password", - "baseName": "Password", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return StartupUserDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/subtitleDeliveryMethod.ts b/jellyfin/model/subtitleDeliveryMethod.ts deleted file mode 100644 index a0bbec1..0000000 --- a/jellyfin/model/subtitleDeliveryMethod.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Delivery method to use during playback of a specific subtitle format. -*/ -export enum SubtitleDeliveryMethod { - Encode = 'Encode', - Embed = 'Embed', - External = 'External', - Hls = 'Hls', - Drop = 'Drop' -} diff --git a/jellyfin/model/subtitleOptions.ts b/jellyfin/model/subtitleOptions.ts deleted file mode 100644 index 40843cc..0000000 --- a/jellyfin/model/subtitleOptions.ts +++ /dev/null @@ -1,79 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class SubtitleOptions { - 'skipIfEmbeddedSubtitlesPresent'?: boolean; - 'skipIfAudioTrackMatches'?: boolean; - 'downloadLanguages'?: Array | null; - 'downloadMovieSubtitles'?: boolean; - 'downloadEpisodeSubtitles'?: boolean; - 'openSubtitlesUsername'?: string | null; - 'openSubtitlesPasswordHash'?: string | null; - 'isOpenSubtitleVipAccount'?: boolean; - 'requirePerfectMatch'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "skipIfEmbeddedSubtitlesPresent", - "baseName": "SkipIfEmbeddedSubtitlesPresent", - "type": "boolean" - }, - { - "name": "skipIfAudioTrackMatches", - "baseName": "SkipIfAudioTrackMatches", - "type": "boolean" - }, - { - "name": "downloadLanguages", - "baseName": "DownloadLanguages", - "type": "Array" - }, - { - "name": "downloadMovieSubtitles", - "baseName": "DownloadMovieSubtitles", - "type": "boolean" - }, - { - "name": "downloadEpisodeSubtitles", - "baseName": "DownloadEpisodeSubtitles", - "type": "boolean" - }, - { - "name": "openSubtitlesUsername", - "baseName": "OpenSubtitlesUsername", - "type": "string" - }, - { - "name": "openSubtitlesPasswordHash", - "baseName": "OpenSubtitlesPasswordHash", - "type": "string" - }, - { - "name": "isOpenSubtitleVipAccount", - "baseName": "IsOpenSubtitleVipAccount", - "type": "boolean" - }, - { - "name": "requirePerfectMatch", - "baseName": "RequirePerfectMatch", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return SubtitleOptions.attributeTypeMap; - } -} - diff --git a/jellyfin/model/subtitlePlaybackMode.ts b/jellyfin/model/subtitlePlaybackMode.ts deleted file mode 100644 index cec0f3d..0000000 --- a/jellyfin/model/subtitlePlaybackMode.ts +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* An enum representing a subtitle playback mode. -*/ -export enum SubtitlePlaybackMode { - Default = 'Default', - Always = 'Always', - OnlyForced = 'OnlyForced', - None = 'None', - Smart = 'Smart' -} diff --git a/jellyfin/model/subtitleProfile.ts b/jellyfin/model/subtitleProfile.ts deleted file mode 100644 index f8353e9..0000000 --- a/jellyfin/model/subtitleProfile.ts +++ /dev/null @@ -1,58 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { SubtitleDeliveryMethod } from './subtitleDeliveryMethod'; - -export class SubtitleProfile { - 'format'?: string | null; - 'method'?: SubtitleDeliveryMethod; - 'didlMode'?: string | null; - 'language'?: string | null; - 'container'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "format", - "baseName": "Format", - "type": "string" - }, - { - "name": "method", - "baseName": "Method", - "type": "SubtitleDeliveryMethod" - }, - { - "name": "didlMode", - "baseName": "DidlMode", - "type": "string" - }, - { - "name": "language", - "baseName": "Language", - "type": "string" - }, - { - "name": "container", - "baseName": "Container", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return SubtitleProfile.attributeTypeMap; - } -} - -export namespace SubtitleProfile { -} diff --git a/jellyfin/model/syncPlayBufferingRequest.ts b/jellyfin/model/syncPlayBufferingRequest.ts deleted file mode 100644 index 778b3e2..0000000 --- a/jellyfin/model/syncPlayBufferingRequest.ts +++ /dev/null @@ -1,64 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class BufferRequestDto. -*/ -export class SyncPlayBufferingRequest { - /** - * Gets or sets when the request has been made by the client. - */ - 'when'?: Date; - /** - * Gets or sets the position ticks. - */ - 'positionTicks'?: number; - /** - * Gets or sets a value indicating whether the client playback is unpaused. - */ - 'isPlaying'?: boolean; - /** - * Gets or sets the playlist item identifier of the playing item. - */ - 'playlistItemId'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "when", - "baseName": "When", - "type": "Date" - }, - { - "name": "positionTicks", - "baseName": "PositionTicks", - "type": "number" - }, - { - "name": "isPlaying", - "baseName": "IsPlaying", - "type": "boolean" - }, - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return SyncPlayBufferingRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/syncPlayCreateGroupRequest.ts b/jellyfin/model/syncPlayCreateGroupRequest.ts deleted file mode 100644 index c4892d3..0000000 --- a/jellyfin/model/syncPlayCreateGroupRequest.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class NewGroupRequestDto. -*/ -export class SyncPlayCreateGroupRequest { - /** - * Gets or sets the group name. - */ - 'groupName'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "groupName", - "baseName": "GroupName", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return SyncPlayCreateGroupRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/syncPlayJoinGroupRequest.ts b/jellyfin/model/syncPlayJoinGroupRequest.ts deleted file mode 100644 index b50596d..0000000 --- a/jellyfin/model/syncPlayJoinGroupRequest.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class JoinGroupRequestDto. -*/ -export class SyncPlayJoinGroupRequest { - /** - * Gets or sets the group identifier. - */ - 'groupId'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "groupId", - "baseName": "GroupId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return SyncPlayJoinGroupRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/syncPlayMovePlaylistItemRequest.ts b/jellyfin/model/syncPlayMovePlaylistItemRequest.ts deleted file mode 100644 index 0abe46d..0000000 --- a/jellyfin/model/syncPlayMovePlaylistItemRequest.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class MovePlaylistItemRequestDto. -*/ -export class SyncPlayMovePlaylistItemRequest { - /** - * Gets or sets the playlist identifier of the item. - */ - 'playlistItemId'?: string; - /** - * Gets or sets the new position. - */ - 'newIndex'?: number; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - }, - { - "name": "newIndex", - "baseName": "NewIndex", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return SyncPlayMovePlaylistItemRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/syncPlayNextItemRequest.ts b/jellyfin/model/syncPlayNextItemRequest.ts deleted file mode 100644 index abd1aaa..0000000 --- a/jellyfin/model/syncPlayNextItemRequest.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class NextItemRequestDto. -*/ -export class SyncPlayNextItemRequest { - /** - * Gets or sets the playing item identifier. - */ - 'playlistItemId'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return SyncPlayNextItemRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/syncPlayPingRequest.ts b/jellyfin/model/syncPlayPingRequest.ts deleted file mode 100644 index ea82688..0000000 --- a/jellyfin/model/syncPlayPingRequest.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class PingRequestDto. -*/ -export class SyncPlayPingRequest { - /** - * Gets or sets the ping time. - */ - 'ping'?: number; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "ping", - "baseName": "Ping", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return SyncPlayPingRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/syncPlayPreviousItemRequest.ts b/jellyfin/model/syncPlayPreviousItemRequest.ts deleted file mode 100644 index 9e0e574..0000000 --- a/jellyfin/model/syncPlayPreviousItemRequest.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class PreviousItemRequestDto. -*/ -export class SyncPlayPreviousItemRequest { - /** - * Gets or sets the playing item identifier. - */ - 'playlistItemId'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return SyncPlayPreviousItemRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/syncPlayQueueRequest.ts b/jellyfin/model/syncPlayQueueRequest.ts deleted file mode 100644 index ccac489..0000000 --- a/jellyfin/model/syncPlayQueueRequest.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { GroupQueueMode } from './groupQueueMode'; - -/** -* Class QueueRequestDto. -*/ -export class SyncPlayQueueRequest { - /** - * Gets or sets the items to enqueue. - */ - 'itemIds'?: Array; - 'mode'?: GroupQueueMode; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "itemIds", - "baseName": "ItemIds", - "type": "Array" - }, - { - "name": "mode", - "baseName": "Mode", - "type": "GroupQueueMode" - } ]; - - static getAttributeTypeMap() { - return SyncPlayQueueRequest.attributeTypeMap; - } -} - -export namespace SyncPlayQueueRequest { -} diff --git a/jellyfin/model/syncPlayReadyRequest.ts b/jellyfin/model/syncPlayReadyRequest.ts deleted file mode 100644 index e500d8d..0000000 --- a/jellyfin/model/syncPlayReadyRequest.ts +++ /dev/null @@ -1,64 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class ReadyRequest. -*/ -export class SyncPlayReadyRequest { - /** - * Gets or sets when the request has been made by the client. - */ - 'when'?: Date; - /** - * Gets or sets the position ticks. - */ - 'positionTicks'?: number; - /** - * Gets or sets a value indicating whether the client playback is unpaused. - */ - 'isPlaying'?: boolean; - /** - * Gets or sets the playlist item identifier of the playing item. - */ - 'playlistItemId'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "when", - "baseName": "When", - "type": "Date" - }, - { - "name": "positionTicks", - "baseName": "PositionTicks", - "type": "number" - }, - { - "name": "isPlaying", - "baseName": "IsPlaying", - "type": "boolean" - }, - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return SyncPlayReadyRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/syncPlayRemoveFromPlaylistRequest.ts b/jellyfin/model/syncPlayRemoveFromPlaylistRequest.ts deleted file mode 100644 index 1e66d3b..0000000 --- a/jellyfin/model/syncPlayRemoveFromPlaylistRequest.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class RemoveFromPlaylistRequestDto. -*/ -export class SyncPlayRemoveFromPlaylistRequest { - /** - * Gets or sets the playlist identifiers ot the items. Ignored when clearing the playlist. - */ - 'playlistItemIds'?: Array; - /** - * Gets or sets a value indicating whether the entire playlist should be cleared. - */ - 'clearPlaylist'?: boolean; - /** - * Gets or sets a value indicating whether the playing item should be removed as well. Used only when clearing the playlist. - */ - 'clearPlayingItem'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "playlistItemIds", - "baseName": "PlaylistItemIds", - "type": "Array" - }, - { - "name": "clearPlaylist", - "baseName": "ClearPlaylist", - "type": "boolean" - }, - { - "name": "clearPlayingItem", - "baseName": "ClearPlayingItem", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return SyncPlayRemoveFromPlaylistRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/syncPlaySeekRequest.ts b/jellyfin/model/syncPlaySeekRequest.ts deleted file mode 100644 index baa970b..0000000 --- a/jellyfin/model/syncPlaySeekRequest.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class SeekRequestDto. -*/ -export class SyncPlaySeekRequest { - /** - * Gets or sets the position ticks. - */ - 'positionTicks'?: number; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "positionTicks", - "baseName": "PositionTicks", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return SyncPlaySeekRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/syncPlaySetIgnoreWaitRequest.ts b/jellyfin/model/syncPlaySetIgnoreWaitRequest.ts deleted file mode 100644 index b305c26..0000000 --- a/jellyfin/model/syncPlaySetIgnoreWaitRequest.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class IgnoreWaitRequestDto. -*/ -export class SyncPlaySetIgnoreWaitRequest { - /** - * Gets or sets a value indicating whether the client should be ignored. - */ - 'ignoreWait'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "ignoreWait", - "baseName": "IgnoreWait", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return SyncPlaySetIgnoreWaitRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/syncPlaySetNewQueueRequest.ts b/jellyfin/model/syncPlaySetNewQueueRequest.ts deleted file mode 100644 index 80021d1..0000000 --- a/jellyfin/model/syncPlaySetNewQueueRequest.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class PlayRequestDto. -*/ -export class SyncPlaySetNewQueueRequest { - /** - * Gets or sets the playing queue. - */ - 'playingQueue'?: Array; - /** - * Gets or sets the position of the playing item in the queue. - */ - 'playingItemPosition'?: number; - /** - * Gets or sets the start position ticks. - */ - 'startPositionTicks'?: number; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "playingQueue", - "baseName": "PlayingQueue", - "type": "Array" - }, - { - "name": "playingItemPosition", - "baseName": "PlayingItemPosition", - "type": "number" - }, - { - "name": "startPositionTicks", - "baseName": "StartPositionTicks", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return SyncPlaySetNewQueueRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/syncPlaySetPlaylistItemRequest.ts b/jellyfin/model/syncPlaySetPlaylistItemRequest.ts deleted file mode 100644 index 9fb8a7e..0000000 --- a/jellyfin/model/syncPlaySetPlaylistItemRequest.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class SetPlaylistItemRequestDto. -*/ -export class SyncPlaySetPlaylistItemRequest { - /** - * Gets or sets the playlist identifier of the playing item. - */ - 'playlistItemId'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return SyncPlaySetPlaylistItemRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/syncPlaySetRepeatModeRequest.ts b/jellyfin/model/syncPlaySetRepeatModeRequest.ts deleted file mode 100644 index 6581c8b..0000000 --- a/jellyfin/model/syncPlaySetRepeatModeRequest.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { GroupRepeatMode } from './groupRepeatMode'; - -/** -* Class SetRepeatModeRequestDto. -*/ -export class SyncPlaySetRepeatModeRequest { - 'mode'?: GroupRepeatMode; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "mode", - "baseName": "Mode", - "type": "GroupRepeatMode" - } ]; - - static getAttributeTypeMap() { - return SyncPlaySetRepeatModeRequest.attributeTypeMap; - } -} - -export namespace SyncPlaySetRepeatModeRequest { -} diff --git a/jellyfin/model/syncPlaySetShuffleModeRequest.ts b/jellyfin/model/syncPlaySetShuffleModeRequest.ts deleted file mode 100644 index f0e98e9..0000000 --- a/jellyfin/model/syncPlaySetShuffleModeRequest.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { GroupShuffleMode } from './groupShuffleMode'; - -/** -* Class SetShuffleModeRequestDto. -*/ -export class SyncPlaySetShuffleModeRequest { - 'mode'?: GroupShuffleMode; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "mode", - "baseName": "Mode", - "type": "GroupShuffleMode" - } ]; - - static getAttributeTypeMap() { - return SyncPlaySetShuffleModeRequest.attributeTypeMap; - } -} - -export namespace SyncPlaySetShuffleModeRequest { -} diff --git a/jellyfin/model/syncPlayUserAccessType.ts b/jellyfin/model/syncPlayUserAccessType.ts deleted file mode 100644 index 0e95c21..0000000 --- a/jellyfin/model/syncPlayUserAccessType.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Enum SyncPlayUserAccessType. -*/ -export enum SyncPlayUserAccessType { - CreateAndJoinGroups = 'CreateAndJoinGroups', - JoinGroups = 'JoinGroups', - None = 'None' -} diff --git a/jellyfin/model/systemInfo.ts b/jellyfin/model/systemInfo.ts deleted file mode 100644 index dc6d3cf..0000000 --- a/jellyfin/model/systemInfo.ts +++ /dev/null @@ -1,255 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { Architecture } from './architecture'; -import { FFmpegLocation } from './fFmpegLocation'; -import { InstallationInfo } from './installationInfo'; - -/** -* Class SystemInfo. -*/ -export class SystemInfo { - /** - * Gets or sets the local address. - */ - 'localAddress'?: string | null; - /** - * Gets or sets the name of the server. - */ - 'serverName'?: string | null; - /** - * Gets or sets the server version. - */ - 'version'?: string | null; - /** - * Gets or sets the product name. This is the AssemblyProduct name. - */ - 'productName'?: string | null; - /** - * Gets or sets the operating system. - */ - 'operatingSystem'?: string | null; - /** - * Gets or sets the id. - */ - 'id'?: string | null; - /** - * Gets or sets a value indicating whether the startup wizard is completed. - */ - 'startupWizardCompleted'?: boolean | null; - /** - * Gets or sets the display name of the operating system. - */ - 'operatingSystemDisplayName'?: string | null; - /** - * Gets or sets the package name. - */ - 'packageName'?: string | null; - /** - * Gets or sets a value indicating whether this instance has pending restart. - */ - 'hasPendingRestart'?: boolean; - 'isShuttingDown'?: boolean; - /** - * Gets or sets a value indicating whether [supports library monitor]. - */ - 'supportsLibraryMonitor'?: boolean; - /** - * Gets or sets the web socket port number. - */ - 'webSocketPortNumber'?: number; - /** - * Gets or sets the completed installations. - */ - 'completedInstallations'?: Array | null; - /** - * Gets or sets a value indicating whether this instance can self restart. - */ - 'canSelfRestart'?: boolean; - 'canLaunchWebBrowser'?: boolean; - /** - * Gets or sets the program data path. - */ - 'programDataPath'?: string | null; - /** - * Gets or sets the web UI resources path. - */ - 'webPath'?: string | null; - /** - * Gets or sets the items by name path. - */ - 'itemsByNamePath'?: string | null; - /** - * Gets or sets the cache path. - */ - 'cachePath'?: string | null; - /** - * Gets or sets the log path. - */ - 'logPath'?: string | null; - /** - * Gets or sets the internal metadata path. - */ - 'internalMetadataPath'?: string | null; - /** - * Gets or sets the transcode path. - */ - 'transcodingTempPath'?: string | null; - /** - * Gets or sets a value indicating whether this instance has update available. - */ - 'hasUpdateAvailable'?: boolean; - 'encoderLocation'?: FFmpegLocation; - 'systemArchitecture'?: Architecture; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "localAddress", - "baseName": "LocalAddress", - "type": "string" - }, - { - "name": "serverName", - "baseName": "ServerName", - "type": "string" - }, - { - "name": "version", - "baseName": "Version", - "type": "string" - }, - { - "name": "productName", - "baseName": "ProductName", - "type": "string" - }, - { - "name": "operatingSystem", - "baseName": "OperatingSystem", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "startupWizardCompleted", - "baseName": "StartupWizardCompleted", - "type": "boolean" - }, - { - "name": "operatingSystemDisplayName", - "baseName": "OperatingSystemDisplayName", - "type": "string" - }, - { - "name": "packageName", - "baseName": "PackageName", - "type": "string" - }, - { - "name": "hasPendingRestart", - "baseName": "HasPendingRestart", - "type": "boolean" - }, - { - "name": "isShuttingDown", - "baseName": "IsShuttingDown", - "type": "boolean" - }, - { - "name": "supportsLibraryMonitor", - "baseName": "SupportsLibraryMonitor", - "type": "boolean" - }, - { - "name": "webSocketPortNumber", - "baseName": "WebSocketPortNumber", - "type": "number" - }, - { - "name": "completedInstallations", - "baseName": "CompletedInstallations", - "type": "Array" - }, - { - "name": "canSelfRestart", - "baseName": "CanSelfRestart", - "type": "boolean" - }, - { - "name": "canLaunchWebBrowser", - "baseName": "CanLaunchWebBrowser", - "type": "boolean" - }, - { - "name": "programDataPath", - "baseName": "ProgramDataPath", - "type": "string" - }, - { - "name": "webPath", - "baseName": "WebPath", - "type": "string" - }, - { - "name": "itemsByNamePath", - "baseName": "ItemsByNamePath", - "type": "string" - }, - { - "name": "cachePath", - "baseName": "CachePath", - "type": "string" - }, - { - "name": "logPath", - "baseName": "LogPath", - "type": "string" - }, - { - "name": "internalMetadataPath", - "baseName": "InternalMetadataPath", - "type": "string" - }, - { - "name": "transcodingTempPath", - "baseName": "TranscodingTempPath", - "type": "string" - }, - { - "name": "hasUpdateAvailable", - "baseName": "HasUpdateAvailable", - "type": "boolean" - }, - { - "name": "encoderLocation", - "baseName": "EncoderLocation", - "type": "FFmpegLocation" - }, - { - "name": "systemArchitecture", - "baseName": "SystemArchitecture", - "type": "Architecture" - } ]; - - static getAttributeTypeMap() { - return SystemInfo.attributeTypeMap; - } -} - -export namespace SystemInfo { -} diff --git a/jellyfin/model/taskCompletionStatus.ts b/jellyfin/model/taskCompletionStatus.ts deleted file mode 100644 index 6a468a8..0000000 --- a/jellyfin/model/taskCompletionStatus.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Enum TaskCompletionStatus. -*/ -export enum TaskCompletionStatus { - Completed = 'Completed', - Failed = 'Failed', - Cancelled = 'Cancelled', - Aborted = 'Aborted' -} diff --git a/jellyfin/model/taskInfo.ts b/jellyfin/model/taskInfo.ts deleted file mode 100644 index 8151b47..0000000 --- a/jellyfin/model/taskInfo.ts +++ /dev/null @@ -1,117 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { TaskInfoLastExecutionResult } from './taskInfoLastExecutionResult'; -import { TaskState } from './taskState'; -import { TaskTriggerInfo } from './taskTriggerInfo'; - -/** -* Class TaskInfo. -*/ -export class TaskInfo { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - 'state'?: TaskState; - /** - * Gets or sets the progress. - */ - 'currentProgressPercentage'?: number | null; - /** - * Gets or sets the id. - */ - 'id'?: string | null; - 'lastExecutionResult'?: TaskInfoLastExecutionResult | null; - /** - * Gets or sets the triggers. - */ - 'triggers'?: Array | null; - /** - * Gets or sets the description. - */ - 'description'?: string | null; - /** - * Gets or sets the category. - */ - 'category'?: string | null; - /** - * Gets or sets a value indicating whether this instance is hidden. - */ - 'isHidden'?: boolean; - /** - * Gets or sets the key. - */ - 'key'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "state", - "baseName": "State", - "type": "TaskState" - }, - { - "name": "currentProgressPercentage", - "baseName": "CurrentProgressPercentage", - "type": "number" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "lastExecutionResult", - "baseName": "LastExecutionResult", - "type": "TaskInfoLastExecutionResult" - }, - { - "name": "triggers", - "baseName": "Triggers", - "type": "Array" - }, - { - "name": "description", - "baseName": "Description", - "type": "string" - }, - { - "name": "category", - "baseName": "Category", - "type": "string" - }, - { - "name": "isHidden", - "baseName": "IsHidden", - "type": "boolean" - }, - { - "name": "key", - "baseName": "Key", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return TaskInfo.attributeTypeMap; - } -} - -export namespace TaskInfo { -} diff --git a/jellyfin/model/taskInfoLastExecutionResult.ts b/jellyfin/model/taskInfoLastExecutionResult.ts deleted file mode 100644 index ab6363f..0000000 --- a/jellyfin/model/taskInfoLastExecutionResult.ts +++ /dev/null @@ -1,100 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { TaskCompletionStatus } from './taskCompletionStatus'; - -/** -* Gets or sets the last execution result. -*/ -export class TaskInfoLastExecutionResult { - /** - * Gets or sets the start time UTC. - */ - 'startTimeUtc'?: Date; - /** - * Gets or sets the end time UTC. - */ - 'endTimeUtc'?: Date; - 'status'?: TaskCompletionStatus; - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the key. - */ - 'key'?: string | null; - /** - * Gets or sets the id. - */ - 'id'?: string | null; - /** - * Gets or sets the error message. - */ - 'errorMessage'?: string | null; - /** - * Gets or sets the long error message. - */ - 'longErrorMessage'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "startTimeUtc", - "baseName": "StartTimeUtc", - "type": "Date" - }, - { - "name": "endTimeUtc", - "baseName": "EndTimeUtc", - "type": "Date" - }, - { - "name": "status", - "baseName": "Status", - "type": "TaskCompletionStatus" - }, - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "key", - "baseName": "Key", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "errorMessage", - "baseName": "ErrorMessage", - "type": "string" - }, - { - "name": "longErrorMessage", - "baseName": "LongErrorMessage", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return TaskInfoLastExecutionResult.attributeTypeMap; - } -} - -export namespace TaskInfoLastExecutionResult { -} diff --git a/jellyfin/model/taskResult.ts b/jellyfin/model/taskResult.ts deleted file mode 100644 index b78adf8..0000000 --- a/jellyfin/model/taskResult.ts +++ /dev/null @@ -1,100 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { TaskCompletionStatus } from './taskCompletionStatus'; - -/** -* Class TaskExecutionInfo. -*/ -export class TaskResult { - /** - * Gets or sets the start time UTC. - */ - 'startTimeUtc'?: Date; - /** - * Gets or sets the end time UTC. - */ - 'endTimeUtc'?: Date; - 'status'?: TaskCompletionStatus; - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the key. - */ - 'key'?: string | null; - /** - * Gets or sets the id. - */ - 'id'?: string | null; - /** - * Gets or sets the error message. - */ - 'errorMessage'?: string | null; - /** - * Gets or sets the long error message. - */ - 'longErrorMessage'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "startTimeUtc", - "baseName": "StartTimeUtc", - "type": "Date" - }, - { - "name": "endTimeUtc", - "baseName": "EndTimeUtc", - "type": "Date" - }, - { - "name": "status", - "baseName": "Status", - "type": "TaskCompletionStatus" - }, - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "key", - "baseName": "Key", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "errorMessage", - "baseName": "ErrorMessage", - "type": "string" - }, - { - "name": "longErrorMessage", - "baseName": "LongErrorMessage", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return TaskResult.attributeTypeMap; - } -} - -export namespace TaskResult { -} diff --git a/jellyfin/model/taskState.ts b/jellyfin/model/taskState.ts deleted file mode 100644 index ee076e0..0000000 --- a/jellyfin/model/taskState.ts +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Enum TaskState. -*/ -export enum TaskState { - Idle = 'Idle', - Cancelling = 'Cancelling', - Running = 'Running' -} diff --git a/jellyfin/model/taskTriggerInfo.ts b/jellyfin/model/taskTriggerInfo.ts deleted file mode 100644 index b904c25..0000000 --- a/jellyfin/model/taskTriggerInfo.ts +++ /dev/null @@ -1,73 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { DayOfWeek } from './dayOfWeek'; - -/** -* Class TaskTriggerInfo. -*/ -export class TaskTriggerInfo { - /** - * Gets or sets the type. - */ - 'type'?: string | null; - /** - * Gets or sets the time of day. - */ - 'timeOfDayTicks'?: number | null; - /** - * Gets or sets the interval. - */ - 'intervalTicks'?: number | null; - 'dayOfWeek'?: DayOfWeek | null; - /** - * Gets or sets the maximum runtime ticks. - */ - 'maxRuntimeTicks'?: number | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "type", - "baseName": "Type", - "type": "string" - }, - { - "name": "timeOfDayTicks", - "baseName": "TimeOfDayTicks", - "type": "number" - }, - { - "name": "intervalTicks", - "baseName": "IntervalTicks", - "type": "number" - }, - { - "name": "dayOfWeek", - "baseName": "DayOfWeek", - "type": "DayOfWeek" - }, - { - "name": "maxRuntimeTicks", - "baseName": "MaxRuntimeTicks", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return TaskTriggerInfo.attributeTypeMap; - } -} - -export namespace TaskTriggerInfo { -} diff --git a/jellyfin/model/themeMediaResult.ts b/jellyfin/model/themeMediaResult.ts deleted file mode 100644 index 025a889..0000000 --- a/jellyfin/model/themeMediaResult.ts +++ /dev/null @@ -1,65 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { BaseItemDto } from './baseItemDto'; - -/** -* Class ThemeMediaResult. -*/ -export class ThemeMediaResult { - /** - * Gets or sets the items. - */ - 'items'?: Array | null; - /** - * Gets or sets the total number of records available. - */ - 'totalRecordCount'?: number; - /** - * Gets or sets the index of the first record in Items. - */ - 'startIndex'?: number; - /** - * Gets or sets the owner id. - */ - 'ownerId'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "items", - "baseName": "Items", - "type": "Array" - }, - { - "name": "totalRecordCount", - "baseName": "TotalRecordCount", - "type": "number" - }, - { - "name": "startIndex", - "baseName": "StartIndex", - "type": "number" - }, - { - "name": "ownerId", - "baseName": "OwnerId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return ThemeMediaResult.attributeTypeMap; - } -} - diff --git a/jellyfin/model/timerEventInfo.ts b/jellyfin/model/timerEventInfo.ts deleted file mode 100644 index 515b60b..0000000 --- a/jellyfin/model/timerEventInfo.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class TimerEventInfo { - 'id'?: string; - 'programId'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "programId", - "baseName": "ProgramId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return TimerEventInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/timerInfoDto.ts b/jellyfin/model/timerInfoDto.ts deleted file mode 100644 index ebd261f..0000000 --- a/jellyfin/model/timerInfoDto.ts +++ /dev/null @@ -1,267 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { KeepUntil } from './keepUntil'; -import { RecordingStatus } from './recordingStatus'; -import { TimerInfoDtoProgramInfo } from './timerInfoDtoProgramInfo'; - -export class TimerInfoDto { - /** - * Gets or sets the Id of the recording. - */ - 'id'?: string | null; - 'type'?: string | null; - /** - * Gets or sets the server identifier. - */ - 'serverId'?: string | null; - /** - * Gets or sets the external identifier. - */ - 'externalId'?: string | null; - /** - * Gets or sets the channel id of the recording. - */ - 'channelId'?: string; - /** - * Gets or sets the external channel identifier. - */ - 'externalChannelId'?: string | null; - /** - * Gets or sets the channel name of the recording. - */ - 'channelName'?: string | null; - 'channelPrimaryImageTag'?: string | null; - /** - * Gets or sets the program identifier. - */ - 'programId'?: string | null; - /** - * Gets or sets the external program identifier. - */ - 'externalProgramId'?: string | null; - /** - * Gets or sets the name of the recording. - */ - 'name'?: string | null; - /** - * Gets or sets the description of the recording. - */ - 'overview'?: string | null; - /** - * Gets or sets the start date of the recording, in UTC. - */ - 'startDate'?: Date; - /** - * Gets or sets the end date of the recording, in UTC. - */ - 'endDate'?: Date; - /** - * Gets or sets the name of the service. - */ - 'serviceName'?: string | null; - /** - * Gets or sets the priority. - */ - 'priority'?: number; - /** - * Gets or sets the pre padding seconds. - */ - 'prePaddingSeconds'?: number; - /** - * Gets or sets the post padding seconds. - */ - 'postPaddingSeconds'?: number; - /** - * Gets or sets a value indicating whether this instance is pre padding required. - */ - 'isPrePaddingRequired'?: boolean; - /** - * Gets or sets the Id of the Parent that has a backdrop if the item does not have one. - */ - 'parentBackdropItemId'?: string | null; - /** - * Gets or sets the parent backdrop image tags. - */ - 'parentBackdropImageTags'?: Array | null; - /** - * Gets or sets a value indicating whether this instance is post padding required. - */ - 'isPostPaddingRequired'?: boolean; - 'keepUntil'?: KeepUntil; - 'status'?: RecordingStatus; - /** - * Gets or sets the series timer identifier. - */ - 'seriesTimerId'?: string | null; - /** - * Gets or sets the external series timer identifier. - */ - 'externalSeriesTimerId'?: string | null; - /** - * Gets or sets the run time ticks. - */ - 'runTimeTicks'?: number | null; - 'programInfo'?: TimerInfoDtoProgramInfo | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "type", - "baseName": "Type", - "type": "string" - }, - { - "name": "serverId", - "baseName": "ServerId", - "type": "string" - }, - { - "name": "externalId", - "baseName": "ExternalId", - "type": "string" - }, - { - "name": "channelId", - "baseName": "ChannelId", - "type": "string" - }, - { - "name": "externalChannelId", - "baseName": "ExternalChannelId", - "type": "string" - }, - { - "name": "channelName", - "baseName": "ChannelName", - "type": "string" - }, - { - "name": "channelPrimaryImageTag", - "baseName": "ChannelPrimaryImageTag", - "type": "string" - }, - { - "name": "programId", - "baseName": "ProgramId", - "type": "string" - }, - { - "name": "externalProgramId", - "baseName": "ExternalProgramId", - "type": "string" - }, - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "overview", - "baseName": "Overview", - "type": "string" - }, - { - "name": "startDate", - "baseName": "StartDate", - "type": "Date" - }, - { - "name": "endDate", - "baseName": "EndDate", - "type": "Date" - }, - { - "name": "serviceName", - "baseName": "ServiceName", - "type": "string" - }, - { - "name": "priority", - "baseName": "Priority", - "type": "number" - }, - { - "name": "prePaddingSeconds", - "baseName": "PrePaddingSeconds", - "type": "number" - }, - { - "name": "postPaddingSeconds", - "baseName": "PostPaddingSeconds", - "type": "number" - }, - { - "name": "isPrePaddingRequired", - "baseName": "IsPrePaddingRequired", - "type": "boolean" - }, - { - "name": "parentBackdropItemId", - "baseName": "ParentBackdropItemId", - "type": "string" - }, - { - "name": "parentBackdropImageTags", - "baseName": "ParentBackdropImageTags", - "type": "Array" - }, - { - "name": "isPostPaddingRequired", - "baseName": "IsPostPaddingRequired", - "type": "boolean" - }, - { - "name": "keepUntil", - "baseName": "KeepUntil", - "type": "KeepUntil" - }, - { - "name": "status", - "baseName": "Status", - "type": "RecordingStatus" - }, - { - "name": "seriesTimerId", - "baseName": "SeriesTimerId", - "type": "string" - }, - { - "name": "externalSeriesTimerId", - "baseName": "ExternalSeriesTimerId", - "type": "string" - }, - { - "name": "runTimeTicks", - "baseName": "RunTimeTicks", - "type": "number" - }, - { - "name": "programInfo", - "baseName": "ProgramInfo", - "type": "TimerInfoDtoProgramInfo" - } ]; - - static getAttributeTypeMap() { - return TimerInfoDto.attributeTypeMap; - } -} - -export namespace TimerInfoDto { -} diff --git a/jellyfin/model/timerInfoDtoProgramInfo.ts b/jellyfin/model/timerInfoDtoProgramInfo.ts deleted file mode 100644 index 9b7549c..0000000 --- a/jellyfin/model/timerInfoDtoProgramInfo.ts +++ /dev/null @@ -1,1272 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { BaseItemDtoCurrentProgram } from './baseItemDtoCurrentProgram'; -import { BaseItemDtoImageBlurHashes } from './baseItemDtoImageBlurHashes'; -import { BaseItemDtoUserData } from './baseItemDtoUserData'; -import { BaseItemKind } from './baseItemKind'; -import { BaseItemPerson } from './baseItemPerson'; -import { ChannelType } from './channelType'; -import { ChapterInfo } from './chapterInfo'; -import { DayOfWeek } from './dayOfWeek'; -import { ExternalUrl } from './externalUrl'; -import { ImageOrientation } from './imageOrientation'; -import { IsoType } from './isoType'; -import { LocationType } from './locationType'; -import { MediaSourceInfo } from './mediaSourceInfo'; -import { MediaStream } from './mediaStream'; -import { MediaUrl } from './mediaUrl'; -import { MetadataField } from './metadataField'; -import { NameGuidPair } from './nameGuidPair'; -import { PlayAccess } from './playAccess'; -import { ProgramAudio } from './programAudio'; -import { Video3DFormat } from './video3DFormat'; -import { VideoType } from './videoType'; - -/** -* Gets or sets the program information. -*/ -export class TimerInfoDtoProgramInfo { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - 'originalTitle'?: string | null; - /** - * Gets or sets the server identifier. - */ - 'serverId'?: string | null; - /** - * Gets or sets the id. - */ - 'id'?: string; - /** - * Gets or sets the etag. - */ - 'etag'?: string | null; - /** - * Gets or sets the type of the source. - */ - 'sourceType'?: string | null; - /** - * Gets or sets the playlist item identifier. - */ - 'playlistItemId'?: string | null; - /** - * Gets or sets the date created. - */ - 'dateCreated'?: Date | null; - 'dateLastMediaAdded'?: Date | null; - 'extraType'?: string | null; - 'airsBeforeSeasonNumber'?: number | null; - 'airsAfterSeasonNumber'?: number | null; - 'airsBeforeEpisodeNumber'?: number | null; - 'canDelete'?: boolean | null; - 'canDownload'?: boolean | null; - 'hasSubtitles'?: boolean | null; - 'preferredMetadataLanguage'?: string | null; - 'preferredMetadataCountryCode'?: string | null; - /** - * Gets or sets a value indicating whether [supports synchronize]. - */ - 'supportsSync'?: boolean | null; - 'container'?: string | null; - /** - * Gets or sets the name of the sort. - */ - 'sortName'?: string | null; - 'forcedSortName'?: string | null; - 'video3DFormat'?: Video3DFormat | null; - /** - * Gets or sets the premiere date. - */ - 'premiereDate'?: Date | null; - /** - * Gets or sets the external urls. - */ - 'externalUrls'?: Array | null; - /** - * Gets or sets the media versions. - */ - 'mediaSources'?: Array | null; - /** - * Gets or sets the critic rating. - */ - 'criticRating'?: number | null; - 'productionLocations'?: Array | null; - /** - * Gets or sets the path. - */ - 'path'?: string | null; - 'enableMediaSourceDisplay'?: boolean | null; - /** - * Gets or sets the official rating. - */ - 'officialRating'?: string | null; - /** - * Gets or sets the custom rating. - */ - 'customRating'?: string | null; - /** - * Gets or sets the channel identifier. - */ - 'channelId'?: string | null; - 'channelName'?: string | null; - /** - * Gets or sets the overview. - */ - 'overview'?: string | null; - /** - * Gets or sets the taglines. - */ - 'taglines'?: Array | null; - /** - * Gets or sets the genres. - */ - 'genres'?: Array | null; - /** - * Gets or sets the community rating. - */ - 'communityRating'?: number | null; - /** - * Gets or sets the cumulative run time ticks. - */ - 'cumulativeRunTimeTicks'?: number | null; - /** - * Gets or sets the run time ticks. - */ - 'runTimeTicks'?: number | null; - 'playAccess'?: PlayAccess | null; - /** - * Gets or sets the aspect ratio. - */ - 'aspectRatio'?: string | null; - /** - * Gets or sets the production year. - */ - 'productionYear'?: number | null; - /** - * Gets or sets a value indicating whether this instance is place holder. - */ - 'isPlaceHolder'?: boolean | null; - /** - * Gets or sets the number. - */ - 'number'?: string | null; - 'channelNumber'?: string | null; - /** - * Gets or sets the index number. - */ - 'indexNumber'?: number | null; - /** - * Gets or sets the index number end. - */ - 'indexNumberEnd'?: number | null; - /** - * Gets or sets the parent index number. - */ - 'parentIndexNumber'?: number | null; - /** - * Gets or sets the trailer urls. - */ - 'remoteTrailers'?: Array | null; - /** - * Gets or sets the provider ids. - */ - 'providerIds'?: { [key: string]: string; } | null; - /** - * Gets or sets a value indicating whether this instance is HD. - */ - 'isHD'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is folder. - */ - 'isFolder'?: boolean | null; - /** - * Gets or sets the parent id. - */ - 'parentId'?: string | null; - 'type'?: BaseItemKind; - /** - * Gets or sets the people. - */ - 'people'?: Array | null; - /** - * Gets or sets the studios. - */ - 'studios'?: Array | null; - 'genreItems'?: Array | null; - /** - * Gets or sets wether the item has a logo, this will hold the Id of the Parent that has one. - */ - 'parentLogoItemId'?: string | null; - /** - * Gets or sets wether the item has any backdrops, this will hold the Id of the Parent that has one. - */ - 'parentBackdropItemId'?: string | null; - /** - * Gets or sets the parent backdrop image tags. - */ - 'parentBackdropImageTags'?: Array | null; - /** - * Gets or sets the local trailer count. - */ - 'localTrailerCount'?: number | null; - 'userData'?: BaseItemDtoUserData | null; - /** - * Gets or sets the recursive item count. - */ - 'recursiveItemCount'?: number | null; - /** - * Gets or sets the child count. - */ - 'childCount'?: number | null; - /** - * Gets or sets the name of the series. - */ - 'seriesName'?: string | null; - /** - * Gets or sets the series id. - */ - 'seriesId'?: string | null; - /** - * Gets or sets the season identifier. - */ - 'seasonId'?: string | null; - /** - * Gets or sets the special feature count. - */ - 'specialFeatureCount'?: number | null; - /** - * Gets or sets the display preferences id. - */ - 'displayPreferencesId'?: string | null; - /** - * Gets or sets the status. - */ - 'status'?: string | null; - /** - * Gets or sets the air time. - */ - 'airTime'?: string | null; - /** - * Gets or sets the air days. - */ - 'airDays'?: Array | null; - /** - * Gets or sets the tags. - */ - 'tags'?: Array | null; - /** - * Gets or sets the primary image aspect ratio, after image enhancements. - */ - 'primaryImageAspectRatio'?: number | null; - /** - * Gets or sets the artists. - */ - 'artists'?: Array | null; - /** - * Gets or sets the artist items. - */ - 'artistItems'?: Array | null; - /** - * Gets or sets the album. - */ - 'album'?: string | null; - /** - * Gets or sets the type of the collection. - */ - 'collectionType'?: string | null; - /** - * Gets or sets the display order. - */ - 'displayOrder'?: string | null; - /** - * Gets or sets the album id. - */ - 'albumId'?: string | null; - /** - * Gets or sets the album image tag. - */ - 'albumPrimaryImageTag'?: string | null; - /** - * Gets or sets the series primary image tag. - */ - 'seriesPrimaryImageTag'?: string | null; - /** - * Gets or sets the album artist. - */ - 'albumArtist'?: string | null; - /** - * Gets or sets the album artists. - */ - 'albumArtists'?: Array | null; - /** - * Gets or sets the name of the season. - */ - 'seasonName'?: string | null; - /** - * Gets or sets the media streams. - */ - 'mediaStreams'?: Array | null; - 'videoType'?: VideoType | null; - /** - * Gets or sets the part count. - */ - 'partCount'?: number | null; - 'mediaSourceCount'?: number | null; - /** - * Gets or sets the image tags. - */ - 'imageTags'?: { [key: string]: string; } | null; - /** - * Gets or sets the backdrop image tags. - */ - 'backdropImageTags'?: Array | null; - /** - * Gets or sets the screenshot image tags. - */ - 'screenshotImageTags'?: Array | null; - /** - * Gets or sets the parent logo image tag. - */ - 'parentLogoImageTag'?: string | null; - /** - * Gets or sets wether the item has fan art, this will hold the Id of the Parent that has one. - */ - 'parentArtItemId'?: string | null; - /** - * Gets or sets the parent art image tag. - */ - 'parentArtImageTag'?: string | null; - /** - * Gets or sets the series thumb image tag. - */ - 'seriesThumbImageTag'?: string | null; - 'imageBlurHashes'?: BaseItemDtoImageBlurHashes | null; - /** - * Gets or sets the series studio. - */ - 'seriesStudio'?: string | null; - /** - * Gets or sets the parent thumb item id. - */ - 'parentThumbItemId'?: string | null; - /** - * Gets or sets the parent thumb image tag. - */ - 'parentThumbImageTag'?: string | null; - /** - * Gets or sets the parent primary image item identifier. - */ - 'parentPrimaryImageItemId'?: string | null; - /** - * Gets or sets the parent primary image tag. - */ - 'parentPrimaryImageTag'?: string | null; - /** - * Gets or sets the chapters. - */ - 'chapters'?: Array | null; - 'locationType'?: LocationType | null; - 'isoType'?: IsoType | null; - /** - * Gets or sets the type of the media. - */ - 'mediaType'?: string | null; - /** - * Gets or sets the end date. - */ - 'endDate'?: Date | null; - /** - * Gets or sets the locked fields. - */ - 'lockedFields'?: Array | null; - /** - * Gets or sets the trailer count. - */ - 'trailerCount'?: number | null; - /** - * Gets or sets the movie count. - */ - 'movieCount'?: number | null; - /** - * Gets or sets the series count. - */ - 'seriesCount'?: number | null; - 'programCount'?: number | null; - /** - * Gets or sets the episode count. - */ - 'episodeCount'?: number | null; - /** - * Gets or sets the song count. - */ - 'songCount'?: number | null; - /** - * Gets or sets the album count. - */ - 'albumCount'?: number | null; - 'artistCount'?: number | null; - /** - * Gets or sets the music video count. - */ - 'musicVideoCount'?: number | null; - /** - * Gets or sets a value indicating whether [enable internet providers]. - */ - 'lockData'?: boolean | null; - 'width'?: number | null; - 'height'?: number | null; - 'cameraMake'?: string | null; - 'cameraModel'?: string | null; - 'software'?: string | null; - 'exposureTime'?: number | null; - 'focalLength'?: number | null; - 'imageOrientation'?: ImageOrientation | null; - 'aperture'?: number | null; - 'shutterSpeed'?: number | null; - 'latitude'?: number | null; - 'longitude'?: number | null; - 'altitude'?: number | null; - 'isoSpeedRating'?: number | null; - /** - * Gets or sets the series timer identifier. - */ - 'seriesTimerId'?: string | null; - /** - * Gets or sets the program identifier. - */ - 'programId'?: string | null; - /** - * Gets or sets the channel primary image tag. - */ - 'channelPrimaryImageTag'?: string | null; - /** - * Gets or sets the start date of the recording, in UTC. - */ - 'startDate'?: Date | null; - /** - * Gets or sets the completion percentage. - */ - 'completionPercentage'?: number | null; - /** - * Gets or sets a value indicating whether this instance is repeat. - */ - 'isRepeat'?: boolean | null; - /** - * Gets or sets the episode title. - */ - 'episodeTitle'?: string | null; - 'channelType'?: ChannelType | null; - 'audio'?: ProgramAudio | null; - /** - * Gets or sets a value indicating whether this instance is movie. - */ - 'isMovie'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is sports. - */ - 'isSports'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is series. - */ - 'isSeries'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is live. - */ - 'isLive'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is news. - */ - 'isNews'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is kids. - */ - 'isKids'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is premiere. - */ - 'isPremiere'?: boolean | null; - /** - * Gets or sets the timer identifier. - */ - 'timerId'?: string | null; - 'currentProgram'?: BaseItemDtoCurrentProgram | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "originalTitle", - "baseName": "OriginalTitle", - "type": "string" - }, - { - "name": "serverId", - "baseName": "ServerId", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "etag", - "baseName": "Etag", - "type": "string" - }, - { - "name": "sourceType", - "baseName": "SourceType", - "type": "string" - }, - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - }, - { - "name": "dateCreated", - "baseName": "DateCreated", - "type": "Date" - }, - { - "name": "dateLastMediaAdded", - "baseName": "DateLastMediaAdded", - "type": "Date" - }, - { - "name": "extraType", - "baseName": "ExtraType", - "type": "string" - }, - { - "name": "airsBeforeSeasonNumber", - "baseName": "AirsBeforeSeasonNumber", - "type": "number" - }, - { - "name": "airsAfterSeasonNumber", - "baseName": "AirsAfterSeasonNumber", - "type": "number" - }, - { - "name": "airsBeforeEpisodeNumber", - "baseName": "AirsBeforeEpisodeNumber", - "type": "number" - }, - { - "name": "canDelete", - "baseName": "CanDelete", - "type": "boolean" - }, - { - "name": "canDownload", - "baseName": "CanDownload", - "type": "boolean" - }, - { - "name": "hasSubtitles", - "baseName": "HasSubtitles", - "type": "boolean" - }, - { - "name": "preferredMetadataLanguage", - "baseName": "PreferredMetadataLanguage", - "type": "string" - }, - { - "name": "preferredMetadataCountryCode", - "baseName": "PreferredMetadataCountryCode", - "type": "string" - }, - { - "name": "supportsSync", - "baseName": "SupportsSync", - "type": "boolean" - }, - { - "name": "container", - "baseName": "Container", - "type": "string" - }, - { - "name": "sortName", - "baseName": "SortName", - "type": "string" - }, - { - "name": "forcedSortName", - "baseName": "ForcedSortName", - "type": "string" - }, - { - "name": "video3DFormat", - "baseName": "Video3DFormat", - "type": "Video3DFormat" - }, - { - "name": "premiereDate", - "baseName": "PremiereDate", - "type": "Date" - }, - { - "name": "externalUrls", - "baseName": "ExternalUrls", - "type": "Array" - }, - { - "name": "mediaSources", - "baseName": "MediaSources", - "type": "Array" - }, - { - "name": "criticRating", - "baseName": "CriticRating", - "type": "number" - }, - { - "name": "productionLocations", - "baseName": "ProductionLocations", - "type": "Array" - }, - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "enableMediaSourceDisplay", - "baseName": "EnableMediaSourceDisplay", - "type": "boolean" - }, - { - "name": "officialRating", - "baseName": "OfficialRating", - "type": "string" - }, - { - "name": "customRating", - "baseName": "CustomRating", - "type": "string" - }, - { - "name": "channelId", - "baseName": "ChannelId", - "type": "string" - }, - { - "name": "channelName", - "baseName": "ChannelName", - "type": "string" - }, - { - "name": "overview", - "baseName": "Overview", - "type": "string" - }, - { - "name": "taglines", - "baseName": "Taglines", - "type": "Array" - }, - { - "name": "genres", - "baseName": "Genres", - "type": "Array" - }, - { - "name": "communityRating", - "baseName": "CommunityRating", - "type": "number" - }, - { - "name": "cumulativeRunTimeTicks", - "baseName": "CumulativeRunTimeTicks", - "type": "number" - }, - { - "name": "runTimeTicks", - "baseName": "RunTimeTicks", - "type": "number" - }, - { - "name": "playAccess", - "baseName": "PlayAccess", - "type": "PlayAccess" - }, - { - "name": "aspectRatio", - "baseName": "AspectRatio", - "type": "string" - }, - { - "name": "productionYear", - "baseName": "ProductionYear", - "type": "number" - }, - { - "name": "isPlaceHolder", - "baseName": "IsPlaceHolder", - "type": "boolean" - }, - { - "name": "number", - "baseName": "Number", - "type": "string" - }, - { - "name": "channelNumber", - "baseName": "ChannelNumber", - "type": "string" - }, - { - "name": "indexNumber", - "baseName": "IndexNumber", - "type": "number" - }, - { - "name": "indexNumberEnd", - "baseName": "IndexNumberEnd", - "type": "number" - }, - { - "name": "parentIndexNumber", - "baseName": "ParentIndexNumber", - "type": "number" - }, - { - "name": "remoteTrailers", - "baseName": "RemoteTrailers", - "type": "Array" - }, - { - "name": "providerIds", - "baseName": "ProviderIds", - "type": "{ [key: string]: string; }" - }, - { - "name": "isHD", - "baseName": "IsHD", - "type": "boolean" - }, - { - "name": "isFolder", - "baseName": "IsFolder", - "type": "boolean" - }, - { - "name": "parentId", - "baseName": "ParentId", - "type": "string" - }, - { - "name": "type", - "baseName": "Type", - "type": "BaseItemKind" - }, - { - "name": "people", - "baseName": "People", - "type": "Array" - }, - { - "name": "studios", - "baseName": "Studios", - "type": "Array" - }, - { - "name": "genreItems", - "baseName": "GenreItems", - "type": "Array" - }, - { - "name": "parentLogoItemId", - "baseName": "ParentLogoItemId", - "type": "string" - }, - { - "name": "parentBackdropItemId", - "baseName": "ParentBackdropItemId", - "type": "string" - }, - { - "name": "parentBackdropImageTags", - "baseName": "ParentBackdropImageTags", - "type": "Array" - }, - { - "name": "localTrailerCount", - "baseName": "LocalTrailerCount", - "type": "number" - }, - { - "name": "userData", - "baseName": "UserData", - "type": "BaseItemDtoUserData" - }, - { - "name": "recursiveItemCount", - "baseName": "RecursiveItemCount", - "type": "number" - }, - { - "name": "childCount", - "baseName": "ChildCount", - "type": "number" - }, - { - "name": "seriesName", - "baseName": "SeriesName", - "type": "string" - }, - { - "name": "seriesId", - "baseName": "SeriesId", - "type": "string" - }, - { - "name": "seasonId", - "baseName": "SeasonId", - "type": "string" - }, - { - "name": "specialFeatureCount", - "baseName": "SpecialFeatureCount", - "type": "number" - }, - { - "name": "displayPreferencesId", - "baseName": "DisplayPreferencesId", - "type": "string" - }, - { - "name": "status", - "baseName": "Status", - "type": "string" - }, - { - "name": "airTime", - "baseName": "AirTime", - "type": "string" - }, - { - "name": "airDays", - "baseName": "AirDays", - "type": "Array" - }, - { - "name": "tags", - "baseName": "Tags", - "type": "Array" - }, - { - "name": "primaryImageAspectRatio", - "baseName": "PrimaryImageAspectRatio", - "type": "number" - }, - { - "name": "artists", - "baseName": "Artists", - "type": "Array" - }, - { - "name": "artistItems", - "baseName": "ArtistItems", - "type": "Array" - }, - { - "name": "album", - "baseName": "Album", - "type": "string" - }, - { - "name": "collectionType", - "baseName": "CollectionType", - "type": "string" - }, - { - "name": "displayOrder", - "baseName": "DisplayOrder", - "type": "string" - }, - { - "name": "albumId", - "baseName": "AlbumId", - "type": "string" - }, - { - "name": "albumPrimaryImageTag", - "baseName": "AlbumPrimaryImageTag", - "type": "string" - }, - { - "name": "seriesPrimaryImageTag", - "baseName": "SeriesPrimaryImageTag", - "type": "string" - }, - { - "name": "albumArtist", - "baseName": "AlbumArtist", - "type": "string" - }, - { - "name": "albumArtists", - "baseName": "AlbumArtists", - "type": "Array" - }, - { - "name": "seasonName", - "baseName": "SeasonName", - "type": "string" - }, - { - "name": "mediaStreams", - "baseName": "MediaStreams", - "type": "Array" - }, - { - "name": "videoType", - "baseName": "VideoType", - "type": "VideoType" - }, - { - "name": "partCount", - "baseName": "PartCount", - "type": "number" - }, - { - "name": "mediaSourceCount", - "baseName": "MediaSourceCount", - "type": "number" - }, - { - "name": "imageTags", - "baseName": "ImageTags", - "type": "{ [key: string]: string; }" - }, - { - "name": "backdropImageTags", - "baseName": "BackdropImageTags", - "type": "Array" - }, - { - "name": "screenshotImageTags", - "baseName": "ScreenshotImageTags", - "type": "Array" - }, - { - "name": "parentLogoImageTag", - "baseName": "ParentLogoImageTag", - "type": "string" - }, - { - "name": "parentArtItemId", - "baseName": "ParentArtItemId", - "type": "string" - }, - { - "name": "parentArtImageTag", - "baseName": "ParentArtImageTag", - "type": "string" - }, - { - "name": "seriesThumbImageTag", - "baseName": "SeriesThumbImageTag", - "type": "string" - }, - { - "name": "imageBlurHashes", - "baseName": "ImageBlurHashes", - "type": "BaseItemDtoImageBlurHashes" - }, - { - "name": "seriesStudio", - "baseName": "SeriesStudio", - "type": "string" - }, - { - "name": "parentThumbItemId", - "baseName": "ParentThumbItemId", - "type": "string" - }, - { - "name": "parentThumbImageTag", - "baseName": "ParentThumbImageTag", - "type": "string" - }, - { - "name": "parentPrimaryImageItemId", - "baseName": "ParentPrimaryImageItemId", - "type": "string" - }, - { - "name": "parentPrimaryImageTag", - "baseName": "ParentPrimaryImageTag", - "type": "string" - }, - { - "name": "chapters", - "baseName": "Chapters", - "type": "Array" - }, - { - "name": "locationType", - "baseName": "LocationType", - "type": "LocationType" - }, - { - "name": "isoType", - "baseName": "IsoType", - "type": "IsoType" - }, - { - "name": "mediaType", - "baseName": "MediaType", - "type": "string" - }, - { - "name": "endDate", - "baseName": "EndDate", - "type": "Date" - }, - { - "name": "lockedFields", - "baseName": "LockedFields", - "type": "Array" - }, - { - "name": "trailerCount", - "baseName": "TrailerCount", - "type": "number" - }, - { - "name": "movieCount", - "baseName": "MovieCount", - "type": "number" - }, - { - "name": "seriesCount", - "baseName": "SeriesCount", - "type": "number" - }, - { - "name": "programCount", - "baseName": "ProgramCount", - "type": "number" - }, - { - "name": "episodeCount", - "baseName": "EpisodeCount", - "type": "number" - }, - { - "name": "songCount", - "baseName": "SongCount", - "type": "number" - }, - { - "name": "albumCount", - "baseName": "AlbumCount", - "type": "number" - }, - { - "name": "artistCount", - "baseName": "ArtistCount", - "type": "number" - }, - { - "name": "musicVideoCount", - "baseName": "MusicVideoCount", - "type": "number" - }, - { - "name": "lockData", - "baseName": "LockData", - "type": "boolean" - }, - { - "name": "width", - "baseName": "Width", - "type": "number" - }, - { - "name": "height", - "baseName": "Height", - "type": "number" - }, - { - "name": "cameraMake", - "baseName": "CameraMake", - "type": "string" - }, - { - "name": "cameraModel", - "baseName": "CameraModel", - "type": "string" - }, - { - "name": "software", - "baseName": "Software", - "type": "string" - }, - { - "name": "exposureTime", - "baseName": "ExposureTime", - "type": "number" - }, - { - "name": "focalLength", - "baseName": "FocalLength", - "type": "number" - }, - { - "name": "imageOrientation", - "baseName": "ImageOrientation", - "type": "ImageOrientation" - }, - { - "name": "aperture", - "baseName": "Aperture", - "type": "number" - }, - { - "name": "shutterSpeed", - "baseName": "ShutterSpeed", - "type": "number" - }, - { - "name": "latitude", - "baseName": "Latitude", - "type": "number" - }, - { - "name": "longitude", - "baseName": "Longitude", - "type": "number" - }, - { - "name": "altitude", - "baseName": "Altitude", - "type": "number" - }, - { - "name": "isoSpeedRating", - "baseName": "IsoSpeedRating", - "type": "number" - }, - { - "name": "seriesTimerId", - "baseName": "SeriesTimerId", - "type": "string" - }, - { - "name": "programId", - "baseName": "ProgramId", - "type": "string" - }, - { - "name": "channelPrimaryImageTag", - "baseName": "ChannelPrimaryImageTag", - "type": "string" - }, - { - "name": "startDate", - "baseName": "StartDate", - "type": "Date" - }, - { - "name": "completionPercentage", - "baseName": "CompletionPercentage", - "type": "number" - }, - { - "name": "isRepeat", - "baseName": "IsRepeat", - "type": "boolean" - }, - { - "name": "episodeTitle", - "baseName": "EpisodeTitle", - "type": "string" - }, - { - "name": "channelType", - "baseName": "ChannelType", - "type": "ChannelType" - }, - { - "name": "audio", - "baseName": "Audio", - "type": "ProgramAudio" - }, - { - "name": "isMovie", - "baseName": "IsMovie", - "type": "boolean" - }, - { - "name": "isSports", - "baseName": "IsSports", - "type": "boolean" - }, - { - "name": "isSeries", - "baseName": "IsSeries", - "type": "boolean" - }, - { - "name": "isLive", - "baseName": "IsLive", - "type": "boolean" - }, - { - "name": "isNews", - "baseName": "IsNews", - "type": "boolean" - }, - { - "name": "isKids", - "baseName": "IsKids", - "type": "boolean" - }, - { - "name": "isPremiere", - "baseName": "IsPremiere", - "type": "boolean" - }, - { - "name": "timerId", - "baseName": "TimerId", - "type": "string" - }, - { - "name": "currentProgram", - "baseName": "CurrentProgram", - "type": "BaseItemDtoCurrentProgram" - } ]; - - static getAttributeTypeMap() { - return TimerInfoDtoProgramInfo.attributeTypeMap; - } -} - -export namespace TimerInfoDtoProgramInfo { -} diff --git a/jellyfin/model/timerInfoDtoQueryResult.ts b/jellyfin/model/timerInfoDtoQueryResult.ts deleted file mode 100644 index 11e9eec..0000000 --- a/jellyfin/model/timerInfoDtoQueryResult.ts +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { TimerInfoDto } from './timerInfoDto'; - -export class TimerInfoDtoQueryResult { - /** - * Gets or sets the items. - */ - 'items'?: Array | null; - /** - * Gets or sets the total number of records available. - */ - 'totalRecordCount'?: number; - /** - * Gets or sets the index of the first record in Items. - */ - 'startIndex'?: number; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "items", - "baseName": "Items", - "type": "Array" - }, - { - "name": "totalRecordCount", - "baseName": "TotalRecordCount", - "type": "number" - }, - { - "name": "startIndex", - "baseName": "StartIndex", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return TimerInfoDtoQueryResult.attributeTypeMap; - } -} - diff --git a/jellyfin/model/trailerInfo.ts b/jellyfin/model/trailerInfo.ts deleted file mode 100644 index d336cb6..0000000 --- a/jellyfin/model/trailerInfo.ts +++ /dev/null @@ -1,112 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class TrailerInfo { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the original title. - */ - 'originalTitle'?: string | null; - /** - * Gets or sets the path. - */ - 'path'?: string | null; - /** - * Gets or sets the metadata language. - */ - 'metadataLanguage'?: string | null; - /** - * Gets or sets the metadata country code. - */ - 'metadataCountryCode'?: string | null; - /** - * Gets or sets the provider ids. - */ - 'providerIds'?: { [key: string]: string; } | null; - /** - * Gets or sets the year. - */ - 'year'?: number | null; - 'indexNumber'?: number | null; - 'parentIndexNumber'?: number | null; - 'premiereDate'?: Date | null; - 'isAutomated'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "originalTitle", - "baseName": "OriginalTitle", - "type": "string" - }, - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "metadataLanguage", - "baseName": "MetadataLanguage", - "type": "string" - }, - { - "name": "metadataCountryCode", - "baseName": "MetadataCountryCode", - "type": "string" - }, - { - "name": "providerIds", - "baseName": "ProviderIds", - "type": "{ [key: string]: string; }" - }, - { - "name": "year", - "baseName": "Year", - "type": "number" - }, - { - "name": "indexNumber", - "baseName": "IndexNumber", - "type": "number" - }, - { - "name": "parentIndexNumber", - "baseName": "ParentIndexNumber", - "type": "number" - }, - { - "name": "premiereDate", - "baseName": "PremiereDate", - "type": "Date" - }, - { - "name": "isAutomated", - "baseName": "IsAutomated", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return TrailerInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/trailerInfoRemoteSearchQuery.ts b/jellyfin/model/trailerInfoRemoteSearchQuery.ts deleted file mode 100644 index 2b4994f..0000000 --- a/jellyfin/model/trailerInfoRemoteSearchQuery.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { TrailerInfo } from './trailerInfo'; - -export class TrailerInfoRemoteSearchQuery { - 'searchInfo'?: TrailerInfo | null; - 'itemId'?: string; - /** - * Gets or sets the provider name to search within if set. - */ - 'searchProviderName'?: string | null; - /** - * Gets or sets a value indicating whether disabled providers should be included. - */ - 'includeDisabledProviders'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "searchInfo", - "baseName": "SearchInfo", - "type": "TrailerInfo" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "searchProviderName", - "baseName": "SearchProviderName", - "type": "string" - }, - { - "name": "includeDisabledProviders", - "baseName": "IncludeDisabledProviders", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return TrailerInfoRemoteSearchQuery.attributeTypeMap; - } -} - diff --git a/jellyfin/model/transcodeReason.ts b/jellyfin/model/transcodeReason.ts deleted file mode 100644 index 9e347f5..0000000 --- a/jellyfin/model/transcodeReason.ts +++ /dev/null @@ -1,41 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum TranscodeReason { - ContainerNotSupported = 'ContainerNotSupported', - VideoCodecNotSupported = 'VideoCodecNotSupported', - AudioCodecNotSupported = 'AudioCodecNotSupported', - SubtitleCodecNotSupported = 'SubtitleCodecNotSupported', - AudioIsExternal = 'AudioIsExternal', - SecondaryAudioNotSupported = 'SecondaryAudioNotSupported', - VideoProfileNotSupported = 'VideoProfileNotSupported', - VideoLevelNotSupported = 'VideoLevelNotSupported', - VideoResolutionNotSupported = 'VideoResolutionNotSupported', - VideoBitDepthNotSupported = 'VideoBitDepthNotSupported', - VideoFramerateNotSupported = 'VideoFramerateNotSupported', - RefFramesNotSupported = 'RefFramesNotSupported', - AnamorphicVideoNotSupported = 'AnamorphicVideoNotSupported', - InterlacedVideoNotSupported = 'InterlacedVideoNotSupported', - AudioChannelsNotSupported = 'AudioChannelsNotSupported', - AudioProfileNotSupported = 'AudioProfileNotSupported', - AudioSampleRateNotSupported = 'AudioSampleRateNotSupported', - AudioBitDepthNotSupported = 'AudioBitDepthNotSupported', - ContainerBitrateExceedsLimit = 'ContainerBitrateExceedsLimit', - VideoBitrateNotSupported = 'VideoBitrateNotSupported', - AudioBitrateNotSupported = 'AudioBitrateNotSupported', - UnknownVideoStreamInfo = 'UnknownVideoStreamInfo', - UnknownAudioStreamInfo = 'UnknownAudioStreamInfo', - DirectPlayError = 'DirectPlayError', - VideoRangeTypeNotSupported = 'VideoRangeTypeNotSupported' -} diff --git a/jellyfin/model/transcodeSeekInfo.ts b/jellyfin/model/transcodeSeekInfo.ts deleted file mode 100644 index 2f9cab8..0000000 --- a/jellyfin/model/transcodeSeekInfo.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum TranscodeSeekInfo { - Auto = 'Auto', - Bytes = 'Bytes' -} diff --git a/jellyfin/model/transcodingInfo.ts b/jellyfin/model/transcodingInfo.ts deleted file mode 100644 index 267fcaf..0000000 --- a/jellyfin/model/transcodingInfo.ts +++ /dev/null @@ -1,107 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { HardwareEncodingType } from './hardwareEncodingType'; -import { TranscodeReason } from './transcodeReason'; - -export class TranscodingInfo { - 'audioCodec'?: string | null; - 'videoCodec'?: string | null; - 'container'?: string | null; - 'isVideoDirect'?: boolean; - 'isAudioDirect'?: boolean; - 'bitrate'?: number | null; - 'framerate'?: number | null; - 'completionPercentage'?: number | null; - 'width'?: number | null; - 'height'?: number | null; - 'audioChannels'?: number | null; - 'hardwareAccelerationType'?: HardwareEncodingType | null; - 'transcodeReasons'?: Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "audioCodec", - "baseName": "AudioCodec", - "type": "string" - }, - { - "name": "videoCodec", - "baseName": "VideoCodec", - "type": "string" - }, - { - "name": "container", - "baseName": "Container", - "type": "string" - }, - { - "name": "isVideoDirect", - "baseName": "IsVideoDirect", - "type": "boolean" - }, - { - "name": "isAudioDirect", - "baseName": "IsAudioDirect", - "type": "boolean" - }, - { - "name": "bitrate", - "baseName": "Bitrate", - "type": "number" - }, - { - "name": "framerate", - "baseName": "Framerate", - "type": "number" - }, - { - "name": "completionPercentage", - "baseName": "CompletionPercentage", - "type": "number" - }, - { - "name": "width", - "baseName": "Width", - "type": "number" - }, - { - "name": "height", - "baseName": "Height", - "type": "number" - }, - { - "name": "audioChannels", - "baseName": "AudioChannels", - "type": "number" - }, - { - "name": "hardwareAccelerationType", - "baseName": "HardwareAccelerationType", - "type": "HardwareEncodingType" - }, - { - "name": "transcodeReasons", - "baseName": "TranscodeReasons", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return TranscodingInfo.attributeTypeMap; - } -} - -export namespace TranscodingInfo { -} diff --git a/jellyfin/model/transcodingProfile.ts b/jellyfin/model/transcodingProfile.ts deleted file mode 100644 index 38c157e..0000000 --- a/jellyfin/model/transcodingProfile.ts +++ /dev/null @@ -1,127 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { DlnaProfileType } from './dlnaProfileType'; -import { EncodingContext } from './encodingContext'; -import { ProfileCondition } from './profileCondition'; -import { TranscodeSeekInfo } from './transcodeSeekInfo'; - -export class TranscodingProfile { - 'container'?: string; - 'type'?: DlnaProfileType; - 'videoCodec'?: string; - 'audioCodec'?: string; - 'protocol'?: string; - 'estimateContentLength'?: boolean = false; - 'enableMpegtsM2TsMode'?: boolean = false; - 'transcodeSeekInfo'?: TranscodeSeekInfo; - 'copyTimestamps'?: boolean = false; - 'context'?: EncodingContext; - 'enableSubtitlesInManifest'?: boolean = false; - 'maxAudioChannels'?: string | null; - 'minSegments'?: number = 0; - 'segmentLength'?: number = 0; - 'breakOnNonKeyFrames'?: boolean = false; - 'conditions'?: Array; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "container", - "baseName": "Container", - "type": "string" - }, - { - "name": "type", - "baseName": "Type", - "type": "DlnaProfileType" - }, - { - "name": "videoCodec", - "baseName": "VideoCodec", - "type": "string" - }, - { - "name": "audioCodec", - "baseName": "AudioCodec", - "type": "string" - }, - { - "name": "protocol", - "baseName": "Protocol", - "type": "string" - }, - { - "name": "estimateContentLength", - "baseName": "EstimateContentLength", - "type": "boolean" - }, - { - "name": "enableMpegtsM2TsMode", - "baseName": "EnableMpegtsM2TsMode", - "type": "boolean" - }, - { - "name": "transcodeSeekInfo", - "baseName": "TranscodeSeekInfo", - "type": "TranscodeSeekInfo" - }, - { - "name": "copyTimestamps", - "baseName": "CopyTimestamps", - "type": "boolean" - }, - { - "name": "context", - "baseName": "Context", - "type": "EncodingContext" - }, - { - "name": "enableSubtitlesInManifest", - "baseName": "EnableSubtitlesInManifest", - "type": "boolean" - }, - { - "name": "maxAudioChannels", - "baseName": "MaxAudioChannels", - "type": "string" - }, - { - "name": "minSegments", - "baseName": "MinSegments", - "type": "number" - }, - { - "name": "segmentLength", - "baseName": "SegmentLength", - "type": "number" - }, - { - "name": "breakOnNonKeyFrames", - "baseName": "BreakOnNonKeyFrames", - "type": "boolean" - }, - { - "name": "conditions", - "baseName": "Conditions", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return TranscodingProfile.attributeTypeMap; - } -} - -export namespace TranscodingProfile { -} diff --git a/jellyfin/model/transportStreamTimestamp.ts b/jellyfin/model/transportStreamTimestamp.ts deleted file mode 100644 index 6d9e979..0000000 --- a/jellyfin/model/transportStreamTimestamp.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum TransportStreamTimestamp { - None = 'None', - Zero = 'Zero', - Valid = 'Valid' -} diff --git a/jellyfin/model/tunerChannelMapping.ts b/jellyfin/model/tunerChannelMapping.ts deleted file mode 100644 index 7c52cb8..0000000 --- a/jellyfin/model/tunerChannelMapping.ts +++ /dev/null @@ -1,49 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class TunerChannelMapping { - 'name'?: string | null; - 'providerChannelName'?: string | null; - 'providerChannelId'?: string | null; - 'id'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "providerChannelName", - "baseName": "ProviderChannelName", - "type": "string" - }, - { - "name": "providerChannelId", - "baseName": "ProviderChannelId", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return TunerChannelMapping.attributeTypeMap; - } -} - diff --git a/jellyfin/model/tunerHostInfo.ts b/jellyfin/model/tunerHostInfo.ts deleted file mode 100644 index 0495e18..0000000 --- a/jellyfin/model/tunerHostInfo.ts +++ /dev/null @@ -1,91 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class TunerHostInfo { - 'id'?: string | null; - 'url'?: string | null; - 'type'?: string | null; - 'deviceId'?: string | null; - 'friendlyName'?: string | null; - 'importFavoritesOnly'?: boolean; - 'allowHWTranscoding'?: boolean; - 'enableStreamLooping'?: boolean; - 'source'?: string | null; - 'tunerCount'?: number; - 'userAgent'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "url", - "baseName": "Url", - "type": "string" - }, - { - "name": "type", - "baseName": "Type", - "type": "string" - }, - { - "name": "deviceId", - "baseName": "DeviceId", - "type": "string" - }, - { - "name": "friendlyName", - "baseName": "FriendlyName", - "type": "string" - }, - { - "name": "importFavoritesOnly", - "baseName": "ImportFavoritesOnly", - "type": "boolean" - }, - { - "name": "allowHWTranscoding", - "baseName": "AllowHWTranscoding", - "type": "boolean" - }, - { - "name": "enableStreamLooping", - "baseName": "EnableStreamLooping", - "type": "boolean" - }, - { - "name": "source", - "baseName": "Source", - "type": "string" - }, - { - "name": "tunerCount", - "baseName": "TunerCount", - "type": "number" - }, - { - "name": "userAgent", - "baseName": "UserAgent", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return TunerHostInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/typeOptions.ts b/jellyfin/model/typeOptions.ts deleted file mode 100644 index 0e306b5..0000000 --- a/jellyfin/model/typeOptions.ts +++ /dev/null @@ -1,62 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ImageOption } from './imageOption'; - -export class TypeOptions { - 'type'?: string | null; - 'metadataFetchers'?: Array | null; - 'metadataFetcherOrder'?: Array | null; - 'imageFetchers'?: Array | null; - 'imageFetcherOrder'?: Array | null; - 'imageOptions'?: Array | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "type", - "baseName": "Type", - "type": "string" - }, - { - "name": "metadataFetchers", - "baseName": "MetadataFetchers", - "type": "Array" - }, - { - "name": "metadataFetcherOrder", - "baseName": "MetadataFetcherOrder", - "type": "Array" - }, - { - "name": "imageFetchers", - "baseName": "ImageFetchers", - "type": "Array" - }, - { - "name": "imageFetcherOrder", - "baseName": "ImageFetcherOrder", - "type": "Array" - }, - { - "name": "imageOptions", - "baseName": "ImageOptions", - "type": "Array" - } ]; - - static getAttributeTypeMap() { - return TypeOptions.attributeTypeMap; - } -} - diff --git a/jellyfin/model/unratedItem.ts b/jellyfin/model/unratedItem.ts deleted file mode 100644 index 45d3902..0000000 --- a/jellyfin/model/unratedItem.ts +++ /dev/null @@ -1,28 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* An enum representing an unrated item. -*/ -export enum UnratedItem { - Movie = 'Movie', - Trailer = 'Trailer', - Series = 'Series', - Music = 'Music', - Book = 'Book', - LiveTvChannel = 'LiveTvChannel', - LiveTvProgram = 'LiveTvProgram', - ChannelContent = 'ChannelContent', - Other = 'Other' -} diff --git a/jellyfin/model/updateConfigurationRequest.ts b/jellyfin/model/updateConfigurationRequest.ts deleted file mode 100644 index d650fd6..0000000 --- a/jellyfin/model/updateConfigurationRequest.ts +++ /dev/null @@ -1,410 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ImageSavingConvention } from './imageSavingConvention'; -import { MetadataOptions } from './metadataOptions'; -import { NameValuePair } from './nameValuePair'; -import { PathSubstitution } from './pathSubstitution'; -import { RepositoryInfo } from './repositoryInfo'; - -/** -* Represents the server configuration. -*/ -export class UpdateConfigurationRequest { - /** - * Gets or sets the number of days we should retain log files. - */ - 'logFileRetentionDays'?: number; - /** - * Gets or sets a value indicating whether this instance is first run. - */ - 'isStartupWizardCompleted'?: boolean; - /** - * Gets or sets the cache path. - */ - 'cachePath'?: string | null; - /** - * Gets or sets the last known version that was ran using the configuration. - */ - 'previousVersion'?: string | null; - /** - * Gets or sets the stringified PreviousVersion to be stored/loaded, because System.Version itself isn\'t xml-serializable. - */ - 'previousVersionStr'?: string | null; - /** - * Gets or sets a value indicating whether to enable prometheus metrics exporting. - */ - 'enableMetrics'?: boolean; - 'enableNormalizedItemByNameIds'?: boolean; - /** - * Gets or sets a value indicating whether this instance is port authorized. - */ - 'isPortAuthorized'?: boolean; - /** - * Gets or sets a value indicating whether quick connect is available for use on this server. - */ - 'quickConnectAvailable'?: boolean; - /** - * Gets or sets a value indicating whether [enable case sensitive item ids]. - */ - 'enableCaseSensitiveItemIds'?: boolean; - 'disableLiveTvChannelUserDataName'?: boolean; - /** - * Gets or sets the metadata path. - */ - 'metadataPath'?: string; - 'metadataNetworkPath'?: string; - /** - * Gets or sets the preferred metadata language. - */ - 'preferredMetadataLanguage'?: string; - /** - * Gets or sets the metadata country code. - */ - 'metadataCountryCode'?: string; - /** - * Gets or sets characters to be replaced with a \' \' in strings to create a sort name. - */ - 'sortReplaceCharacters'?: Array; - /** - * Gets or sets characters to be removed from strings to create a sort name. - */ - 'sortRemoveCharacters'?: Array; - /** - * Gets or sets words to be removed from strings to create a sort name. - */ - 'sortRemoveWords'?: Array; - /** - * Gets or sets the minimum percentage of an item that must be played in order for playstate to be updated. - */ - 'minResumePct'?: number; - /** - * Gets or sets the maximum percentage of an item that can be played while still saving playstate. If this percentage is crossed playstate will be reset to the beginning and the item will be marked watched. - */ - 'maxResumePct'?: number; - /** - * Gets or sets the minimum duration that an item must have in order to be eligible for playstate updates.. - */ - 'minResumeDurationSeconds'?: number; - /** - * Gets or sets the minimum minutes of a book that must be played in order for playstate to be updated. - */ - 'minAudiobookResume'?: number; - /** - * Gets or sets the remaining minutes of a book that can be played while still saving playstate. If this percentage is crossed playstate will be reset to the beginning and the item will be marked watched. - */ - 'maxAudiobookResume'?: number; - /** - * Gets or sets the delay in seconds that we will wait after a file system change to try and discover what has been added/removed Some delay is necessary with some items because their creation is not atomic. It involves the creation of several different directories and files. - */ - 'libraryMonitorDelay'?: number; - 'imageSavingConvention'?: ImageSavingConvention; - 'metadataOptions'?: Array; - 'skipDeserializationForBasicTypes'?: boolean; - 'serverName'?: string; - 'uICulture'?: string; - 'saveMetadataHidden'?: boolean; - 'contentTypes'?: Array; - 'remoteClientBitrateLimit'?: number; - 'enableFolderView'?: boolean; - 'enableGroupingIntoCollections'?: boolean; - 'displaySpecialsWithinSeasons'?: boolean; - 'codecsUsed'?: Array; - 'pluginRepositories'?: Array; - 'enableExternalContentInSuggestions'?: boolean; - 'imageExtractionTimeoutMs'?: number; - 'pathSubstitutions'?: Array; - /** - * Gets or sets a value indicating whether slow server responses should be logged as a warning. - */ - 'enableSlowResponseWarning'?: boolean; - /** - * Gets or sets the threshold for the slow response time warning in ms. - */ - 'slowResponseThresholdMs'?: number; - /** - * Gets or sets the cors hosts. - */ - 'corsHosts'?: Array; - /** - * Gets or sets the number of days we should retain activity logs. - */ - 'activityLogRetentionDays'?: number | null; - /** - * Gets or sets the how the library scan fans out. - */ - 'libraryScanFanoutConcurrency'?: number; - /** - * Gets or sets the how many metadata refreshes can run concurrently. - */ - 'libraryMetadataRefreshConcurrency'?: number; - /** - * Gets or sets a value indicating whether older plugins should automatically be deleted from the plugin folder. - */ - 'removeOldPlugins'?: boolean; - /** - * Gets or sets a value indicating whether clients should be allowed to upload logs. - */ - 'allowClientLogUpload'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "logFileRetentionDays", - "baseName": "LogFileRetentionDays", - "type": "number" - }, - { - "name": "isStartupWizardCompleted", - "baseName": "IsStartupWizardCompleted", - "type": "boolean" - }, - { - "name": "cachePath", - "baseName": "CachePath", - "type": "string" - }, - { - "name": "previousVersion", - "baseName": "PreviousVersion", - "type": "string" - }, - { - "name": "previousVersionStr", - "baseName": "PreviousVersionStr", - "type": "string" - }, - { - "name": "enableMetrics", - "baseName": "EnableMetrics", - "type": "boolean" - }, - { - "name": "enableNormalizedItemByNameIds", - "baseName": "EnableNormalizedItemByNameIds", - "type": "boolean" - }, - { - "name": "isPortAuthorized", - "baseName": "IsPortAuthorized", - "type": "boolean" - }, - { - "name": "quickConnectAvailable", - "baseName": "QuickConnectAvailable", - "type": "boolean" - }, - { - "name": "enableCaseSensitiveItemIds", - "baseName": "EnableCaseSensitiveItemIds", - "type": "boolean" - }, - { - "name": "disableLiveTvChannelUserDataName", - "baseName": "DisableLiveTvChannelUserDataName", - "type": "boolean" - }, - { - "name": "metadataPath", - "baseName": "MetadataPath", - "type": "string" - }, - { - "name": "metadataNetworkPath", - "baseName": "MetadataNetworkPath", - "type": "string" - }, - { - "name": "preferredMetadataLanguage", - "baseName": "PreferredMetadataLanguage", - "type": "string" - }, - { - "name": "metadataCountryCode", - "baseName": "MetadataCountryCode", - "type": "string" - }, - { - "name": "sortReplaceCharacters", - "baseName": "SortReplaceCharacters", - "type": "Array" - }, - { - "name": "sortRemoveCharacters", - "baseName": "SortRemoveCharacters", - "type": "Array" - }, - { - "name": "sortRemoveWords", - "baseName": "SortRemoveWords", - "type": "Array" - }, - { - "name": "minResumePct", - "baseName": "MinResumePct", - "type": "number" - }, - { - "name": "maxResumePct", - "baseName": "MaxResumePct", - "type": "number" - }, - { - "name": "minResumeDurationSeconds", - "baseName": "MinResumeDurationSeconds", - "type": "number" - }, - { - "name": "minAudiobookResume", - "baseName": "MinAudiobookResume", - "type": "number" - }, - { - "name": "maxAudiobookResume", - "baseName": "MaxAudiobookResume", - "type": "number" - }, - { - "name": "libraryMonitorDelay", - "baseName": "LibraryMonitorDelay", - "type": "number" - }, - { - "name": "imageSavingConvention", - "baseName": "ImageSavingConvention", - "type": "ImageSavingConvention" - }, - { - "name": "metadataOptions", - "baseName": "MetadataOptions", - "type": "Array" - }, - { - "name": "skipDeserializationForBasicTypes", - "baseName": "SkipDeserializationForBasicTypes", - "type": "boolean" - }, - { - "name": "serverName", - "baseName": "ServerName", - "type": "string" - }, - { - "name": "uICulture", - "baseName": "UICulture", - "type": "string" - }, - { - "name": "saveMetadataHidden", - "baseName": "SaveMetadataHidden", - "type": "boolean" - }, - { - "name": "contentTypes", - "baseName": "ContentTypes", - "type": "Array" - }, - { - "name": "remoteClientBitrateLimit", - "baseName": "RemoteClientBitrateLimit", - "type": "number" - }, - { - "name": "enableFolderView", - "baseName": "EnableFolderView", - "type": "boolean" - }, - { - "name": "enableGroupingIntoCollections", - "baseName": "EnableGroupingIntoCollections", - "type": "boolean" - }, - { - "name": "displaySpecialsWithinSeasons", - "baseName": "DisplaySpecialsWithinSeasons", - "type": "boolean" - }, - { - "name": "codecsUsed", - "baseName": "CodecsUsed", - "type": "Array" - }, - { - "name": "pluginRepositories", - "baseName": "PluginRepositories", - "type": "Array" - }, - { - "name": "enableExternalContentInSuggestions", - "baseName": "EnableExternalContentInSuggestions", - "type": "boolean" - }, - { - "name": "imageExtractionTimeoutMs", - "baseName": "ImageExtractionTimeoutMs", - "type": "number" - }, - { - "name": "pathSubstitutions", - "baseName": "PathSubstitutions", - "type": "Array" - }, - { - "name": "enableSlowResponseWarning", - "baseName": "EnableSlowResponseWarning", - "type": "boolean" - }, - { - "name": "slowResponseThresholdMs", - "baseName": "SlowResponseThresholdMs", - "type": "number" - }, - { - "name": "corsHosts", - "baseName": "CorsHosts", - "type": "Array" - }, - { - "name": "activityLogRetentionDays", - "baseName": "ActivityLogRetentionDays", - "type": "number" - }, - { - "name": "libraryScanFanoutConcurrency", - "baseName": "LibraryScanFanoutConcurrency", - "type": "number" - }, - { - "name": "libraryMetadataRefreshConcurrency", - "baseName": "LibraryMetadataRefreshConcurrency", - "type": "number" - }, - { - "name": "removeOldPlugins", - "baseName": "RemoveOldPlugins", - "type": "boolean" - }, - { - "name": "allowClientLogUpload", - "baseName": "AllowClientLogUpload", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return UpdateConfigurationRequest.attributeTypeMap; - } -} - -export namespace UpdateConfigurationRequest { -} diff --git a/jellyfin/model/updateDeviceOptionsRequest.ts b/jellyfin/model/updateDeviceOptionsRequest.ts deleted file mode 100644 index a6b1710..0000000 --- a/jellyfin/model/updateDeviceOptionsRequest.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* A dto representing custom options for a device. -*/ -export class UpdateDeviceOptionsRequest { - /** - * Gets or sets the id. - */ - 'id'?: number; - /** - * Gets or sets the device id. - */ - 'deviceId'?: string | null; - /** - * Gets or sets the custom name. - */ - 'customName'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "id", - "baseName": "Id", - "type": "number" - }, - { - "name": "deviceId", - "baseName": "DeviceId", - "type": "string" - }, - { - "name": "customName", - "baseName": "CustomName", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return UpdateDeviceOptionsRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/updateDisplayPreferencesRequest.ts b/jellyfin/model/updateDisplayPreferencesRequest.ts deleted file mode 100644 index cb500da..0000000 --- a/jellyfin/model/updateDisplayPreferencesRequest.ts +++ /dev/null @@ -1,152 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { ScrollDirection } from './scrollDirection'; -import { SortOrder } from './sortOrder'; - -/** -* Defines the display preferences for any item that supports them (usually Folders). -*/ -export class UpdateDisplayPreferencesRequest { - /** - * Gets or sets the user id. - */ - 'id'?: string | null; - /** - * Gets or sets the type of the view. - */ - 'viewType'?: string | null; - /** - * Gets or sets the sort by. - */ - 'sortBy'?: string | null; - /** - * Gets or sets the index by. - */ - 'indexBy'?: string | null; - /** - * Gets or sets a value indicating whether [remember indexing]. - */ - 'rememberIndexing'?: boolean; - /** - * Gets or sets the height of the primary image. - */ - 'primaryImageHeight'?: number; - /** - * Gets or sets the width of the primary image. - */ - 'primaryImageWidth'?: number; - /** - * Gets or sets the custom prefs. - */ - 'customPrefs'?: { [key: string]: string; }; - 'scrollDirection'?: ScrollDirection; - /** - * Gets or sets a value indicating whether to show backdrops on this item. - */ - 'showBackdrop'?: boolean; - /** - * Gets or sets a value indicating whether [remember sorting]. - */ - 'rememberSorting'?: boolean; - 'sortOrder'?: SortOrder; - /** - * Gets or sets a value indicating whether [show sidebar]. - */ - 'showSidebar'?: boolean; - /** - * Gets or sets the client. - */ - 'client'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "viewType", - "baseName": "ViewType", - "type": "string" - }, - { - "name": "sortBy", - "baseName": "SortBy", - "type": "string" - }, - { - "name": "indexBy", - "baseName": "IndexBy", - "type": "string" - }, - { - "name": "rememberIndexing", - "baseName": "RememberIndexing", - "type": "boolean" - }, - { - "name": "primaryImageHeight", - "baseName": "PrimaryImageHeight", - "type": "number" - }, - { - "name": "primaryImageWidth", - "baseName": "PrimaryImageWidth", - "type": "number" - }, - { - "name": "customPrefs", - "baseName": "CustomPrefs", - "type": "{ [key: string]: string; }" - }, - { - "name": "scrollDirection", - "baseName": "ScrollDirection", - "type": "ScrollDirection" - }, - { - "name": "showBackdrop", - "baseName": "ShowBackdrop", - "type": "boolean" - }, - { - "name": "rememberSorting", - "baseName": "RememberSorting", - "type": "boolean" - }, - { - "name": "sortOrder", - "baseName": "SortOrder", - "type": "SortOrder" - }, - { - "name": "showSidebar", - "baseName": "ShowSidebar", - "type": "boolean" - }, - { - "name": "client", - "baseName": "Client", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return UpdateDisplayPreferencesRequest.attributeTypeMap; - } -} - -export namespace UpdateDisplayPreferencesRequest { -} diff --git a/jellyfin/model/updateInitialConfigurationRequest.ts b/jellyfin/model/updateInitialConfigurationRequest.ts deleted file mode 100644 index 987a7a8..0000000 --- a/jellyfin/model/updateInitialConfigurationRequest.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* The startup configuration DTO. -*/ -export class UpdateInitialConfigurationRequest { - /** - * Gets or sets UI language culture. - */ - 'uICulture'?: string | null; - /** - * Gets or sets the metadata country code. - */ - 'metadataCountryCode'?: string | null; - /** - * Gets or sets the preferred language for the metadata. - */ - 'preferredMetadataLanguage'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "uICulture", - "baseName": "UICulture", - "type": "string" - }, - { - "name": "metadataCountryCode", - "baseName": "MetadataCountryCode", - "type": "string" - }, - { - "name": "preferredMetadataLanguage", - "baseName": "PreferredMetadataLanguage", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return UpdateInitialConfigurationRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/updateItemRequest.ts b/jellyfin/model/updateItemRequest.ts deleted file mode 100644 index d03413d..0000000 --- a/jellyfin/model/updateItemRequest.ts +++ /dev/null @@ -1,1272 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { BaseItemDtoCurrentProgram } from './baseItemDtoCurrentProgram'; -import { BaseItemDtoImageBlurHashes } from './baseItemDtoImageBlurHashes'; -import { BaseItemDtoUserData } from './baseItemDtoUserData'; -import { BaseItemKind } from './baseItemKind'; -import { BaseItemPerson } from './baseItemPerson'; -import { ChannelType } from './channelType'; -import { ChapterInfo } from './chapterInfo'; -import { DayOfWeek } from './dayOfWeek'; -import { ExternalUrl } from './externalUrl'; -import { ImageOrientation } from './imageOrientation'; -import { IsoType } from './isoType'; -import { LocationType } from './locationType'; -import { MediaSourceInfo } from './mediaSourceInfo'; -import { MediaStream } from './mediaStream'; -import { MediaUrl } from './mediaUrl'; -import { MetadataField } from './metadataField'; -import { NameGuidPair } from './nameGuidPair'; -import { PlayAccess } from './playAccess'; -import { ProgramAudio } from './programAudio'; -import { Video3DFormat } from './video3DFormat'; -import { VideoType } from './videoType'; - -/** -* This is strictly used as a data transfer object from the api layer. This holds information about a BaseItem in a format that is convenient for the client. -*/ -export class UpdateItemRequest { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - 'originalTitle'?: string | null; - /** - * Gets or sets the server identifier. - */ - 'serverId'?: string | null; - /** - * Gets or sets the id. - */ - 'id'?: string; - /** - * Gets or sets the etag. - */ - 'etag'?: string | null; - /** - * Gets or sets the type of the source. - */ - 'sourceType'?: string | null; - /** - * Gets or sets the playlist item identifier. - */ - 'playlistItemId'?: string | null; - /** - * Gets or sets the date created. - */ - 'dateCreated'?: Date | null; - 'dateLastMediaAdded'?: Date | null; - 'extraType'?: string | null; - 'airsBeforeSeasonNumber'?: number | null; - 'airsAfterSeasonNumber'?: number | null; - 'airsBeforeEpisodeNumber'?: number | null; - 'canDelete'?: boolean | null; - 'canDownload'?: boolean | null; - 'hasSubtitles'?: boolean | null; - 'preferredMetadataLanguage'?: string | null; - 'preferredMetadataCountryCode'?: string | null; - /** - * Gets or sets a value indicating whether [supports synchronize]. - */ - 'supportsSync'?: boolean | null; - 'container'?: string | null; - /** - * Gets or sets the name of the sort. - */ - 'sortName'?: string | null; - 'forcedSortName'?: string | null; - 'video3DFormat'?: Video3DFormat | null; - /** - * Gets or sets the premiere date. - */ - 'premiereDate'?: Date | null; - /** - * Gets or sets the external urls. - */ - 'externalUrls'?: Array | null; - /** - * Gets or sets the media versions. - */ - 'mediaSources'?: Array | null; - /** - * Gets or sets the critic rating. - */ - 'criticRating'?: number | null; - 'productionLocations'?: Array | null; - /** - * Gets or sets the path. - */ - 'path'?: string | null; - 'enableMediaSourceDisplay'?: boolean | null; - /** - * Gets or sets the official rating. - */ - 'officialRating'?: string | null; - /** - * Gets or sets the custom rating. - */ - 'customRating'?: string | null; - /** - * Gets or sets the channel identifier. - */ - 'channelId'?: string | null; - 'channelName'?: string | null; - /** - * Gets or sets the overview. - */ - 'overview'?: string | null; - /** - * Gets or sets the taglines. - */ - 'taglines'?: Array | null; - /** - * Gets or sets the genres. - */ - 'genres'?: Array | null; - /** - * Gets or sets the community rating. - */ - 'communityRating'?: number | null; - /** - * Gets or sets the cumulative run time ticks. - */ - 'cumulativeRunTimeTicks'?: number | null; - /** - * Gets or sets the run time ticks. - */ - 'runTimeTicks'?: number | null; - 'playAccess'?: PlayAccess | null; - /** - * Gets or sets the aspect ratio. - */ - 'aspectRatio'?: string | null; - /** - * Gets or sets the production year. - */ - 'productionYear'?: number | null; - /** - * Gets or sets a value indicating whether this instance is place holder. - */ - 'isPlaceHolder'?: boolean | null; - /** - * Gets or sets the number. - */ - 'number'?: string | null; - 'channelNumber'?: string | null; - /** - * Gets or sets the index number. - */ - 'indexNumber'?: number | null; - /** - * Gets or sets the index number end. - */ - 'indexNumberEnd'?: number | null; - /** - * Gets or sets the parent index number. - */ - 'parentIndexNumber'?: number | null; - /** - * Gets or sets the trailer urls. - */ - 'remoteTrailers'?: Array | null; - /** - * Gets or sets the provider ids. - */ - 'providerIds'?: { [key: string]: string; } | null; - /** - * Gets or sets a value indicating whether this instance is HD. - */ - 'isHD'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is folder. - */ - 'isFolder'?: boolean | null; - /** - * Gets or sets the parent id. - */ - 'parentId'?: string | null; - 'type'?: BaseItemKind; - /** - * Gets or sets the people. - */ - 'people'?: Array | null; - /** - * Gets or sets the studios. - */ - 'studios'?: Array | null; - 'genreItems'?: Array | null; - /** - * Gets or sets wether the item has a logo, this will hold the Id of the Parent that has one. - */ - 'parentLogoItemId'?: string | null; - /** - * Gets or sets wether the item has any backdrops, this will hold the Id of the Parent that has one. - */ - 'parentBackdropItemId'?: string | null; - /** - * Gets or sets the parent backdrop image tags. - */ - 'parentBackdropImageTags'?: Array | null; - /** - * Gets or sets the local trailer count. - */ - 'localTrailerCount'?: number | null; - 'userData'?: BaseItemDtoUserData | null; - /** - * Gets or sets the recursive item count. - */ - 'recursiveItemCount'?: number | null; - /** - * Gets or sets the child count. - */ - 'childCount'?: number | null; - /** - * Gets or sets the name of the series. - */ - 'seriesName'?: string | null; - /** - * Gets or sets the series id. - */ - 'seriesId'?: string | null; - /** - * Gets or sets the season identifier. - */ - 'seasonId'?: string | null; - /** - * Gets or sets the special feature count. - */ - 'specialFeatureCount'?: number | null; - /** - * Gets or sets the display preferences id. - */ - 'displayPreferencesId'?: string | null; - /** - * Gets or sets the status. - */ - 'status'?: string | null; - /** - * Gets or sets the air time. - */ - 'airTime'?: string | null; - /** - * Gets or sets the air days. - */ - 'airDays'?: Array | null; - /** - * Gets or sets the tags. - */ - 'tags'?: Array | null; - /** - * Gets or sets the primary image aspect ratio, after image enhancements. - */ - 'primaryImageAspectRatio'?: number | null; - /** - * Gets or sets the artists. - */ - 'artists'?: Array | null; - /** - * Gets or sets the artist items. - */ - 'artistItems'?: Array | null; - /** - * Gets or sets the album. - */ - 'album'?: string | null; - /** - * Gets or sets the type of the collection. - */ - 'collectionType'?: string | null; - /** - * Gets or sets the display order. - */ - 'displayOrder'?: string | null; - /** - * Gets or sets the album id. - */ - 'albumId'?: string | null; - /** - * Gets or sets the album image tag. - */ - 'albumPrimaryImageTag'?: string | null; - /** - * Gets or sets the series primary image tag. - */ - 'seriesPrimaryImageTag'?: string | null; - /** - * Gets or sets the album artist. - */ - 'albumArtist'?: string | null; - /** - * Gets or sets the album artists. - */ - 'albumArtists'?: Array | null; - /** - * Gets or sets the name of the season. - */ - 'seasonName'?: string | null; - /** - * Gets or sets the media streams. - */ - 'mediaStreams'?: Array | null; - 'videoType'?: VideoType | null; - /** - * Gets or sets the part count. - */ - 'partCount'?: number | null; - 'mediaSourceCount'?: number | null; - /** - * Gets or sets the image tags. - */ - 'imageTags'?: { [key: string]: string; } | null; - /** - * Gets or sets the backdrop image tags. - */ - 'backdropImageTags'?: Array | null; - /** - * Gets or sets the screenshot image tags. - */ - 'screenshotImageTags'?: Array | null; - /** - * Gets or sets the parent logo image tag. - */ - 'parentLogoImageTag'?: string | null; - /** - * Gets or sets wether the item has fan art, this will hold the Id of the Parent that has one. - */ - 'parentArtItemId'?: string | null; - /** - * Gets or sets the parent art image tag. - */ - 'parentArtImageTag'?: string | null; - /** - * Gets or sets the series thumb image tag. - */ - 'seriesThumbImageTag'?: string | null; - 'imageBlurHashes'?: BaseItemDtoImageBlurHashes | null; - /** - * Gets or sets the series studio. - */ - 'seriesStudio'?: string | null; - /** - * Gets or sets the parent thumb item id. - */ - 'parentThumbItemId'?: string | null; - /** - * Gets or sets the parent thumb image tag. - */ - 'parentThumbImageTag'?: string | null; - /** - * Gets or sets the parent primary image item identifier. - */ - 'parentPrimaryImageItemId'?: string | null; - /** - * Gets or sets the parent primary image tag. - */ - 'parentPrimaryImageTag'?: string | null; - /** - * Gets or sets the chapters. - */ - 'chapters'?: Array | null; - 'locationType'?: LocationType | null; - 'isoType'?: IsoType | null; - /** - * Gets or sets the type of the media. - */ - 'mediaType'?: string | null; - /** - * Gets or sets the end date. - */ - 'endDate'?: Date | null; - /** - * Gets or sets the locked fields. - */ - 'lockedFields'?: Array | null; - /** - * Gets or sets the trailer count. - */ - 'trailerCount'?: number | null; - /** - * Gets or sets the movie count. - */ - 'movieCount'?: number | null; - /** - * Gets or sets the series count. - */ - 'seriesCount'?: number | null; - 'programCount'?: number | null; - /** - * Gets or sets the episode count. - */ - 'episodeCount'?: number | null; - /** - * Gets or sets the song count. - */ - 'songCount'?: number | null; - /** - * Gets or sets the album count. - */ - 'albumCount'?: number | null; - 'artistCount'?: number | null; - /** - * Gets or sets the music video count. - */ - 'musicVideoCount'?: number | null; - /** - * Gets or sets a value indicating whether [enable internet providers]. - */ - 'lockData'?: boolean | null; - 'width'?: number | null; - 'height'?: number | null; - 'cameraMake'?: string | null; - 'cameraModel'?: string | null; - 'software'?: string | null; - 'exposureTime'?: number | null; - 'focalLength'?: number | null; - 'imageOrientation'?: ImageOrientation | null; - 'aperture'?: number | null; - 'shutterSpeed'?: number | null; - 'latitude'?: number | null; - 'longitude'?: number | null; - 'altitude'?: number | null; - 'isoSpeedRating'?: number | null; - /** - * Gets or sets the series timer identifier. - */ - 'seriesTimerId'?: string | null; - /** - * Gets or sets the program identifier. - */ - 'programId'?: string | null; - /** - * Gets or sets the channel primary image tag. - */ - 'channelPrimaryImageTag'?: string | null; - /** - * Gets or sets the start date of the recording, in UTC. - */ - 'startDate'?: Date | null; - /** - * Gets or sets the completion percentage. - */ - 'completionPercentage'?: number | null; - /** - * Gets or sets a value indicating whether this instance is repeat. - */ - 'isRepeat'?: boolean | null; - /** - * Gets or sets the episode title. - */ - 'episodeTitle'?: string | null; - 'channelType'?: ChannelType | null; - 'audio'?: ProgramAudio | null; - /** - * Gets or sets a value indicating whether this instance is movie. - */ - 'isMovie'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is sports. - */ - 'isSports'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is series. - */ - 'isSeries'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is live. - */ - 'isLive'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is news. - */ - 'isNews'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is kids. - */ - 'isKids'?: boolean | null; - /** - * Gets or sets a value indicating whether this instance is premiere. - */ - 'isPremiere'?: boolean | null; - /** - * Gets or sets the timer identifier. - */ - 'timerId'?: string | null; - 'currentProgram'?: BaseItemDtoCurrentProgram | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "originalTitle", - "baseName": "OriginalTitle", - "type": "string" - }, - { - "name": "serverId", - "baseName": "ServerId", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "etag", - "baseName": "Etag", - "type": "string" - }, - { - "name": "sourceType", - "baseName": "SourceType", - "type": "string" - }, - { - "name": "playlistItemId", - "baseName": "PlaylistItemId", - "type": "string" - }, - { - "name": "dateCreated", - "baseName": "DateCreated", - "type": "Date" - }, - { - "name": "dateLastMediaAdded", - "baseName": "DateLastMediaAdded", - "type": "Date" - }, - { - "name": "extraType", - "baseName": "ExtraType", - "type": "string" - }, - { - "name": "airsBeforeSeasonNumber", - "baseName": "AirsBeforeSeasonNumber", - "type": "number" - }, - { - "name": "airsAfterSeasonNumber", - "baseName": "AirsAfterSeasonNumber", - "type": "number" - }, - { - "name": "airsBeforeEpisodeNumber", - "baseName": "AirsBeforeEpisodeNumber", - "type": "number" - }, - { - "name": "canDelete", - "baseName": "CanDelete", - "type": "boolean" - }, - { - "name": "canDownload", - "baseName": "CanDownload", - "type": "boolean" - }, - { - "name": "hasSubtitles", - "baseName": "HasSubtitles", - "type": "boolean" - }, - { - "name": "preferredMetadataLanguage", - "baseName": "PreferredMetadataLanguage", - "type": "string" - }, - { - "name": "preferredMetadataCountryCode", - "baseName": "PreferredMetadataCountryCode", - "type": "string" - }, - { - "name": "supportsSync", - "baseName": "SupportsSync", - "type": "boolean" - }, - { - "name": "container", - "baseName": "Container", - "type": "string" - }, - { - "name": "sortName", - "baseName": "SortName", - "type": "string" - }, - { - "name": "forcedSortName", - "baseName": "ForcedSortName", - "type": "string" - }, - { - "name": "video3DFormat", - "baseName": "Video3DFormat", - "type": "Video3DFormat" - }, - { - "name": "premiereDate", - "baseName": "PremiereDate", - "type": "Date" - }, - { - "name": "externalUrls", - "baseName": "ExternalUrls", - "type": "Array" - }, - { - "name": "mediaSources", - "baseName": "MediaSources", - "type": "Array" - }, - { - "name": "criticRating", - "baseName": "CriticRating", - "type": "number" - }, - { - "name": "productionLocations", - "baseName": "ProductionLocations", - "type": "Array" - }, - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "enableMediaSourceDisplay", - "baseName": "EnableMediaSourceDisplay", - "type": "boolean" - }, - { - "name": "officialRating", - "baseName": "OfficialRating", - "type": "string" - }, - { - "name": "customRating", - "baseName": "CustomRating", - "type": "string" - }, - { - "name": "channelId", - "baseName": "ChannelId", - "type": "string" - }, - { - "name": "channelName", - "baseName": "ChannelName", - "type": "string" - }, - { - "name": "overview", - "baseName": "Overview", - "type": "string" - }, - { - "name": "taglines", - "baseName": "Taglines", - "type": "Array" - }, - { - "name": "genres", - "baseName": "Genres", - "type": "Array" - }, - { - "name": "communityRating", - "baseName": "CommunityRating", - "type": "number" - }, - { - "name": "cumulativeRunTimeTicks", - "baseName": "CumulativeRunTimeTicks", - "type": "number" - }, - { - "name": "runTimeTicks", - "baseName": "RunTimeTicks", - "type": "number" - }, - { - "name": "playAccess", - "baseName": "PlayAccess", - "type": "PlayAccess" - }, - { - "name": "aspectRatio", - "baseName": "AspectRatio", - "type": "string" - }, - { - "name": "productionYear", - "baseName": "ProductionYear", - "type": "number" - }, - { - "name": "isPlaceHolder", - "baseName": "IsPlaceHolder", - "type": "boolean" - }, - { - "name": "number", - "baseName": "Number", - "type": "string" - }, - { - "name": "channelNumber", - "baseName": "ChannelNumber", - "type": "string" - }, - { - "name": "indexNumber", - "baseName": "IndexNumber", - "type": "number" - }, - { - "name": "indexNumberEnd", - "baseName": "IndexNumberEnd", - "type": "number" - }, - { - "name": "parentIndexNumber", - "baseName": "ParentIndexNumber", - "type": "number" - }, - { - "name": "remoteTrailers", - "baseName": "RemoteTrailers", - "type": "Array" - }, - { - "name": "providerIds", - "baseName": "ProviderIds", - "type": "{ [key: string]: string; }" - }, - { - "name": "isHD", - "baseName": "IsHD", - "type": "boolean" - }, - { - "name": "isFolder", - "baseName": "IsFolder", - "type": "boolean" - }, - { - "name": "parentId", - "baseName": "ParentId", - "type": "string" - }, - { - "name": "type", - "baseName": "Type", - "type": "BaseItemKind" - }, - { - "name": "people", - "baseName": "People", - "type": "Array" - }, - { - "name": "studios", - "baseName": "Studios", - "type": "Array" - }, - { - "name": "genreItems", - "baseName": "GenreItems", - "type": "Array" - }, - { - "name": "parentLogoItemId", - "baseName": "ParentLogoItemId", - "type": "string" - }, - { - "name": "parentBackdropItemId", - "baseName": "ParentBackdropItemId", - "type": "string" - }, - { - "name": "parentBackdropImageTags", - "baseName": "ParentBackdropImageTags", - "type": "Array" - }, - { - "name": "localTrailerCount", - "baseName": "LocalTrailerCount", - "type": "number" - }, - { - "name": "userData", - "baseName": "UserData", - "type": "BaseItemDtoUserData" - }, - { - "name": "recursiveItemCount", - "baseName": "RecursiveItemCount", - "type": "number" - }, - { - "name": "childCount", - "baseName": "ChildCount", - "type": "number" - }, - { - "name": "seriesName", - "baseName": "SeriesName", - "type": "string" - }, - { - "name": "seriesId", - "baseName": "SeriesId", - "type": "string" - }, - { - "name": "seasonId", - "baseName": "SeasonId", - "type": "string" - }, - { - "name": "specialFeatureCount", - "baseName": "SpecialFeatureCount", - "type": "number" - }, - { - "name": "displayPreferencesId", - "baseName": "DisplayPreferencesId", - "type": "string" - }, - { - "name": "status", - "baseName": "Status", - "type": "string" - }, - { - "name": "airTime", - "baseName": "AirTime", - "type": "string" - }, - { - "name": "airDays", - "baseName": "AirDays", - "type": "Array" - }, - { - "name": "tags", - "baseName": "Tags", - "type": "Array" - }, - { - "name": "primaryImageAspectRatio", - "baseName": "PrimaryImageAspectRatio", - "type": "number" - }, - { - "name": "artists", - "baseName": "Artists", - "type": "Array" - }, - { - "name": "artistItems", - "baseName": "ArtistItems", - "type": "Array" - }, - { - "name": "album", - "baseName": "Album", - "type": "string" - }, - { - "name": "collectionType", - "baseName": "CollectionType", - "type": "string" - }, - { - "name": "displayOrder", - "baseName": "DisplayOrder", - "type": "string" - }, - { - "name": "albumId", - "baseName": "AlbumId", - "type": "string" - }, - { - "name": "albumPrimaryImageTag", - "baseName": "AlbumPrimaryImageTag", - "type": "string" - }, - { - "name": "seriesPrimaryImageTag", - "baseName": "SeriesPrimaryImageTag", - "type": "string" - }, - { - "name": "albumArtist", - "baseName": "AlbumArtist", - "type": "string" - }, - { - "name": "albumArtists", - "baseName": "AlbumArtists", - "type": "Array" - }, - { - "name": "seasonName", - "baseName": "SeasonName", - "type": "string" - }, - { - "name": "mediaStreams", - "baseName": "MediaStreams", - "type": "Array" - }, - { - "name": "videoType", - "baseName": "VideoType", - "type": "VideoType" - }, - { - "name": "partCount", - "baseName": "PartCount", - "type": "number" - }, - { - "name": "mediaSourceCount", - "baseName": "MediaSourceCount", - "type": "number" - }, - { - "name": "imageTags", - "baseName": "ImageTags", - "type": "{ [key: string]: string; }" - }, - { - "name": "backdropImageTags", - "baseName": "BackdropImageTags", - "type": "Array" - }, - { - "name": "screenshotImageTags", - "baseName": "ScreenshotImageTags", - "type": "Array" - }, - { - "name": "parentLogoImageTag", - "baseName": "ParentLogoImageTag", - "type": "string" - }, - { - "name": "parentArtItemId", - "baseName": "ParentArtItemId", - "type": "string" - }, - { - "name": "parentArtImageTag", - "baseName": "ParentArtImageTag", - "type": "string" - }, - { - "name": "seriesThumbImageTag", - "baseName": "SeriesThumbImageTag", - "type": "string" - }, - { - "name": "imageBlurHashes", - "baseName": "ImageBlurHashes", - "type": "BaseItemDtoImageBlurHashes" - }, - { - "name": "seriesStudio", - "baseName": "SeriesStudio", - "type": "string" - }, - { - "name": "parentThumbItemId", - "baseName": "ParentThumbItemId", - "type": "string" - }, - { - "name": "parentThumbImageTag", - "baseName": "ParentThumbImageTag", - "type": "string" - }, - { - "name": "parentPrimaryImageItemId", - "baseName": "ParentPrimaryImageItemId", - "type": "string" - }, - { - "name": "parentPrimaryImageTag", - "baseName": "ParentPrimaryImageTag", - "type": "string" - }, - { - "name": "chapters", - "baseName": "Chapters", - "type": "Array" - }, - { - "name": "locationType", - "baseName": "LocationType", - "type": "LocationType" - }, - { - "name": "isoType", - "baseName": "IsoType", - "type": "IsoType" - }, - { - "name": "mediaType", - "baseName": "MediaType", - "type": "string" - }, - { - "name": "endDate", - "baseName": "EndDate", - "type": "Date" - }, - { - "name": "lockedFields", - "baseName": "LockedFields", - "type": "Array" - }, - { - "name": "trailerCount", - "baseName": "TrailerCount", - "type": "number" - }, - { - "name": "movieCount", - "baseName": "MovieCount", - "type": "number" - }, - { - "name": "seriesCount", - "baseName": "SeriesCount", - "type": "number" - }, - { - "name": "programCount", - "baseName": "ProgramCount", - "type": "number" - }, - { - "name": "episodeCount", - "baseName": "EpisodeCount", - "type": "number" - }, - { - "name": "songCount", - "baseName": "SongCount", - "type": "number" - }, - { - "name": "albumCount", - "baseName": "AlbumCount", - "type": "number" - }, - { - "name": "artistCount", - "baseName": "ArtistCount", - "type": "number" - }, - { - "name": "musicVideoCount", - "baseName": "MusicVideoCount", - "type": "number" - }, - { - "name": "lockData", - "baseName": "LockData", - "type": "boolean" - }, - { - "name": "width", - "baseName": "Width", - "type": "number" - }, - { - "name": "height", - "baseName": "Height", - "type": "number" - }, - { - "name": "cameraMake", - "baseName": "CameraMake", - "type": "string" - }, - { - "name": "cameraModel", - "baseName": "CameraModel", - "type": "string" - }, - { - "name": "software", - "baseName": "Software", - "type": "string" - }, - { - "name": "exposureTime", - "baseName": "ExposureTime", - "type": "number" - }, - { - "name": "focalLength", - "baseName": "FocalLength", - "type": "number" - }, - { - "name": "imageOrientation", - "baseName": "ImageOrientation", - "type": "ImageOrientation" - }, - { - "name": "aperture", - "baseName": "Aperture", - "type": "number" - }, - { - "name": "shutterSpeed", - "baseName": "ShutterSpeed", - "type": "number" - }, - { - "name": "latitude", - "baseName": "Latitude", - "type": "number" - }, - { - "name": "longitude", - "baseName": "Longitude", - "type": "number" - }, - { - "name": "altitude", - "baseName": "Altitude", - "type": "number" - }, - { - "name": "isoSpeedRating", - "baseName": "IsoSpeedRating", - "type": "number" - }, - { - "name": "seriesTimerId", - "baseName": "SeriesTimerId", - "type": "string" - }, - { - "name": "programId", - "baseName": "ProgramId", - "type": "string" - }, - { - "name": "channelPrimaryImageTag", - "baseName": "ChannelPrimaryImageTag", - "type": "string" - }, - { - "name": "startDate", - "baseName": "StartDate", - "type": "Date" - }, - { - "name": "completionPercentage", - "baseName": "CompletionPercentage", - "type": "number" - }, - { - "name": "isRepeat", - "baseName": "IsRepeat", - "type": "boolean" - }, - { - "name": "episodeTitle", - "baseName": "EpisodeTitle", - "type": "string" - }, - { - "name": "channelType", - "baseName": "ChannelType", - "type": "ChannelType" - }, - { - "name": "audio", - "baseName": "Audio", - "type": "ProgramAudio" - }, - { - "name": "isMovie", - "baseName": "IsMovie", - "type": "boolean" - }, - { - "name": "isSports", - "baseName": "IsSports", - "type": "boolean" - }, - { - "name": "isSeries", - "baseName": "IsSeries", - "type": "boolean" - }, - { - "name": "isLive", - "baseName": "IsLive", - "type": "boolean" - }, - { - "name": "isNews", - "baseName": "IsNews", - "type": "boolean" - }, - { - "name": "isKids", - "baseName": "IsKids", - "type": "boolean" - }, - { - "name": "isPremiere", - "baseName": "IsPremiere", - "type": "boolean" - }, - { - "name": "timerId", - "baseName": "TimerId", - "type": "string" - }, - { - "name": "currentProgram", - "baseName": "CurrentProgram", - "type": "BaseItemDtoCurrentProgram" - } ]; - - static getAttributeTypeMap() { - return UpdateItemRequest.attributeTypeMap; - } -} - -export namespace UpdateItemRequest { -} diff --git a/jellyfin/model/updateLibraryOptionsDto.ts b/jellyfin/model/updateLibraryOptionsDto.ts deleted file mode 100644 index fabf279..0000000 --- a/jellyfin/model/updateLibraryOptionsDto.ts +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { AddVirtualFolderDtoLibraryOptions } from './addVirtualFolderDtoLibraryOptions'; - -/** -* Update library options dto. -*/ -export class UpdateLibraryOptionsDto { - /** - * Gets or sets the library item id. - */ - 'id'?: string; - 'libraryOptions'?: AddVirtualFolderDtoLibraryOptions | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "libraryOptions", - "baseName": "LibraryOptions", - "type": "AddVirtualFolderDtoLibraryOptions" - } ]; - - static getAttributeTypeMap() { - return UpdateLibraryOptionsDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/updateLibraryOptionsRequest.ts b/jellyfin/model/updateLibraryOptionsRequest.ts deleted file mode 100644 index 8a6c6c8..0000000 --- a/jellyfin/model/updateLibraryOptionsRequest.ts +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { AddVirtualFolderDtoLibraryOptions } from './addVirtualFolderDtoLibraryOptions'; - -/** -* Update library options dto. -*/ -export class UpdateLibraryOptionsRequest { - /** - * Gets or sets the library item id. - */ - 'id'?: string; - 'libraryOptions'?: AddVirtualFolderDtoLibraryOptions | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "libraryOptions", - "baseName": "LibraryOptions", - "type": "AddVirtualFolderDtoLibraryOptions" - } ]; - - static getAttributeTypeMap() { - return UpdateLibraryOptionsRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/updateMediaEncoderPathRequest.ts b/jellyfin/model/updateMediaEncoderPathRequest.ts deleted file mode 100644 index a2c30c7..0000000 --- a/jellyfin/model/updateMediaEncoderPathRequest.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Media Encoder Path Dto. -*/ -export class UpdateMediaEncoderPathRequest { - /** - * Gets or sets media encoder path. - */ - 'path'?: string; - /** - * Gets or sets media encoder path type. - */ - 'pathType'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "pathType", - "baseName": "PathType", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return UpdateMediaEncoderPathRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/updateMediaPathRequest.ts b/jellyfin/model/updateMediaPathRequest.ts deleted file mode 100644 index 12cdea6..0000000 --- a/jellyfin/model/updateMediaPathRequest.ts +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { UpdateMediaPathRequestDtoPathInfo } from './updateMediaPathRequestDtoPathInfo'; - -/** -* Update library options dto. -*/ -export class UpdateMediaPathRequest { - /** - * Gets or sets the library name. - */ - 'name': string; - 'pathInfo': UpdateMediaPathRequestDtoPathInfo; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "pathInfo", - "baseName": "PathInfo", - "type": "UpdateMediaPathRequestDtoPathInfo" - } ]; - - static getAttributeTypeMap() { - return UpdateMediaPathRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/updateMediaPathRequestDto.ts b/jellyfin/model/updateMediaPathRequestDto.ts deleted file mode 100644 index 5d78f9b..0000000 --- a/jellyfin/model/updateMediaPathRequestDto.ts +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { UpdateMediaPathRequestDtoPathInfo } from './updateMediaPathRequestDtoPathInfo'; - -/** -* Update library options dto. -*/ -export class UpdateMediaPathRequestDto { - /** - * Gets or sets the library name. - */ - 'name': string; - 'pathInfo': UpdateMediaPathRequestDtoPathInfo; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "pathInfo", - "baseName": "PathInfo", - "type": "UpdateMediaPathRequestDtoPathInfo" - } ]; - - static getAttributeTypeMap() { - return UpdateMediaPathRequestDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/updateMediaPathRequestDtoPathInfo.ts b/jellyfin/model/updateMediaPathRequestDtoPathInfo.ts deleted file mode 100644 index fac227f..0000000 --- a/jellyfin/model/updateMediaPathRequestDtoPathInfo.ts +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Gets or sets library folder path information. -*/ -export class UpdateMediaPathRequestDtoPathInfo { - 'path'?: string; - 'networkPath'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "networkPath", - "baseName": "NetworkPath", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return UpdateMediaPathRequestDtoPathInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/updateStartupUserRequest.ts b/jellyfin/model/updateStartupUserRequest.ts deleted file mode 100644 index ef700c7..0000000 --- a/jellyfin/model/updateStartupUserRequest.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* The startup user DTO. -*/ -export class UpdateStartupUserRequest { - /** - * Gets or sets the username. - */ - 'name'?: string | null; - /** - * Gets or sets the user\'s password. - */ - 'password'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "password", - "baseName": "Password", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return UpdateStartupUserRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/updateUserConfigurationRequest.ts b/jellyfin/model/updateUserConfigurationRequest.ts deleted file mode 100644 index c1af0a0..0000000 --- a/jellyfin/model/updateUserConfigurationRequest.ts +++ /dev/null @@ -1,130 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { SubtitlePlaybackMode } from './subtitlePlaybackMode'; - -/** -* Class UserConfiguration. -*/ -export class UpdateUserConfigurationRequest { - /** - * Gets or sets the audio language preference. - */ - 'audioLanguagePreference'?: string | null; - /** - * Gets or sets a value indicating whether [play default audio track]. - */ - 'playDefaultAudioTrack'?: boolean; - /** - * Gets or sets the subtitle language preference. - */ - 'subtitleLanguagePreference'?: string | null; - 'displayMissingEpisodes'?: boolean; - 'groupedFolders'?: Array; - 'subtitleMode'?: SubtitlePlaybackMode; - 'displayCollectionsView'?: boolean; - 'enableLocalPassword'?: boolean; - 'orderedViews'?: Array; - 'latestItemsExcludes'?: Array; - 'myMediaExcludes'?: Array; - 'hidePlayedInLatest'?: boolean; - 'rememberAudioSelections'?: boolean; - 'rememberSubtitleSelections'?: boolean; - 'enableNextEpisodeAutoPlay'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "audioLanguagePreference", - "baseName": "AudioLanguagePreference", - "type": "string" - }, - { - "name": "playDefaultAudioTrack", - "baseName": "PlayDefaultAudioTrack", - "type": "boolean" - }, - { - "name": "subtitleLanguagePreference", - "baseName": "SubtitleLanguagePreference", - "type": "string" - }, - { - "name": "displayMissingEpisodes", - "baseName": "DisplayMissingEpisodes", - "type": "boolean" - }, - { - "name": "groupedFolders", - "baseName": "GroupedFolders", - "type": "Array" - }, - { - "name": "subtitleMode", - "baseName": "SubtitleMode", - "type": "SubtitlePlaybackMode" - }, - { - "name": "displayCollectionsView", - "baseName": "DisplayCollectionsView", - "type": "boolean" - }, - { - "name": "enableLocalPassword", - "baseName": "EnableLocalPassword", - "type": "boolean" - }, - { - "name": "orderedViews", - "baseName": "OrderedViews", - "type": "Array" - }, - { - "name": "latestItemsExcludes", - "baseName": "LatestItemsExcludes", - "type": "Array" - }, - { - "name": "myMediaExcludes", - "baseName": "MyMediaExcludes", - "type": "Array" - }, - { - "name": "hidePlayedInLatest", - "baseName": "HidePlayedInLatest", - "type": "boolean" - }, - { - "name": "rememberAudioSelections", - "baseName": "RememberAudioSelections", - "type": "boolean" - }, - { - "name": "rememberSubtitleSelections", - "baseName": "RememberSubtitleSelections", - "type": "boolean" - }, - { - "name": "enableNextEpisodeAutoPlay", - "baseName": "EnableNextEpisodeAutoPlay", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return UpdateUserConfigurationRequest.attributeTypeMap; - } -} - -export namespace UpdateUserConfigurationRequest { -} diff --git a/jellyfin/model/updateUserEasyPassword.ts b/jellyfin/model/updateUserEasyPassword.ts deleted file mode 100644 index 6331e23..0000000 --- a/jellyfin/model/updateUserEasyPassword.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* The update user easy password request body. -*/ -export class UpdateUserEasyPassword { - /** - * Gets or sets the new sha1-hashed password. - */ - 'newPassword'?: string | null; - /** - * Gets or sets the new password. - */ - 'newPw'?: string | null; - /** - * Gets or sets a value indicating whether to reset the password. - */ - 'resetPassword'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "newPassword", - "baseName": "NewPassword", - "type": "string" - }, - { - "name": "newPw", - "baseName": "NewPw", - "type": "string" - }, - { - "name": "resetPassword", - "baseName": "ResetPassword", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return UpdateUserEasyPassword.attributeTypeMap; - } -} - diff --git a/jellyfin/model/updateUserEasyPasswordRequest.ts b/jellyfin/model/updateUserEasyPasswordRequest.ts deleted file mode 100644 index 77349af..0000000 --- a/jellyfin/model/updateUserEasyPasswordRequest.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* The update user easy password request body. -*/ -export class UpdateUserEasyPasswordRequest { - /** - * Gets or sets the new sha1-hashed password. - */ - 'newPassword'?: string | null; - /** - * Gets or sets the new password. - */ - 'newPw'?: string | null; - /** - * Gets or sets a value indicating whether to reset the password. - */ - 'resetPassword'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "newPassword", - "baseName": "NewPassword", - "type": "string" - }, - { - "name": "newPw", - "baseName": "NewPw", - "type": "string" - }, - { - "name": "resetPassword", - "baseName": "ResetPassword", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return UpdateUserEasyPasswordRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/updateUserPassword.ts b/jellyfin/model/updateUserPassword.ts deleted file mode 100644 index 1e723a7..0000000 --- a/jellyfin/model/updateUserPassword.ts +++ /dev/null @@ -1,64 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* The update user password request body. -*/ -export class UpdateUserPassword { - /** - * Gets or sets the current sha1-hashed password. - */ - 'currentPassword'?: string | null; - /** - * Gets or sets the current plain text password. - */ - 'currentPw'?: string | null; - /** - * Gets or sets the new plain text password. - */ - 'newPw'?: string | null; - /** - * Gets or sets a value indicating whether to reset the password. - */ - 'resetPassword'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "currentPassword", - "baseName": "CurrentPassword", - "type": "string" - }, - { - "name": "currentPw", - "baseName": "CurrentPw", - "type": "string" - }, - { - "name": "newPw", - "baseName": "NewPw", - "type": "string" - }, - { - "name": "resetPassword", - "baseName": "ResetPassword", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return UpdateUserPassword.attributeTypeMap; - } -} - diff --git a/jellyfin/model/updateUserPasswordRequest.ts b/jellyfin/model/updateUserPasswordRequest.ts deleted file mode 100644 index b2f6423..0000000 --- a/jellyfin/model/updateUserPasswordRequest.ts +++ /dev/null @@ -1,64 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* The update user password request body. -*/ -export class UpdateUserPasswordRequest { - /** - * Gets or sets the current sha1-hashed password. - */ - 'currentPassword'?: string | null; - /** - * Gets or sets the current plain text password. - */ - 'currentPw'?: string | null; - /** - * Gets or sets the new plain text password. - */ - 'newPw'?: string | null; - /** - * Gets or sets a value indicating whether to reset the password. - */ - 'resetPassword'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "currentPassword", - "baseName": "CurrentPassword", - "type": "string" - }, - { - "name": "currentPw", - "baseName": "CurrentPw", - "type": "string" - }, - { - "name": "newPw", - "baseName": "NewPw", - "type": "string" - }, - { - "name": "resetPassword", - "baseName": "ResetPassword", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return UpdateUserPasswordRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/updateUserPolicyRequest.ts b/jellyfin/model/updateUserPolicyRequest.ts deleted file mode 100644 index e58d404..0000000 --- a/jellyfin/model/updateUserPolicyRequest.ts +++ /dev/null @@ -1,279 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { AccessSchedule } from './accessSchedule'; -import { SyncPlayUserAccessType } from './syncPlayUserAccessType'; -import { UnratedItem } from './unratedItem'; - -export class UpdateUserPolicyRequest { - /** - * Gets or sets a value indicating whether this instance is administrator. - */ - 'isAdministrator'?: boolean; - /** - * Gets or sets a value indicating whether this instance is hidden. - */ - 'isHidden'?: boolean; - /** - * Gets or sets a value indicating whether this instance is disabled. - */ - 'isDisabled'?: boolean; - /** - * Gets or sets the max parental rating. - */ - 'maxParentalRating'?: number | null; - 'blockedTags'?: Array | null; - 'enableUserPreferenceAccess'?: boolean; - 'accessSchedules'?: Array | null; - 'blockUnratedItems'?: Array | null; - 'enableRemoteControlOfOtherUsers'?: boolean; - 'enableSharedDeviceControl'?: boolean; - 'enableRemoteAccess'?: boolean; - 'enableLiveTvManagement'?: boolean; - 'enableLiveTvAccess'?: boolean; - 'enableMediaPlayback'?: boolean; - 'enableAudioPlaybackTranscoding'?: boolean; - 'enableVideoPlaybackTranscoding'?: boolean; - 'enablePlaybackRemuxing'?: boolean; - 'forceRemoteSourceTranscoding'?: boolean; - 'enableContentDeletion'?: boolean; - 'enableContentDeletionFromFolders'?: Array | null; - 'enableContentDownloading'?: boolean; - /** - * Gets or sets a value indicating whether [enable synchronize]. - */ - 'enableSyncTranscoding'?: boolean; - 'enableMediaConversion'?: boolean; - 'enabledDevices'?: Array | null; - 'enableAllDevices'?: boolean; - 'enabledChannels'?: Array | null; - 'enableAllChannels'?: boolean; - 'enabledFolders'?: Array | null; - 'enableAllFolders'?: boolean; - 'invalidLoginAttemptCount'?: number; - 'loginAttemptsBeforeLockout'?: number; - 'maxActiveSessions'?: number; - 'enablePublicSharing'?: boolean; - 'blockedMediaFolders'?: Array | null; - 'blockedChannels'?: Array | null; - 'remoteClientBitrateLimit'?: number; - 'authenticationProviderId'?: string | null; - 'passwordResetProviderId'?: string | null; - 'syncPlayAccess'?: SyncPlayUserAccessType; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "isAdministrator", - "baseName": "IsAdministrator", - "type": "boolean" - }, - { - "name": "isHidden", - "baseName": "IsHidden", - "type": "boolean" - }, - { - "name": "isDisabled", - "baseName": "IsDisabled", - "type": "boolean" - }, - { - "name": "maxParentalRating", - "baseName": "MaxParentalRating", - "type": "number" - }, - { - "name": "blockedTags", - "baseName": "BlockedTags", - "type": "Array" - }, - { - "name": "enableUserPreferenceAccess", - "baseName": "EnableUserPreferenceAccess", - "type": "boolean" - }, - { - "name": "accessSchedules", - "baseName": "AccessSchedules", - "type": "Array" - }, - { - "name": "blockUnratedItems", - "baseName": "BlockUnratedItems", - "type": "Array" - }, - { - "name": "enableRemoteControlOfOtherUsers", - "baseName": "EnableRemoteControlOfOtherUsers", - "type": "boolean" - }, - { - "name": "enableSharedDeviceControl", - "baseName": "EnableSharedDeviceControl", - "type": "boolean" - }, - { - "name": "enableRemoteAccess", - "baseName": "EnableRemoteAccess", - "type": "boolean" - }, - { - "name": "enableLiveTvManagement", - "baseName": "EnableLiveTvManagement", - "type": "boolean" - }, - { - "name": "enableLiveTvAccess", - "baseName": "EnableLiveTvAccess", - "type": "boolean" - }, - { - "name": "enableMediaPlayback", - "baseName": "EnableMediaPlayback", - "type": "boolean" - }, - { - "name": "enableAudioPlaybackTranscoding", - "baseName": "EnableAudioPlaybackTranscoding", - "type": "boolean" - }, - { - "name": "enableVideoPlaybackTranscoding", - "baseName": "EnableVideoPlaybackTranscoding", - "type": "boolean" - }, - { - "name": "enablePlaybackRemuxing", - "baseName": "EnablePlaybackRemuxing", - "type": "boolean" - }, - { - "name": "forceRemoteSourceTranscoding", - "baseName": "ForceRemoteSourceTranscoding", - "type": "boolean" - }, - { - "name": "enableContentDeletion", - "baseName": "EnableContentDeletion", - "type": "boolean" - }, - { - "name": "enableContentDeletionFromFolders", - "baseName": "EnableContentDeletionFromFolders", - "type": "Array" - }, - { - "name": "enableContentDownloading", - "baseName": "EnableContentDownloading", - "type": "boolean" - }, - { - "name": "enableSyncTranscoding", - "baseName": "EnableSyncTranscoding", - "type": "boolean" - }, - { - "name": "enableMediaConversion", - "baseName": "EnableMediaConversion", - "type": "boolean" - }, - { - "name": "enabledDevices", - "baseName": "EnabledDevices", - "type": "Array" - }, - { - "name": "enableAllDevices", - "baseName": "EnableAllDevices", - "type": "boolean" - }, - { - "name": "enabledChannels", - "baseName": "EnabledChannels", - "type": "Array" - }, - { - "name": "enableAllChannels", - "baseName": "EnableAllChannels", - "type": "boolean" - }, - { - "name": "enabledFolders", - "baseName": "EnabledFolders", - "type": "Array" - }, - { - "name": "enableAllFolders", - "baseName": "EnableAllFolders", - "type": "boolean" - }, - { - "name": "invalidLoginAttemptCount", - "baseName": "InvalidLoginAttemptCount", - "type": "number" - }, - { - "name": "loginAttemptsBeforeLockout", - "baseName": "LoginAttemptsBeforeLockout", - "type": "number" - }, - { - "name": "maxActiveSessions", - "baseName": "MaxActiveSessions", - "type": "number" - }, - { - "name": "enablePublicSharing", - "baseName": "EnablePublicSharing", - "type": "boolean" - }, - { - "name": "blockedMediaFolders", - "baseName": "BlockedMediaFolders", - "type": "Array" - }, - { - "name": "blockedChannels", - "baseName": "BlockedChannels", - "type": "Array" - }, - { - "name": "remoteClientBitrateLimit", - "baseName": "RemoteClientBitrateLimit", - "type": "number" - }, - { - "name": "authenticationProviderId", - "baseName": "AuthenticationProviderId", - "type": "string" - }, - { - "name": "passwordResetProviderId", - "baseName": "PasswordResetProviderId", - "type": "string" - }, - { - "name": "syncPlayAccess", - "baseName": "SyncPlayAccess", - "type": "SyncPlayUserAccessType" - } ]; - - static getAttributeTypeMap() { - return UpdateUserPolicyRequest.attributeTypeMap; - } -} - -export namespace UpdateUserPolicyRequest { -} diff --git a/jellyfin/model/updateUserRequest.ts b/jellyfin/model/updateUserRequest.ts deleted file mode 100644 index df1ad23..0000000 --- a/jellyfin/model/updateUserRequest.ts +++ /dev/null @@ -1,150 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { UserDtoConfiguration } from './userDtoConfiguration'; -import { UserDtoPolicy } from './userDtoPolicy'; - -/** -* Class UserDto. -*/ -export class UpdateUserRequest { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the server identifier. - */ - 'serverId'?: string | null; - /** - * Gets or sets the name of the server. This is not used by the server and is for client-side usage only. - */ - 'serverName'?: string | null; - /** - * Gets or sets the id. - */ - 'id'?: string; - /** - * Gets or sets the primary image tag. - */ - 'primaryImageTag'?: string | null; - /** - * Gets or sets a value indicating whether this instance has password. - */ - 'hasPassword'?: boolean; - /** - * Gets or sets a value indicating whether this instance has configured password. - */ - 'hasConfiguredPassword'?: boolean; - /** - * Gets or sets a value indicating whether this instance has configured easy password. - */ - 'hasConfiguredEasyPassword'?: boolean; - /** - * Gets or sets whether async login is enabled or not. - */ - 'enableAutoLogin'?: boolean | null; - /** - * Gets or sets the last login date. - */ - 'lastLoginDate'?: Date | null; - /** - * Gets or sets the last activity date. - */ - 'lastActivityDate'?: Date | null; - 'configuration'?: UserDtoConfiguration | null; - 'policy'?: UserDtoPolicy | null; - /** - * Gets or sets the primary image aspect ratio. - */ - 'primaryImageAspectRatio'?: number | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "serverId", - "baseName": "ServerId", - "type": "string" - }, - { - "name": "serverName", - "baseName": "ServerName", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "primaryImageTag", - "baseName": "PrimaryImageTag", - "type": "string" - }, - { - "name": "hasPassword", - "baseName": "HasPassword", - "type": "boolean" - }, - { - "name": "hasConfiguredPassword", - "baseName": "HasConfiguredPassword", - "type": "boolean" - }, - { - "name": "hasConfiguredEasyPassword", - "baseName": "HasConfiguredEasyPassword", - "type": "boolean" - }, - { - "name": "enableAutoLogin", - "baseName": "EnableAutoLogin", - "type": "boolean" - }, - { - "name": "lastLoginDate", - "baseName": "LastLoginDate", - "type": "Date" - }, - { - "name": "lastActivityDate", - "baseName": "LastActivityDate", - "type": "Date" - }, - { - "name": "configuration", - "baseName": "Configuration", - "type": "UserDtoConfiguration" - }, - { - "name": "policy", - "baseName": "Policy", - "type": "UserDtoPolicy" - }, - { - "name": "primaryImageAspectRatio", - "baseName": "PrimaryImageAspectRatio", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return UpdateUserRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/uploadSubtitleDto.ts b/jellyfin/model/uploadSubtitleDto.ts deleted file mode 100644 index e50d7ff..0000000 --- a/jellyfin/model/uploadSubtitleDto.ts +++ /dev/null @@ -1,64 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Upload subtitles dto. -*/ -export class UploadSubtitleDto { - /** - * Gets or sets the subtitle language. - */ - 'language': string; - /** - * Gets or sets the subtitle format. - */ - 'format': string; - /** - * Gets or sets a value indicating whether the subtitle is forced. - */ - 'isForced': boolean; - /** - * Gets or sets the subtitle data. - */ - 'data': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "language", - "baseName": "Language", - "type": "string" - }, - { - "name": "format", - "baseName": "Format", - "type": "string" - }, - { - "name": "isForced", - "baseName": "IsForced", - "type": "boolean" - }, - { - "name": "data", - "baseName": "Data", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return UploadSubtitleDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/uploadSubtitleRequest.ts b/jellyfin/model/uploadSubtitleRequest.ts deleted file mode 100644 index 916426c..0000000 --- a/jellyfin/model/uploadSubtitleRequest.ts +++ /dev/null @@ -1,64 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Upload subtitles dto. -*/ -export class UploadSubtitleRequest { - /** - * Gets or sets the subtitle language. - */ - 'language': string; - /** - * Gets or sets the subtitle format. - */ - 'format': string; - /** - * Gets or sets a value indicating whether the subtitle is forced. - */ - 'isForced': boolean; - /** - * Gets or sets the subtitle data. - */ - 'data': string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "language", - "baseName": "Language", - "type": "string" - }, - { - "name": "format", - "baseName": "Format", - "type": "string" - }, - { - "name": "isForced", - "baseName": "IsForced", - "type": "boolean" - }, - { - "name": "data", - "baseName": "Data", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return UploadSubtitleRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/userConfiguration.ts b/jellyfin/model/userConfiguration.ts deleted file mode 100644 index a2ab16a..0000000 --- a/jellyfin/model/userConfiguration.ts +++ /dev/null @@ -1,130 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { SubtitlePlaybackMode } from './subtitlePlaybackMode'; - -/** -* Class UserConfiguration. -*/ -export class UserConfiguration { - /** - * Gets or sets the audio language preference. - */ - 'audioLanguagePreference'?: string | null; - /** - * Gets or sets a value indicating whether [play default audio track]. - */ - 'playDefaultAudioTrack'?: boolean; - /** - * Gets or sets the subtitle language preference. - */ - 'subtitleLanguagePreference'?: string | null; - 'displayMissingEpisodes'?: boolean; - 'groupedFolders'?: Array; - 'subtitleMode'?: SubtitlePlaybackMode; - 'displayCollectionsView'?: boolean; - 'enableLocalPassword'?: boolean; - 'orderedViews'?: Array; - 'latestItemsExcludes'?: Array; - 'myMediaExcludes'?: Array; - 'hidePlayedInLatest'?: boolean; - 'rememberAudioSelections'?: boolean; - 'rememberSubtitleSelections'?: boolean; - 'enableNextEpisodeAutoPlay'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "audioLanguagePreference", - "baseName": "AudioLanguagePreference", - "type": "string" - }, - { - "name": "playDefaultAudioTrack", - "baseName": "PlayDefaultAudioTrack", - "type": "boolean" - }, - { - "name": "subtitleLanguagePreference", - "baseName": "SubtitleLanguagePreference", - "type": "string" - }, - { - "name": "displayMissingEpisodes", - "baseName": "DisplayMissingEpisodes", - "type": "boolean" - }, - { - "name": "groupedFolders", - "baseName": "GroupedFolders", - "type": "Array" - }, - { - "name": "subtitleMode", - "baseName": "SubtitleMode", - "type": "SubtitlePlaybackMode" - }, - { - "name": "displayCollectionsView", - "baseName": "DisplayCollectionsView", - "type": "boolean" - }, - { - "name": "enableLocalPassword", - "baseName": "EnableLocalPassword", - "type": "boolean" - }, - { - "name": "orderedViews", - "baseName": "OrderedViews", - "type": "Array" - }, - { - "name": "latestItemsExcludes", - "baseName": "LatestItemsExcludes", - "type": "Array" - }, - { - "name": "myMediaExcludes", - "baseName": "MyMediaExcludes", - "type": "Array" - }, - { - "name": "hidePlayedInLatest", - "baseName": "HidePlayedInLatest", - "type": "boolean" - }, - { - "name": "rememberAudioSelections", - "baseName": "RememberAudioSelections", - "type": "boolean" - }, - { - "name": "rememberSubtitleSelections", - "baseName": "RememberSubtitleSelections", - "type": "boolean" - }, - { - "name": "enableNextEpisodeAutoPlay", - "baseName": "EnableNextEpisodeAutoPlay", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return UserConfiguration.attributeTypeMap; - } -} - -export namespace UserConfiguration { -} diff --git a/jellyfin/model/userDto.ts b/jellyfin/model/userDto.ts deleted file mode 100644 index 7c52212..0000000 --- a/jellyfin/model/userDto.ts +++ /dev/null @@ -1,150 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { UserDtoConfiguration } from './userDtoConfiguration'; -import { UserDtoPolicy } from './userDtoPolicy'; - -/** -* Class UserDto. -*/ -export class UserDto { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the server identifier. - */ - 'serverId'?: string | null; - /** - * Gets or sets the name of the server. This is not used by the server and is for client-side usage only. - */ - 'serverName'?: string | null; - /** - * Gets or sets the id. - */ - 'id'?: string; - /** - * Gets or sets the primary image tag. - */ - 'primaryImageTag'?: string | null; - /** - * Gets or sets a value indicating whether this instance has password. - */ - 'hasPassword'?: boolean; - /** - * Gets or sets a value indicating whether this instance has configured password. - */ - 'hasConfiguredPassword'?: boolean; - /** - * Gets or sets a value indicating whether this instance has configured easy password. - */ - 'hasConfiguredEasyPassword'?: boolean; - /** - * Gets or sets whether async login is enabled or not. - */ - 'enableAutoLogin'?: boolean | null; - /** - * Gets or sets the last login date. - */ - 'lastLoginDate'?: Date | null; - /** - * Gets or sets the last activity date. - */ - 'lastActivityDate'?: Date | null; - 'configuration'?: UserDtoConfiguration | null; - 'policy'?: UserDtoPolicy | null; - /** - * Gets or sets the primary image aspect ratio. - */ - 'primaryImageAspectRatio'?: number | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "serverId", - "baseName": "ServerId", - "type": "string" - }, - { - "name": "serverName", - "baseName": "ServerName", - "type": "string" - }, - { - "name": "id", - "baseName": "Id", - "type": "string" - }, - { - "name": "primaryImageTag", - "baseName": "PrimaryImageTag", - "type": "string" - }, - { - "name": "hasPassword", - "baseName": "HasPassword", - "type": "boolean" - }, - { - "name": "hasConfiguredPassword", - "baseName": "HasConfiguredPassword", - "type": "boolean" - }, - { - "name": "hasConfiguredEasyPassword", - "baseName": "HasConfiguredEasyPassword", - "type": "boolean" - }, - { - "name": "enableAutoLogin", - "baseName": "EnableAutoLogin", - "type": "boolean" - }, - { - "name": "lastLoginDate", - "baseName": "LastLoginDate", - "type": "Date" - }, - { - "name": "lastActivityDate", - "baseName": "LastActivityDate", - "type": "Date" - }, - { - "name": "configuration", - "baseName": "Configuration", - "type": "UserDtoConfiguration" - }, - { - "name": "policy", - "baseName": "Policy", - "type": "UserDtoPolicy" - }, - { - "name": "primaryImageAspectRatio", - "baseName": "PrimaryImageAspectRatio", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return UserDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/userDtoConfiguration.ts b/jellyfin/model/userDtoConfiguration.ts deleted file mode 100644 index 4fe9148..0000000 --- a/jellyfin/model/userDtoConfiguration.ts +++ /dev/null @@ -1,130 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { SubtitlePlaybackMode } from './subtitlePlaybackMode'; - -/** -* Gets or sets the configuration. -*/ -export class UserDtoConfiguration { - /** - * Gets or sets the audio language preference. - */ - 'audioLanguagePreference'?: string | null; - /** - * Gets or sets a value indicating whether [play default audio track]. - */ - 'playDefaultAudioTrack'?: boolean; - /** - * Gets or sets the subtitle language preference. - */ - 'subtitleLanguagePreference'?: string | null; - 'displayMissingEpisodes'?: boolean; - 'groupedFolders'?: Array; - 'subtitleMode'?: SubtitlePlaybackMode; - 'displayCollectionsView'?: boolean; - 'enableLocalPassword'?: boolean; - 'orderedViews'?: Array; - 'latestItemsExcludes'?: Array; - 'myMediaExcludes'?: Array; - 'hidePlayedInLatest'?: boolean; - 'rememberAudioSelections'?: boolean; - 'rememberSubtitleSelections'?: boolean; - 'enableNextEpisodeAutoPlay'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "audioLanguagePreference", - "baseName": "AudioLanguagePreference", - "type": "string" - }, - { - "name": "playDefaultAudioTrack", - "baseName": "PlayDefaultAudioTrack", - "type": "boolean" - }, - { - "name": "subtitleLanguagePreference", - "baseName": "SubtitleLanguagePreference", - "type": "string" - }, - { - "name": "displayMissingEpisodes", - "baseName": "DisplayMissingEpisodes", - "type": "boolean" - }, - { - "name": "groupedFolders", - "baseName": "GroupedFolders", - "type": "Array" - }, - { - "name": "subtitleMode", - "baseName": "SubtitleMode", - "type": "SubtitlePlaybackMode" - }, - { - "name": "displayCollectionsView", - "baseName": "DisplayCollectionsView", - "type": "boolean" - }, - { - "name": "enableLocalPassword", - "baseName": "EnableLocalPassword", - "type": "boolean" - }, - { - "name": "orderedViews", - "baseName": "OrderedViews", - "type": "Array" - }, - { - "name": "latestItemsExcludes", - "baseName": "LatestItemsExcludes", - "type": "Array" - }, - { - "name": "myMediaExcludes", - "baseName": "MyMediaExcludes", - "type": "Array" - }, - { - "name": "hidePlayedInLatest", - "baseName": "HidePlayedInLatest", - "type": "boolean" - }, - { - "name": "rememberAudioSelections", - "baseName": "RememberAudioSelections", - "type": "boolean" - }, - { - "name": "rememberSubtitleSelections", - "baseName": "RememberSubtitleSelections", - "type": "boolean" - }, - { - "name": "enableNextEpisodeAutoPlay", - "baseName": "EnableNextEpisodeAutoPlay", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return UserDtoConfiguration.attributeTypeMap; - } -} - -export namespace UserDtoConfiguration { -} diff --git a/jellyfin/model/userDtoPolicy.ts b/jellyfin/model/userDtoPolicy.ts deleted file mode 100644 index fc6ca4b..0000000 --- a/jellyfin/model/userDtoPolicy.ts +++ /dev/null @@ -1,282 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { AccessSchedule } from './accessSchedule'; -import { SyncPlayUserAccessType } from './syncPlayUserAccessType'; -import { UnratedItem } from './unratedItem'; - -/** -* Gets or sets the policy. -*/ -export class UserDtoPolicy { - /** - * Gets or sets a value indicating whether this instance is administrator. - */ - 'isAdministrator'?: boolean; - /** - * Gets or sets a value indicating whether this instance is hidden. - */ - 'isHidden'?: boolean; - /** - * Gets or sets a value indicating whether this instance is disabled. - */ - 'isDisabled'?: boolean; - /** - * Gets or sets the max parental rating. - */ - 'maxParentalRating'?: number | null; - 'blockedTags'?: Array | null; - 'enableUserPreferenceAccess'?: boolean; - 'accessSchedules'?: Array | null; - 'blockUnratedItems'?: Array | null; - 'enableRemoteControlOfOtherUsers'?: boolean; - 'enableSharedDeviceControl'?: boolean; - 'enableRemoteAccess'?: boolean; - 'enableLiveTvManagement'?: boolean; - 'enableLiveTvAccess'?: boolean; - 'enableMediaPlayback'?: boolean; - 'enableAudioPlaybackTranscoding'?: boolean; - 'enableVideoPlaybackTranscoding'?: boolean; - 'enablePlaybackRemuxing'?: boolean; - 'forceRemoteSourceTranscoding'?: boolean; - 'enableContentDeletion'?: boolean; - 'enableContentDeletionFromFolders'?: Array | null; - 'enableContentDownloading'?: boolean; - /** - * Gets or sets a value indicating whether [enable synchronize]. - */ - 'enableSyncTranscoding'?: boolean; - 'enableMediaConversion'?: boolean; - 'enabledDevices'?: Array | null; - 'enableAllDevices'?: boolean; - 'enabledChannels'?: Array | null; - 'enableAllChannels'?: boolean; - 'enabledFolders'?: Array | null; - 'enableAllFolders'?: boolean; - 'invalidLoginAttemptCount'?: number; - 'loginAttemptsBeforeLockout'?: number; - 'maxActiveSessions'?: number; - 'enablePublicSharing'?: boolean; - 'blockedMediaFolders'?: Array | null; - 'blockedChannels'?: Array | null; - 'remoteClientBitrateLimit'?: number; - 'authenticationProviderId'?: string | null; - 'passwordResetProviderId'?: string | null; - 'syncPlayAccess'?: SyncPlayUserAccessType; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "isAdministrator", - "baseName": "IsAdministrator", - "type": "boolean" - }, - { - "name": "isHidden", - "baseName": "IsHidden", - "type": "boolean" - }, - { - "name": "isDisabled", - "baseName": "IsDisabled", - "type": "boolean" - }, - { - "name": "maxParentalRating", - "baseName": "MaxParentalRating", - "type": "number" - }, - { - "name": "blockedTags", - "baseName": "BlockedTags", - "type": "Array" - }, - { - "name": "enableUserPreferenceAccess", - "baseName": "EnableUserPreferenceAccess", - "type": "boolean" - }, - { - "name": "accessSchedules", - "baseName": "AccessSchedules", - "type": "Array" - }, - { - "name": "blockUnratedItems", - "baseName": "BlockUnratedItems", - "type": "Array" - }, - { - "name": "enableRemoteControlOfOtherUsers", - "baseName": "EnableRemoteControlOfOtherUsers", - "type": "boolean" - }, - { - "name": "enableSharedDeviceControl", - "baseName": "EnableSharedDeviceControl", - "type": "boolean" - }, - { - "name": "enableRemoteAccess", - "baseName": "EnableRemoteAccess", - "type": "boolean" - }, - { - "name": "enableLiveTvManagement", - "baseName": "EnableLiveTvManagement", - "type": "boolean" - }, - { - "name": "enableLiveTvAccess", - "baseName": "EnableLiveTvAccess", - "type": "boolean" - }, - { - "name": "enableMediaPlayback", - "baseName": "EnableMediaPlayback", - "type": "boolean" - }, - { - "name": "enableAudioPlaybackTranscoding", - "baseName": "EnableAudioPlaybackTranscoding", - "type": "boolean" - }, - { - "name": "enableVideoPlaybackTranscoding", - "baseName": "EnableVideoPlaybackTranscoding", - "type": "boolean" - }, - { - "name": "enablePlaybackRemuxing", - "baseName": "EnablePlaybackRemuxing", - "type": "boolean" - }, - { - "name": "forceRemoteSourceTranscoding", - "baseName": "ForceRemoteSourceTranscoding", - "type": "boolean" - }, - { - "name": "enableContentDeletion", - "baseName": "EnableContentDeletion", - "type": "boolean" - }, - { - "name": "enableContentDeletionFromFolders", - "baseName": "EnableContentDeletionFromFolders", - "type": "Array" - }, - { - "name": "enableContentDownloading", - "baseName": "EnableContentDownloading", - "type": "boolean" - }, - { - "name": "enableSyncTranscoding", - "baseName": "EnableSyncTranscoding", - "type": "boolean" - }, - { - "name": "enableMediaConversion", - "baseName": "EnableMediaConversion", - "type": "boolean" - }, - { - "name": "enabledDevices", - "baseName": "EnabledDevices", - "type": "Array" - }, - { - "name": "enableAllDevices", - "baseName": "EnableAllDevices", - "type": "boolean" - }, - { - "name": "enabledChannels", - "baseName": "EnabledChannels", - "type": "Array" - }, - { - "name": "enableAllChannels", - "baseName": "EnableAllChannels", - "type": "boolean" - }, - { - "name": "enabledFolders", - "baseName": "EnabledFolders", - "type": "Array" - }, - { - "name": "enableAllFolders", - "baseName": "EnableAllFolders", - "type": "boolean" - }, - { - "name": "invalidLoginAttemptCount", - "baseName": "InvalidLoginAttemptCount", - "type": "number" - }, - { - "name": "loginAttemptsBeforeLockout", - "baseName": "LoginAttemptsBeforeLockout", - "type": "number" - }, - { - "name": "maxActiveSessions", - "baseName": "MaxActiveSessions", - "type": "number" - }, - { - "name": "enablePublicSharing", - "baseName": "EnablePublicSharing", - "type": "boolean" - }, - { - "name": "blockedMediaFolders", - "baseName": "BlockedMediaFolders", - "type": "Array" - }, - { - "name": "blockedChannels", - "baseName": "BlockedChannels", - "type": "Array" - }, - { - "name": "remoteClientBitrateLimit", - "baseName": "RemoteClientBitrateLimit", - "type": "number" - }, - { - "name": "authenticationProviderId", - "baseName": "AuthenticationProviderId", - "type": "string" - }, - { - "name": "passwordResetProviderId", - "baseName": "PasswordResetProviderId", - "type": "string" - }, - { - "name": "syncPlayAccess", - "baseName": "SyncPlayAccess", - "type": "SyncPlayUserAccessType" - } ]; - - static getAttributeTypeMap() { - return UserDtoPolicy.attributeTypeMap; - } -} - -export namespace UserDtoPolicy { -} diff --git a/jellyfin/model/userItemDataDto.ts b/jellyfin/model/userItemDataDto.ts deleted file mode 100644 index d3881e9..0000000 --- a/jellyfin/model/userItemDataDto.ts +++ /dev/null @@ -1,127 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class UserItemDataDto. -*/ -export class UserItemDataDto { - /** - * Gets or sets the rating. - */ - 'rating'?: number | null; - /** - * Gets or sets the played percentage. - */ - 'playedPercentage'?: number | null; - /** - * Gets or sets the unplayed item count. - */ - 'unplayedItemCount'?: number | null; - /** - * Gets or sets the playback position ticks. - */ - 'playbackPositionTicks'?: number; - /** - * Gets or sets the play count. - */ - 'playCount'?: number; - /** - * Gets or sets a value indicating whether this instance is favorite. - */ - 'isFavorite'?: boolean; - /** - * Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UserItemDataDto is likes. - */ - 'likes'?: boolean | null; - /** - * Gets or sets the last played date. - */ - 'lastPlayedDate'?: Date | null; - /** - * Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UserItemDataDto is played. - */ - 'played'?: boolean; - /** - * Gets or sets the key. - */ - 'key'?: string | null; - /** - * Gets or sets the item identifier. - */ - 'itemId'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "rating", - "baseName": "Rating", - "type": "number" - }, - { - "name": "playedPercentage", - "baseName": "PlayedPercentage", - "type": "number" - }, - { - "name": "unplayedItemCount", - "baseName": "UnplayedItemCount", - "type": "number" - }, - { - "name": "playbackPositionTicks", - "baseName": "PlaybackPositionTicks", - "type": "number" - }, - { - "name": "playCount", - "baseName": "PlayCount", - "type": "number" - }, - { - "name": "isFavorite", - "baseName": "IsFavorite", - "type": "boolean" - }, - { - "name": "likes", - "baseName": "Likes", - "type": "boolean" - }, - { - "name": "lastPlayedDate", - "baseName": "LastPlayedDate", - "type": "Date" - }, - { - "name": "played", - "baseName": "Played", - "type": "boolean" - }, - { - "name": "key", - "baseName": "Key", - "type": "string" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return UserItemDataDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/userPolicy.ts b/jellyfin/model/userPolicy.ts deleted file mode 100644 index 1a8fda2..0000000 --- a/jellyfin/model/userPolicy.ts +++ /dev/null @@ -1,279 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { AccessSchedule } from './accessSchedule'; -import { SyncPlayUserAccessType } from './syncPlayUserAccessType'; -import { UnratedItem } from './unratedItem'; - -export class UserPolicy { - /** - * Gets or sets a value indicating whether this instance is administrator. - */ - 'isAdministrator'?: boolean; - /** - * Gets or sets a value indicating whether this instance is hidden. - */ - 'isHidden'?: boolean; - /** - * Gets or sets a value indicating whether this instance is disabled. - */ - 'isDisabled'?: boolean; - /** - * Gets or sets the max parental rating. - */ - 'maxParentalRating'?: number | null; - 'blockedTags'?: Array | null; - 'enableUserPreferenceAccess'?: boolean; - 'accessSchedules'?: Array | null; - 'blockUnratedItems'?: Array | null; - 'enableRemoteControlOfOtherUsers'?: boolean; - 'enableSharedDeviceControl'?: boolean; - 'enableRemoteAccess'?: boolean; - 'enableLiveTvManagement'?: boolean; - 'enableLiveTvAccess'?: boolean; - 'enableMediaPlayback'?: boolean; - 'enableAudioPlaybackTranscoding'?: boolean; - 'enableVideoPlaybackTranscoding'?: boolean; - 'enablePlaybackRemuxing'?: boolean; - 'forceRemoteSourceTranscoding'?: boolean; - 'enableContentDeletion'?: boolean; - 'enableContentDeletionFromFolders'?: Array | null; - 'enableContentDownloading'?: boolean; - /** - * Gets or sets a value indicating whether [enable synchronize]. - */ - 'enableSyncTranscoding'?: boolean; - 'enableMediaConversion'?: boolean; - 'enabledDevices'?: Array | null; - 'enableAllDevices'?: boolean; - 'enabledChannels'?: Array | null; - 'enableAllChannels'?: boolean; - 'enabledFolders'?: Array | null; - 'enableAllFolders'?: boolean; - 'invalidLoginAttemptCount'?: number; - 'loginAttemptsBeforeLockout'?: number; - 'maxActiveSessions'?: number; - 'enablePublicSharing'?: boolean; - 'blockedMediaFolders'?: Array | null; - 'blockedChannels'?: Array | null; - 'remoteClientBitrateLimit'?: number; - 'authenticationProviderId'?: string | null; - 'passwordResetProviderId'?: string | null; - 'syncPlayAccess'?: SyncPlayUserAccessType; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "isAdministrator", - "baseName": "IsAdministrator", - "type": "boolean" - }, - { - "name": "isHidden", - "baseName": "IsHidden", - "type": "boolean" - }, - { - "name": "isDisabled", - "baseName": "IsDisabled", - "type": "boolean" - }, - { - "name": "maxParentalRating", - "baseName": "MaxParentalRating", - "type": "number" - }, - { - "name": "blockedTags", - "baseName": "BlockedTags", - "type": "Array" - }, - { - "name": "enableUserPreferenceAccess", - "baseName": "EnableUserPreferenceAccess", - "type": "boolean" - }, - { - "name": "accessSchedules", - "baseName": "AccessSchedules", - "type": "Array" - }, - { - "name": "blockUnratedItems", - "baseName": "BlockUnratedItems", - "type": "Array" - }, - { - "name": "enableRemoteControlOfOtherUsers", - "baseName": "EnableRemoteControlOfOtherUsers", - "type": "boolean" - }, - { - "name": "enableSharedDeviceControl", - "baseName": "EnableSharedDeviceControl", - "type": "boolean" - }, - { - "name": "enableRemoteAccess", - "baseName": "EnableRemoteAccess", - "type": "boolean" - }, - { - "name": "enableLiveTvManagement", - "baseName": "EnableLiveTvManagement", - "type": "boolean" - }, - { - "name": "enableLiveTvAccess", - "baseName": "EnableLiveTvAccess", - "type": "boolean" - }, - { - "name": "enableMediaPlayback", - "baseName": "EnableMediaPlayback", - "type": "boolean" - }, - { - "name": "enableAudioPlaybackTranscoding", - "baseName": "EnableAudioPlaybackTranscoding", - "type": "boolean" - }, - { - "name": "enableVideoPlaybackTranscoding", - "baseName": "EnableVideoPlaybackTranscoding", - "type": "boolean" - }, - { - "name": "enablePlaybackRemuxing", - "baseName": "EnablePlaybackRemuxing", - "type": "boolean" - }, - { - "name": "forceRemoteSourceTranscoding", - "baseName": "ForceRemoteSourceTranscoding", - "type": "boolean" - }, - { - "name": "enableContentDeletion", - "baseName": "EnableContentDeletion", - "type": "boolean" - }, - { - "name": "enableContentDeletionFromFolders", - "baseName": "EnableContentDeletionFromFolders", - "type": "Array" - }, - { - "name": "enableContentDownloading", - "baseName": "EnableContentDownloading", - "type": "boolean" - }, - { - "name": "enableSyncTranscoding", - "baseName": "EnableSyncTranscoding", - "type": "boolean" - }, - { - "name": "enableMediaConversion", - "baseName": "EnableMediaConversion", - "type": "boolean" - }, - { - "name": "enabledDevices", - "baseName": "EnabledDevices", - "type": "Array" - }, - { - "name": "enableAllDevices", - "baseName": "EnableAllDevices", - "type": "boolean" - }, - { - "name": "enabledChannels", - "baseName": "EnabledChannels", - "type": "Array" - }, - { - "name": "enableAllChannels", - "baseName": "EnableAllChannels", - "type": "boolean" - }, - { - "name": "enabledFolders", - "baseName": "EnabledFolders", - "type": "Array" - }, - { - "name": "enableAllFolders", - "baseName": "EnableAllFolders", - "type": "boolean" - }, - { - "name": "invalidLoginAttemptCount", - "baseName": "InvalidLoginAttemptCount", - "type": "number" - }, - { - "name": "loginAttemptsBeforeLockout", - "baseName": "LoginAttemptsBeforeLockout", - "type": "number" - }, - { - "name": "maxActiveSessions", - "baseName": "MaxActiveSessions", - "type": "number" - }, - { - "name": "enablePublicSharing", - "baseName": "EnablePublicSharing", - "type": "boolean" - }, - { - "name": "blockedMediaFolders", - "baseName": "BlockedMediaFolders", - "type": "Array" - }, - { - "name": "blockedChannels", - "baseName": "BlockedChannels", - "type": "Array" - }, - { - "name": "remoteClientBitrateLimit", - "baseName": "RemoteClientBitrateLimit", - "type": "number" - }, - { - "name": "authenticationProviderId", - "baseName": "AuthenticationProviderId", - "type": "string" - }, - { - "name": "passwordResetProviderId", - "baseName": "PasswordResetProviderId", - "type": "string" - }, - { - "name": "syncPlayAccess", - "baseName": "SyncPlayAccess", - "type": "SyncPlayUserAccessType" - } ]; - - static getAttributeTypeMap() { - return UserPolicy.attributeTypeMap; - } -} - -export namespace UserPolicy { -} diff --git a/jellyfin/model/utcTimeResponse.ts b/jellyfin/model/utcTimeResponse.ts deleted file mode 100644 index 7ddd5ad..0000000 --- a/jellyfin/model/utcTimeResponse.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Class UtcTimeResponse. -*/ -export class UtcTimeResponse { - /** - * Gets the UTC time when request has been received. - */ - 'requestReceptionTime'?: Date; - /** - * Gets the UTC time when response has been sent. - */ - 'responseTransmissionTime'?: Date; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "requestReceptionTime", - "baseName": "RequestReceptionTime", - "type": "Date" - }, - { - "name": "responseTransmissionTime", - "baseName": "ResponseTransmissionTime", - "type": "Date" - } ]; - - static getAttributeTypeMap() { - return UtcTimeResponse.attributeTypeMap; - } -} - diff --git a/jellyfin/model/validatePathDto.ts b/jellyfin/model/validatePathDto.ts deleted file mode 100644 index 5e7c5f5..0000000 --- a/jellyfin/model/validatePathDto.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Validate path object. -*/ -export class ValidatePathDto { - /** - * Gets or sets a value indicating whether validate if path is writable. - */ - 'validateWritable'?: boolean; - /** - * Gets or sets the path. - */ - 'path'?: string | null; - /** - * Gets or sets is path file. - */ - 'isFile'?: boolean | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "validateWritable", - "baseName": "ValidateWritable", - "type": "boolean" - }, - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "isFile", - "baseName": "IsFile", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return ValidatePathDto.attributeTypeMap; - } -} - diff --git a/jellyfin/model/validatePathRequest.ts b/jellyfin/model/validatePathRequest.ts deleted file mode 100644 index 2e7ca74..0000000 --- a/jellyfin/model/validatePathRequest.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Validate path object. -*/ -export class ValidatePathRequest { - /** - * Gets or sets a value indicating whether validate if path is writable. - */ - 'validateWritable'?: boolean; - /** - * Gets or sets the path. - */ - 'path'?: string | null; - /** - * Gets or sets is path file. - */ - 'isFile'?: boolean | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "validateWritable", - "baseName": "ValidateWritable", - "type": "boolean" - }, - { - "name": "path", - "baseName": "Path", - "type": "string" - }, - { - "name": "isFile", - "baseName": "IsFile", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return ValidatePathRequest.attributeTypeMap; - } -} - diff --git a/jellyfin/model/versionInfo.ts b/jellyfin/model/versionInfo.ts deleted file mode 100644 index 303bffb..0000000 --- a/jellyfin/model/versionInfo.ts +++ /dev/null @@ -1,109 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Defines the MediaBrowser.Model.Updates.VersionInfo class. -*/ -export class VersionInfo { - /** - * Gets or sets the version. - */ - 'version'?: string; - /** - * Gets the version as a System.Version. - */ - 'versionNumber'?: string; - /** - * Gets or sets the changelog for this version. - */ - 'changelog'?: string | null; - /** - * Gets or sets the ABI that this version was built against. - */ - 'targetAbi'?: string | null; - /** - * Gets or sets the source URL. - */ - 'sourceUrl'?: string | null; - /** - * Gets or sets a checksum for the binary. - */ - 'checksum'?: string | null; - /** - * Gets or sets a timestamp of when the binary was built. - */ - 'timestamp'?: string | null; - /** - * Gets or sets the repository name. - */ - 'repositoryName'?: string; - /** - * Gets or sets the repository url. - */ - 'repositoryUrl'?: string; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "version", - "baseName": "version", - "type": "string" - }, - { - "name": "versionNumber", - "baseName": "VersionNumber", - "type": "string" - }, - { - "name": "changelog", - "baseName": "changelog", - "type": "string" - }, - { - "name": "targetAbi", - "baseName": "targetAbi", - "type": "string" - }, - { - "name": "sourceUrl", - "baseName": "sourceUrl", - "type": "string" - }, - { - "name": "checksum", - "baseName": "checksum", - "type": "string" - }, - { - "name": "timestamp", - "baseName": "timestamp", - "type": "string" - }, - { - "name": "repositoryName", - "baseName": "repositoryName", - "type": "string" - }, - { - "name": "repositoryUrl", - "baseName": "repositoryUrl", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return VersionInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/video3DFormat.ts b/jellyfin/model/video3DFormat.ts deleted file mode 100644 index d280ff0..0000000 --- a/jellyfin/model/video3DFormat.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export enum Video3DFormat { - HalfSideBySide = 'HalfSideBySide', - FullSideBySide = 'FullSideBySide', - FullTopAndBottom = 'FullTopAndBottom', - HalfTopAndBottom = 'HalfTopAndBottom', - Mvc = 'MVC' -} diff --git a/jellyfin/model/videoType.ts b/jellyfin/model/videoType.ts deleted file mode 100644 index f4b2fd3..0000000 --- a/jellyfin/model/videoType.ts +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Enum VideoType. -*/ -export enum VideoType { - VideoFile = 'VideoFile', - Iso = 'Iso', - Dvd = 'Dvd', - BluRay = 'BluRay' -} diff --git a/jellyfin/model/virtualFolderInfo.ts b/jellyfin/model/virtualFolderInfo.ts deleted file mode 100644 index 404ef8f..0000000 --- a/jellyfin/model/virtualFolderInfo.ts +++ /dev/null @@ -1,92 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; -import { CollectionTypeOptions } from './collectionTypeOptions'; -import { LibraryOptions } from './libraryOptions'; - -/** -* Used to hold information about a user\'s list of configured virtual folders. -*/ -export class VirtualFolderInfo { - /** - * Gets or sets the name. - */ - 'name'?: string | null; - /** - * Gets or sets the locations. - */ - 'locations'?: Array | null; - 'collectionType'?: CollectionTypeOptions | null; - 'libraryOptions'?: LibraryOptions | null; - /** - * Gets or sets the item identifier. - */ - 'itemId'?: string | null; - /** - * Gets or sets the primary image item identifier. - */ - 'primaryImageItemId'?: string | null; - 'refreshProgress'?: number | null; - 'refreshStatus'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "locations", - "baseName": "Locations", - "type": "Array" - }, - { - "name": "collectionType", - "baseName": "CollectionType", - "type": "CollectionTypeOptions" - }, - { - "name": "libraryOptions", - "baseName": "LibraryOptions", - "type": "LibraryOptions" - }, - { - "name": "itemId", - "baseName": "ItemId", - "type": "string" - }, - { - "name": "primaryImageItemId", - "baseName": "PrimaryImageItemId", - "type": "string" - }, - { - "name": "refreshProgress", - "baseName": "RefreshProgress", - "type": "number" - }, - { - "name": "refreshStatus", - "baseName": "RefreshStatus", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return VirtualFolderInfo.attributeTypeMap; - } -} - -export namespace VirtualFolderInfo { -} diff --git a/jellyfin/model/wakeOnLanInfo.ts b/jellyfin/model/wakeOnLanInfo.ts deleted file mode 100644 index ba91174..0000000 --- a/jellyfin/model/wakeOnLanInfo.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Provides the MAC address and port for wake-on-LAN functionality. -*/ -export class WakeOnLanInfo { - /** - * Gets the MAC address of the device. - */ - 'macAddress'?: string | null; - /** - * Gets or sets the wake-on-LAN port. - */ - 'port'?: number; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "macAddress", - "baseName": "MacAddress", - "type": "string" - }, - { - "name": "port", - "baseName": "Port", - "type": "number" - } ]; - - static getAttributeTypeMap() { - return WakeOnLanInfo.attributeTypeMap; - } -} - diff --git a/jellyfin/model/xbmcMetadataOptions.ts b/jellyfin/model/xbmcMetadataOptions.ts deleted file mode 100644 index 1f89862..0000000 --- a/jellyfin/model/xbmcMetadataOptions.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -export class XbmcMetadataOptions { - 'userId'?: string | null; - 'releaseDateFormat'?: string; - 'saveImagePathsInNfo'?: boolean; - 'enablePathSubstitution'?: boolean; - 'enableExtraThumbsDuplication'?: boolean; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "userId", - "baseName": "UserId", - "type": "string" - }, - { - "name": "releaseDateFormat", - "baseName": "ReleaseDateFormat", - "type": "string" - }, - { - "name": "saveImagePathsInNfo", - "baseName": "SaveImagePathsInNfo", - "type": "boolean" - }, - { - "name": "enablePathSubstitution", - "baseName": "EnablePathSubstitution", - "type": "boolean" - }, - { - "name": "enableExtraThumbsDuplication", - "baseName": "EnableExtraThumbsDuplication", - "type": "boolean" - } ]; - - static getAttributeTypeMap() { - return XbmcMetadataOptions.attributeTypeMap; - } -} - diff --git a/jellyfin/model/xmlAttribute.ts b/jellyfin/model/xmlAttribute.ts deleted file mode 100644 index 64b8265..0000000 --- a/jellyfin/model/xmlAttribute.ts +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Jellyfin API - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 10.8.9 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import { RequestFile } from './models'; - -/** -* Defines the MediaBrowser.Model.Dlna.XmlAttribute. -*/ -export class XmlAttribute { - /** - * Gets or sets the name of the attribute. - */ - 'name'?: string | null; - /** - * Gets or sets the value of the attribute. - */ - 'value'?: string | null; - - static discriminator: string | undefined = undefined; - - static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [ - { - "name": "name", - "baseName": "Name", - "type": "string" - }, - { - "name": "value", - "baseName": "Value", - "type": "string" - } ]; - - static getAttributeTypeMap() { - return XmlAttribute.attributeTypeMap; - } -} - diff --git a/jellyfin/.openapi-generator-ignore b/server/jellyfin/.openapi-generator-ignore similarity index 100% rename from jellyfin/.openapi-generator-ignore rename to server/jellyfin/.openapi-generator-ignore diff --git a/server/jellyfin/.openapi-generator/FILES b/server/jellyfin/.openapi-generator/FILES new file mode 100644 index 0000000..ef72370 --- /dev/null +++ b/server/jellyfin/.openapi-generator/FILES @@ -0,0 +1,439 @@ +apis/ActivityLogApi.ts +apis/ApiKeyApi.ts +apis/ArtistsApi.ts +apis/AudioApi.ts +apis/BrandingApi.ts +apis/ChannelsApi.ts +apis/ClientLogApi.ts +apis/CollectionApi.ts +apis/ConfigurationApi.ts +apis/DashboardApi.ts +apis/DevicesApi.ts +apis/DisplayPreferencesApi.ts +apis/DlnaApi.ts +apis/DlnaServerApi.ts +apis/DynamicHlsApi.ts +apis/EnvironmentApi.ts +apis/FilterApi.ts +apis/GenresApi.ts +apis/HlsSegmentApi.ts +apis/ImageApi.ts +apis/ImageByNameApi.ts +apis/InstantMixApi.ts +apis/ItemLookupApi.ts +apis/ItemRefreshApi.ts +apis/ItemUpdateApi.ts +apis/ItemsApi.ts +apis/LibraryApi.ts +apis/LibraryStructureApi.ts +apis/LiveTvApi.ts +apis/LocalizationApi.ts +apis/MediaInfoApi.ts +apis/MoviesApi.ts +apis/MusicGenresApi.ts +apis/NotificationsApi.ts +apis/PackageApi.ts +apis/PersonsApi.ts +apis/PlaylistsApi.ts +apis/PlaystateApi.ts +apis/PluginsApi.ts +apis/QuickConnectApi.ts +apis/RemoteImageApi.ts +apis/ScheduledTasksApi.ts +apis/SearchApi.ts +apis/SessionApi.ts +apis/StartupApi.ts +apis/StudiosApi.ts +apis/SubtitleApi.ts +apis/SuggestionsApi.ts +apis/SyncPlayApi.ts +apis/SystemApi.ts +apis/TimeSyncApi.ts +apis/TmdbApi.ts +apis/TrailersApi.ts +apis/TvShowsApi.ts +apis/UniversalAudioApi.ts +apis/UserApi.ts +apis/UserLibraryApi.ts +apis/UserViewsApi.ts +apis/VideoAttachmentsApi.ts +apis/VideosApi.ts +apis/YearsApi.ts +apis/index.ts +index.ts +models/AccessSchedule.ts +models/ActivityLogEntry.ts +models/ActivityLogEntryQueryResult.ts +models/AddListingProviderRequest.ts +models/AddMediaPathRequest.ts +models/AddTunerHostRequest.ts +models/AddVirtualFolderDto.ts +models/AddVirtualFolderDtoLibraryOptions.ts +models/AddVirtualFolderRequest.ts +models/AdminNotificationDto.ts +models/AlbumInfo.ts +models/AlbumInfoRemoteSearchQuery.ts +models/AllThemeMediaResult.ts +models/AllThemeMediaResultThemeVideosResult.ts +models/ApplySearchCriteriaRequest.ts +models/Architecture.ts +models/ArtistInfo.ts +models/ArtistInfoRemoteSearchQuery.ts +models/AuthenticateUserByName.ts +models/AuthenticateUserByNameRequest.ts +models/AuthenticateWithQuickConnectRequest.ts +models/AuthenticationInfo.ts +models/AuthenticationInfoQueryResult.ts +models/AuthenticationResult.ts +models/AuthenticationResultSessionInfo.ts +models/AuthenticationResultUser.ts +models/BaseItem.ts +models/BaseItemDto.ts +models/BaseItemDtoCurrentProgram.ts +models/BaseItemDtoImageBlurHashes.ts +models/BaseItemDtoQueryResult.ts +models/BaseItemDtoUserData.ts +models/BaseItemKind.ts +models/BaseItemPerson.ts +models/BaseItemPersonImageBlurHashes.ts +models/BookInfo.ts +models/BookInfoRemoteSearchQuery.ts +models/BoxSetInfo.ts +models/BoxSetInfoRemoteSearchQuery.ts +models/BrandingOptions.ts +models/BufferRequestDto.ts +models/ChannelFeatures.ts +models/ChannelItemSortField.ts +models/ChannelMappingOptionsDto.ts +models/ChannelMediaContentType.ts +models/ChannelMediaType.ts +models/ChannelType.ts +models/ChapterInfo.ts +models/ClientCapabilities.ts +models/ClientCapabilitiesDeviceProfile.ts +models/ClientCapabilitiesDto.ts +models/ClientCapabilitiesDtoDeviceProfile.ts +models/ClientLogDocumentResponseDto.ts +models/CodecProfile.ts +models/CodecType.ts +models/CollectionCreationResult.ts +models/CollectionTypeOptions.ts +models/ConfigImageTypes.ts +models/ConfigurationPageInfo.ts +models/ContainerProfile.ts +models/ControlResponse.ts +models/CountryInfo.ts +models/CreateAdminNotificationRequest.ts +models/CreatePlaylistDto.ts +models/CreatePlaylistRequest.ts +models/CreateProfileRequest.ts +models/CreateSeriesTimerRequest.ts +models/CreateTimerRequest.ts +models/CreateUserByName.ts +models/CreateUserByNameRequest.ts +models/CultureDto.ts +models/DayOfWeek.ts +models/DayPattern.ts +models/DefaultDirectoryBrowserInfoDto.ts +models/DeviceIdentification.ts +models/DeviceInfo.ts +models/DeviceInfoCapabilities.ts +models/DeviceInfoQueryResult.ts +models/DeviceOptions.ts +models/DeviceOptionsDto.ts +models/DeviceProfile.ts +models/DeviceProfileIdentification.ts +models/DeviceProfileInfo.ts +models/DeviceProfileType.ts +models/DirectPlayProfile.ts +models/DisplayPreferencesDto.ts +models/DlnaOptions.ts +models/DlnaProfileType.ts +models/DynamicDayOfWeek.ts +models/EmbeddedSubtitleOptions.ts +models/EncodingContext.ts +models/EncodingOptions.ts +models/EndPointInfo.ts +models/ExternalIdInfo.ts +models/ExternalIdMediaType.ts +models/ExternalUrl.ts +models/FFmpegLocation.ts +models/FileSystemEntryInfo.ts +models/FileSystemEntryType.ts +models/FontFile.ts +models/ForgotPasswordAction.ts +models/ForgotPasswordDto.ts +models/ForgotPasswordPinDto.ts +models/ForgotPasswordPinRequest.ts +models/ForgotPasswordRequest.ts +models/ForgotPasswordResult.ts +models/GeneralCommand.ts +models/GeneralCommandType.ts +models/GetBookRemoteSearchResultsRequest.ts +models/GetBoxSetRemoteSearchResultsRequest.ts +models/GetMovieRemoteSearchResultsRequest.ts +models/GetMusicAlbumRemoteSearchResultsRequest.ts +models/GetMusicArtistRemoteSearchResultsRequest.ts +models/GetMusicVideoRemoteSearchResultsRequest.ts +models/GetPersonRemoteSearchResultsRequest.ts +models/GetPostedPlaybackInfoRequest.ts +models/GetProgramsDto.ts +models/GetProgramsRequest.ts +models/GetSeriesRemoteSearchResultsRequest.ts +models/GetTrailerRemoteSearchResultsRequest.ts +models/GroupInfoDto.ts +models/GroupQueueMode.ts +models/GroupRepeatMode.ts +models/GroupShuffleMode.ts +models/GroupStateType.ts +models/GroupUpdateType.ts +models/GuideInfo.ts +models/HardwareEncodingType.ts +models/HeaderMatchType.ts +models/HttpHeaderInfo.ts +models/IPlugin.ts +models/IgnoreWaitRequestDto.ts +models/ImageByNameInfo.ts +models/ImageFormat.ts +models/ImageInfo.ts +models/ImageOption.ts +models/ImageOrientation.ts +models/ImageProviderInfo.ts +models/ImageSavingConvention.ts +models/ImageType.ts +models/InstallationInfo.ts +models/InstallationInfoPackageInfo.ts +models/IsoType.ts +models/ItemCounts.ts +models/ItemFields.ts +models/ItemFilter.ts +models/JoinGroupRequestDto.ts +models/KeepUntil.ts +models/LibraryOptionInfoDto.ts +models/LibraryOptions.ts +models/LibraryOptionsResultDto.ts +models/LibraryTypeOptionsDto.ts +models/LibraryUpdateInfo.ts +models/ListingsProviderInfo.ts +models/LiveStreamResponse.ts +models/LiveStreamResponseMediaSource.ts +models/LiveTvInfo.ts +models/LiveTvOptions.ts +models/LiveTvServiceInfo.ts +models/LiveTvServiceStatus.ts +models/LocalizationOption.ts +models/LocationType.ts +models/LogFile.ts +models/LogLevel.ts +models/MediaAttachment.ts +models/MediaEncoderPathDto.ts +models/MediaPathDto.ts +models/MediaPathDtoPathInfo.ts +models/MediaPathInfo.ts +models/MediaProtocol.ts +models/MediaSourceInfo.ts +models/MediaSourceType.ts +models/MediaStream.ts +models/MediaStreamType.ts +models/MediaUpdateInfoDto.ts +models/MediaUpdateInfoPathDto.ts +models/MediaUrl.ts +models/MessageCommand.ts +models/MetadataConfiguration.ts +models/MetadataEditorInfo.ts +models/MetadataField.ts +models/MetadataOptions.ts +models/MetadataRefreshMode.ts +models/MovePlaylistItemRequestDto.ts +models/MovieInfo.ts +models/MovieInfoRemoteSearchQuery.ts +models/MusicVideoInfo.ts +models/MusicVideoInfoRemoteSearchQuery.ts +models/NameGuidPair.ts +models/NameIdPair.ts +models/NameValuePair.ts +models/NetworkConfiguration.ts +models/NewGroupRequestDto.ts +models/NextItemRequestDto.ts +models/NotificationDto.ts +models/NotificationLevel.ts +models/NotificationOption.ts +models/NotificationOptions.ts +models/NotificationResultDto.ts +models/NotificationTypeInfo.ts +models/NotificationsSummaryDto.ts +models/ObjectGroupUpdate.ts +models/OpenLiveStreamDto.ts +models/OpenLiveStreamRequest.ts +models/PackageInfo.ts +models/ParentalRating.ts +models/PathSubstitution.ts +models/PersonLookupInfo.ts +models/PersonLookupInfoRemoteSearchQuery.ts +models/PinRedeemResult.ts +models/PingRequestDto.ts +models/PlayAccess.ts +models/PlayCommand.ts +models/PlayMethod.ts +models/PlayRequest.ts +models/PlayRequestDto.ts +models/PlaybackErrorCode.ts +models/PlaybackInfoDto.ts +models/PlaybackInfoResponse.ts +models/PlaybackProgressInfo.ts +models/PlaybackProgressInfoItem.ts +models/PlaybackStartInfo.ts +models/PlaybackStopInfo.ts +models/PlayerStateInfo.ts +models/PlaylistCreationResult.ts +models/PlaystateCommand.ts +models/PlaystateRequest.ts +models/PluginInfo.ts +models/PluginStatus.ts +models/PostFullCapabilitiesRequest.ts +models/PostUpdatedMediaRequest.ts +models/PreviousItemRequestDto.ts +models/ProblemDetails.ts +models/ProfileCondition.ts +models/ProfileConditionType.ts +models/ProfileConditionValue.ts +models/ProgramAudio.ts +models/PublicSystemInfo.ts +models/QueryFilters.ts +models/QueryFiltersLegacy.ts +models/QueueItem.ts +models/QueueRequestDto.ts +models/QuickConnectDto.ts +models/QuickConnectResult.ts +models/RatingType.ts +models/ReadyRequestDto.ts +models/RecommendationDto.ts +models/RecommendationType.ts +models/RecordingStatus.ts +models/RemoteImageInfo.ts +models/RemoteImageResult.ts +models/RemoteSearchResult.ts +models/RemoteSubtitleInfo.ts +models/RemoveFromPlaylistRequestDto.ts +models/RepeatMode.ts +models/ReportPlaybackProgressRequest.ts +models/ReportPlaybackStartRequest.ts +models/ReportPlaybackStoppedRequest.ts +models/RepositoryInfo.ts +models/ResponseProfile.ts +models/ScrollDirection.ts +models/SearchHint.ts +models/SearchHintResult.ts +models/SeekRequestDto.ts +models/SendCommand.ts +models/SendCommandType.ts +models/SendFullGeneralCommandRequest.ts +models/SendMessageCommandRequest.ts +models/SendToUserType.ts +models/SeriesInfo.ts +models/SeriesInfoRemoteSearchQuery.ts +models/SeriesStatus.ts +models/SeriesTimerInfoDto.ts +models/SeriesTimerInfoDtoQueryResult.ts +models/ServerConfiguration.ts +models/ServerDiscoveryInfo.ts +models/SessionInfo.ts +models/SessionInfoFullNowPlayingItem.ts +models/SessionInfoNowPlayingItem.ts +models/SessionMessageType.ts +models/SessionUserInfo.ts +models/SetChannelMappingDto.ts +models/SetChannelMappingRequest.ts +models/SetPlaylistItemRequestDto.ts +models/SetRemoteAccessRequest.ts +models/SetRepeatModeRequestDto.ts +models/SetShuffleModeRequestDto.ts +models/SongInfo.ts +models/SortOrder.ts +models/SpecialViewOptionDto.ts +models/StartupConfigurationDto.ts +models/StartupRemoteAccessDto.ts +models/StartupUserDto.ts +models/SubtitleDeliveryMethod.ts +models/SubtitleOptions.ts +models/SubtitlePlaybackMode.ts +models/SubtitleProfile.ts +models/SyncPlayBufferingRequest.ts +models/SyncPlayCreateGroupRequest.ts +models/SyncPlayJoinGroupRequest.ts +models/SyncPlayMovePlaylistItemRequest.ts +models/SyncPlayNextItemRequest.ts +models/SyncPlayPingRequest.ts +models/SyncPlayPreviousItemRequest.ts +models/SyncPlayQueueRequest.ts +models/SyncPlayReadyRequest.ts +models/SyncPlayRemoveFromPlaylistRequest.ts +models/SyncPlaySeekRequest.ts +models/SyncPlaySetIgnoreWaitRequest.ts +models/SyncPlaySetNewQueueRequest.ts +models/SyncPlaySetPlaylistItemRequest.ts +models/SyncPlaySetRepeatModeRequest.ts +models/SyncPlaySetShuffleModeRequest.ts +models/SyncPlayUserAccessType.ts +models/SystemInfo.ts +models/TaskCompletionStatus.ts +models/TaskInfo.ts +models/TaskInfoLastExecutionResult.ts +models/TaskResult.ts +models/TaskState.ts +models/TaskTriggerInfo.ts +models/ThemeMediaResult.ts +models/TimerEventInfo.ts +models/TimerInfoDto.ts +models/TimerInfoDtoProgramInfo.ts +models/TimerInfoDtoQueryResult.ts +models/TrailerInfo.ts +models/TrailerInfoRemoteSearchQuery.ts +models/TranscodeReason.ts +models/TranscodeSeekInfo.ts +models/TranscodingInfo.ts +models/TranscodingProfile.ts +models/TransportStreamTimestamp.ts +models/TunerChannelMapping.ts +models/TunerHostInfo.ts +models/TypeOptions.ts +models/UnratedItem.ts +models/UpdateConfigurationRequest.ts +models/UpdateDeviceOptionsRequest.ts +models/UpdateDisplayPreferencesRequest.ts +models/UpdateInitialConfigurationRequest.ts +models/UpdateItemRequest.ts +models/UpdateLibraryOptionsDto.ts +models/UpdateLibraryOptionsRequest.ts +models/UpdateMediaEncoderPathRequest.ts +models/UpdateMediaPathRequest.ts +models/UpdateMediaPathRequestDto.ts +models/UpdateMediaPathRequestDtoPathInfo.ts +models/UpdateStartupUserRequest.ts +models/UpdateUserConfigurationRequest.ts +models/UpdateUserEasyPassword.ts +models/UpdateUserEasyPasswordRequest.ts +models/UpdateUserPassword.ts +models/UpdateUserPasswordRequest.ts +models/UpdateUserPolicyRequest.ts +models/UpdateUserRequest.ts +models/UploadSubtitleDto.ts +models/UploadSubtitleRequest.ts +models/UserConfiguration.ts +models/UserDto.ts +models/UserDtoConfiguration.ts +models/UserDtoPolicy.ts +models/UserItemDataDto.ts +models/UserPolicy.ts +models/UtcTimeResponse.ts +models/ValidatePathDto.ts +models/ValidatePathRequest.ts +models/VersionInfo.ts +models/Video3DFormat.ts +models/VideoType.ts +models/VirtualFolderInfo.ts +models/WakeOnLanInfo.ts +models/XbmcMetadataOptions.ts +models/XmlAttribute.ts +models/index.ts +runtime.ts diff --git a/jellyfin/.openapi-generator/VERSION b/server/jellyfin/.openapi-generator/VERSION similarity index 100% rename from jellyfin/.openapi-generator/VERSION rename to server/jellyfin/.openapi-generator/VERSION diff --git a/server/jellyfin/apis/ActivityLogApi.ts b/server/jellyfin/apis/ActivityLogApi.ts new file mode 100644 index 0000000..e0f724c --- /dev/null +++ b/server/jellyfin/apis/ActivityLogApi.ts @@ -0,0 +1,83 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + ActivityLogEntryQueryResult, +} from '../models'; +import { + ActivityLogEntryQueryResultFromJSON, + ActivityLogEntryQueryResultToJSON, +} from '../models'; + +export interface GetLogEntriesRequest { + startIndex?: number; + limit?: number; + minDate?: Date; + hasUserId?: boolean; +} + +/** + * + */ +export class ActivityLogApi extends runtime.BaseAPI { + + /** + * Gets activity log entries. + */ + async getLogEntriesRaw(requestParameters: GetLogEntriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.startIndex !== undefined) { + queryParameters['startIndex'] = requestParameters.startIndex; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.minDate !== undefined) { + queryParameters['minDate'] = (requestParameters.minDate as any).toISOString(); + } + + if (requestParameters.hasUserId !== undefined) { + queryParameters['hasUserId'] = requestParameters.hasUserId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/System/ActivityLog/Entries`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ActivityLogEntryQueryResultFromJSON(jsonValue)); + } + + /** + * Gets activity log entries. + */ + async getLogEntries(requestParameters: GetLogEntriesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getLogEntriesRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/ApiKeyApi.ts b/server/jellyfin/apis/ApiKeyApi.ts new file mode 100644 index 0000000..3108bc7 --- /dev/null +++ b/server/jellyfin/apis/ApiKeyApi.ts @@ -0,0 +1,138 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + AuthenticationInfoQueryResult, +} from '../models'; +import { + AuthenticationInfoQueryResultFromJSON, + AuthenticationInfoQueryResultToJSON, +} from '../models'; + +export interface CreateKeyRequest { + app: string; +} + +export interface RevokeKeyRequest { + key: string; +} + +/** + * + */ +export class ApiKeyApi extends runtime.BaseAPI { + + /** + * Create a new api key. + */ + async createKeyRaw(requestParameters: CreateKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.app === null || requestParameters.app === undefined) { + throw new runtime.RequiredError('app','Required parameter requestParameters.app was null or undefined when calling createKey.'); + } + + const queryParameters: any = {}; + + if (requestParameters.app !== undefined) { + queryParameters['app'] = requestParameters.app; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Auth/Keys`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Create a new api key. + */ + async createKey(requestParameters: CreateKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.createKeyRaw(requestParameters, initOverrides); + } + + /** + * Get all keys. + */ + async getKeysRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Auth/Keys`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AuthenticationInfoQueryResultFromJSON(jsonValue)); + } + + /** + * Get all keys. + */ + async getKeys(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getKeysRaw(initOverrides); + return await response.value(); + } + + /** + * Remove an api key. + */ + async revokeKeyRaw(requestParameters: RevokeKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.key === null || requestParameters.key === undefined) { + throw new runtime.RequiredError('key','Required parameter requestParameters.key was null or undefined when calling revokeKey.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Auth/Keys/{key}`.replace(`{${"key"}}`, encodeURIComponent(String(requestParameters.key))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Remove an api key. + */ + async revokeKey(requestParameters: RevokeKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.revokeKeyRaw(requestParameters, initOverrides); + } + +} diff --git a/server/jellyfin/apis/ArtistsApi.ts b/server/jellyfin/apis/ArtistsApi.ts new file mode 100644 index 0000000..270e9eb --- /dev/null +++ b/server/jellyfin/apis/ArtistsApi.ts @@ -0,0 +1,477 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + BaseItemDto, + BaseItemDtoQueryResult, + BaseItemKind, + ImageType, + ItemFields, + ItemFilter, + SortOrder, +} from '../models'; +import { + BaseItemDtoFromJSON, + BaseItemDtoToJSON, + BaseItemDtoQueryResultFromJSON, + BaseItemDtoQueryResultToJSON, + BaseItemKindFromJSON, + BaseItemKindToJSON, + ImageTypeFromJSON, + ImageTypeToJSON, + ItemFieldsFromJSON, + ItemFieldsToJSON, + ItemFilterFromJSON, + ItemFilterToJSON, + SortOrderFromJSON, + SortOrderToJSON, +} from '../models'; + +export interface GetAlbumArtistsRequest { + minCommunityRating?: number; + startIndex?: number; + limit?: number; + searchTerm?: string; + parentId?: string; + fields?: Array; + excludeItemTypes?: Array; + includeItemTypes?: Array; + filters?: Array; + isFavorite?: boolean; + mediaTypes?: Array; + genres?: Array; + genreIds?: Array; + officialRatings?: Array; + tags?: Array; + years?: Array; + enableUserData?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; + person?: string; + personIds?: Array; + personTypes?: Array; + studios?: Array; + studioIds?: Array; + userId?: string; + nameStartsWithOrGreater?: string; + nameStartsWith?: string; + nameLessThan?: string; + sortBy?: Array; + sortOrder?: Array; + enableImages?: boolean; + enableTotalRecordCount?: boolean; +} + +export interface GetArtistByNameRequest { + name: string; + userId?: string; +} + +export interface GetArtistsRequest { + minCommunityRating?: number; + startIndex?: number; + limit?: number; + searchTerm?: string; + parentId?: string; + fields?: Array; + excludeItemTypes?: Array; + includeItemTypes?: Array; + filters?: Array; + isFavorite?: boolean; + mediaTypes?: Array; + genres?: Array; + genreIds?: Array; + officialRatings?: Array; + tags?: Array; + years?: Array; + enableUserData?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; + person?: string; + personIds?: Array; + personTypes?: Array; + studios?: Array; + studioIds?: Array; + userId?: string; + nameStartsWithOrGreater?: string; + nameStartsWith?: string; + nameLessThan?: string; + sortBy?: Array; + sortOrder?: Array; + enableImages?: boolean; + enableTotalRecordCount?: boolean; +} + +/** + * + */ +export class ArtistsApi extends runtime.BaseAPI { + + /** + * Gets all album artists from a given item, folder, or the entire library. + */ + async getAlbumArtistsRaw(requestParameters: GetAlbumArtistsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.minCommunityRating !== undefined) { + queryParameters['minCommunityRating'] = requestParameters.minCommunityRating; + } + + if (requestParameters.startIndex !== undefined) { + queryParameters['startIndex'] = requestParameters.startIndex; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.searchTerm !== undefined) { + queryParameters['searchTerm'] = requestParameters.searchTerm; + } + + if (requestParameters.parentId !== undefined) { + queryParameters['parentId'] = requestParameters.parentId; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.excludeItemTypes) { + queryParameters['excludeItemTypes'] = requestParameters.excludeItemTypes; + } + + if (requestParameters.includeItemTypes) { + queryParameters['includeItemTypes'] = requestParameters.includeItemTypes; + } + + if (requestParameters.filters) { + queryParameters['filters'] = requestParameters.filters; + } + + if (requestParameters.isFavorite !== undefined) { + queryParameters['isFavorite'] = requestParameters.isFavorite; + } + + if (requestParameters.mediaTypes) { + queryParameters['mediaTypes'] = requestParameters.mediaTypes; + } + + if (requestParameters.genres) { + queryParameters['genres'] = requestParameters.genres; + } + + if (requestParameters.genreIds) { + queryParameters['genreIds'] = requestParameters.genreIds; + } + + if (requestParameters.officialRatings) { + queryParameters['officialRatings'] = requestParameters.officialRatings; + } + + if (requestParameters.tags) { + queryParameters['tags'] = requestParameters.tags; + } + + if (requestParameters.years) { + queryParameters['years'] = requestParameters.years; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + if (requestParameters.person !== undefined) { + queryParameters['person'] = requestParameters.person; + } + + if (requestParameters.personIds) { + queryParameters['personIds'] = requestParameters.personIds; + } + + if (requestParameters.personTypes) { + queryParameters['personTypes'] = requestParameters.personTypes; + } + + if (requestParameters.studios) { + queryParameters['studios'] = requestParameters.studios; + } + + if (requestParameters.studioIds) { + queryParameters['studioIds'] = requestParameters.studioIds; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.nameStartsWithOrGreater !== undefined) { + queryParameters['nameStartsWithOrGreater'] = requestParameters.nameStartsWithOrGreater; + } + + if (requestParameters.nameStartsWith !== undefined) { + queryParameters['nameStartsWith'] = requestParameters.nameStartsWith; + } + + if (requestParameters.nameLessThan !== undefined) { + queryParameters['nameLessThan'] = requestParameters.nameLessThan; + } + + if (requestParameters.sortBy) { + queryParameters['sortBy'] = requestParameters.sortBy; + } + + if (requestParameters.sortOrder) { + queryParameters['sortOrder'] = requestParameters.sortOrder; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + if (requestParameters.enableTotalRecordCount !== undefined) { + queryParameters['enableTotalRecordCount'] = requestParameters.enableTotalRecordCount; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Artists/AlbumArtists`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets all album artists from a given item, folder, or the entire library. + */ + async getAlbumArtists(requestParameters: GetAlbumArtistsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getAlbumArtistsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets an artist by name. + */ + async getArtistByNameRaw(requestParameters: GetArtistByNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getArtistByName.'); + } + + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Artists/{name}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoFromJSON(jsonValue)); + } + + /** + * Gets an artist by name. + */ + async getArtistByName(requestParameters: GetArtistByNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getArtistByNameRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets all artists from a given item, folder, or the entire library. + */ + async getArtistsRaw(requestParameters: GetArtistsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.minCommunityRating !== undefined) { + queryParameters['minCommunityRating'] = requestParameters.minCommunityRating; + } + + if (requestParameters.startIndex !== undefined) { + queryParameters['startIndex'] = requestParameters.startIndex; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.searchTerm !== undefined) { + queryParameters['searchTerm'] = requestParameters.searchTerm; + } + + if (requestParameters.parentId !== undefined) { + queryParameters['parentId'] = requestParameters.parentId; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.excludeItemTypes) { + queryParameters['excludeItemTypes'] = requestParameters.excludeItemTypes; + } + + if (requestParameters.includeItemTypes) { + queryParameters['includeItemTypes'] = requestParameters.includeItemTypes; + } + + if (requestParameters.filters) { + queryParameters['filters'] = requestParameters.filters; + } + + if (requestParameters.isFavorite !== undefined) { + queryParameters['isFavorite'] = requestParameters.isFavorite; + } + + if (requestParameters.mediaTypes) { + queryParameters['mediaTypes'] = requestParameters.mediaTypes; + } + + if (requestParameters.genres) { + queryParameters['genres'] = requestParameters.genres; + } + + if (requestParameters.genreIds) { + queryParameters['genreIds'] = requestParameters.genreIds; + } + + if (requestParameters.officialRatings) { + queryParameters['officialRatings'] = requestParameters.officialRatings; + } + + if (requestParameters.tags) { + queryParameters['tags'] = requestParameters.tags; + } + + if (requestParameters.years) { + queryParameters['years'] = requestParameters.years; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + if (requestParameters.person !== undefined) { + queryParameters['person'] = requestParameters.person; + } + + if (requestParameters.personIds) { + queryParameters['personIds'] = requestParameters.personIds; + } + + if (requestParameters.personTypes) { + queryParameters['personTypes'] = requestParameters.personTypes; + } + + if (requestParameters.studios) { + queryParameters['studios'] = requestParameters.studios; + } + + if (requestParameters.studioIds) { + queryParameters['studioIds'] = requestParameters.studioIds; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.nameStartsWithOrGreater !== undefined) { + queryParameters['nameStartsWithOrGreater'] = requestParameters.nameStartsWithOrGreater; + } + + if (requestParameters.nameStartsWith !== undefined) { + queryParameters['nameStartsWith'] = requestParameters.nameStartsWith; + } + + if (requestParameters.nameLessThan !== undefined) { + queryParameters['nameLessThan'] = requestParameters.nameLessThan; + } + + if (requestParameters.sortBy) { + queryParameters['sortBy'] = requestParameters.sortBy; + } + + if (requestParameters.sortOrder) { + queryParameters['sortOrder'] = requestParameters.sortOrder; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + if (requestParameters.enableTotalRecordCount !== undefined) { + queryParameters['enableTotalRecordCount'] = requestParameters.enableTotalRecordCount; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Artists`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets all artists from a given item, folder, or the entire library. + */ + async getArtists(requestParameters: GetArtistsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getArtistsRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/AudioApi.ts b/server/jellyfin/apis/AudioApi.ts new file mode 100644 index 0000000..66eb413 --- /dev/null +++ b/server/jellyfin/apis/AudioApi.ts @@ -0,0 +1,1129 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + EncodingContext, + SubtitleDeliveryMethod, +} from '../models'; +import { + EncodingContextFromJSON, + EncodingContextToJSON, + SubtitleDeliveryMethodFromJSON, + SubtitleDeliveryMethodToJSON, +} from '../models'; + +export interface GetAudioStreamRequest { + itemId: string; + container?: string; + _static?: boolean; + params?: string; + tag?: string; + deviceProfileId?: string; + playSessionId?: string; + segmentContainer?: string; + segmentLength?: number; + minSegments?: number; + mediaSourceId?: string; + deviceId?: string; + audioCodec?: string; + enableAutoStreamCopy?: boolean; + allowVideoStreamCopy?: boolean; + allowAudioStreamCopy?: boolean; + breakOnNonKeyFrames?: boolean; + audioSampleRate?: number; + maxAudioBitDepth?: number; + audioBitRate?: number; + audioChannels?: number; + maxAudioChannels?: number; + profile?: string; + level?: string; + framerate?: number; + maxFramerate?: number; + copyTimestamps?: boolean; + startTimeTicks?: number; + width?: number; + height?: number; + videoBitRate?: number; + subtitleStreamIndex?: number; + subtitleMethod?: SubtitleDeliveryMethod; + maxRefFrames?: number; + maxVideoBitDepth?: number; + requireAvc?: boolean; + deInterlace?: boolean; + requireNonAnamorphic?: boolean; + transcodingMaxAudioChannels?: number; + cpuCoreLimit?: number; + liveStreamId?: string; + enableMpegtsM2TsMode?: boolean; + videoCodec?: string; + subtitleCodec?: string; + transcodeReasons?: string; + audioStreamIndex?: number; + videoStreamIndex?: number; + context?: EncodingContext; + streamOptions?: { [key: string]: string; }; +} + +export interface GetAudioStreamByContainerRequest { + itemId: string; + container: string; + _static?: boolean; + params?: string; + tag?: string; + deviceProfileId?: string; + playSessionId?: string; + segmentContainer?: string; + segmentLength?: number; + minSegments?: number; + mediaSourceId?: string; + deviceId?: string; + audioCodec?: string; + enableAutoStreamCopy?: boolean; + allowVideoStreamCopy?: boolean; + allowAudioStreamCopy?: boolean; + breakOnNonKeyFrames?: boolean; + audioSampleRate?: number; + maxAudioBitDepth?: number; + audioBitRate?: number; + audioChannels?: number; + maxAudioChannels?: number; + profile?: string; + level?: string; + framerate?: number; + maxFramerate?: number; + copyTimestamps?: boolean; + startTimeTicks?: number; + width?: number; + height?: number; + videoBitRate?: number; + subtitleStreamIndex?: number; + subtitleMethod?: SubtitleDeliveryMethod; + maxRefFrames?: number; + maxVideoBitDepth?: number; + requireAvc?: boolean; + deInterlace?: boolean; + requireNonAnamorphic?: boolean; + transcodingMaxAudioChannels?: number; + cpuCoreLimit?: number; + liveStreamId?: string; + enableMpegtsM2TsMode?: boolean; + videoCodec?: string; + subtitleCodec?: string; + transcodeReasons?: string; + audioStreamIndex?: number; + videoStreamIndex?: number; + context?: EncodingContext; + streamOptions?: { [key: string]: string; }; +} + +export interface HeadAudioStreamRequest { + itemId: string; + container?: string; + _static?: boolean; + params?: string; + tag?: string; + deviceProfileId?: string; + playSessionId?: string; + segmentContainer?: string; + segmentLength?: number; + minSegments?: number; + mediaSourceId?: string; + deviceId?: string; + audioCodec?: string; + enableAutoStreamCopy?: boolean; + allowVideoStreamCopy?: boolean; + allowAudioStreamCopy?: boolean; + breakOnNonKeyFrames?: boolean; + audioSampleRate?: number; + maxAudioBitDepth?: number; + audioBitRate?: number; + audioChannels?: number; + maxAudioChannels?: number; + profile?: string; + level?: string; + framerate?: number; + maxFramerate?: number; + copyTimestamps?: boolean; + startTimeTicks?: number; + width?: number; + height?: number; + videoBitRate?: number; + subtitleStreamIndex?: number; + subtitleMethod?: SubtitleDeliveryMethod; + maxRefFrames?: number; + maxVideoBitDepth?: number; + requireAvc?: boolean; + deInterlace?: boolean; + requireNonAnamorphic?: boolean; + transcodingMaxAudioChannels?: number; + cpuCoreLimit?: number; + liveStreamId?: string; + enableMpegtsM2TsMode?: boolean; + videoCodec?: string; + subtitleCodec?: string; + transcodeReasons?: string; + audioStreamIndex?: number; + videoStreamIndex?: number; + context?: EncodingContext; + streamOptions?: { [key: string]: string; }; +} + +export interface HeadAudioStreamByContainerRequest { + itemId: string; + container: string; + _static?: boolean; + params?: string; + tag?: string; + deviceProfileId?: string; + playSessionId?: string; + segmentContainer?: string; + segmentLength?: number; + minSegments?: number; + mediaSourceId?: string; + deviceId?: string; + audioCodec?: string; + enableAutoStreamCopy?: boolean; + allowVideoStreamCopy?: boolean; + allowAudioStreamCopy?: boolean; + breakOnNonKeyFrames?: boolean; + audioSampleRate?: number; + maxAudioBitDepth?: number; + audioBitRate?: number; + audioChannels?: number; + maxAudioChannels?: number; + profile?: string; + level?: string; + framerate?: number; + maxFramerate?: number; + copyTimestamps?: boolean; + startTimeTicks?: number; + width?: number; + height?: number; + videoBitRate?: number; + subtitleStreamIndex?: number; + subtitleMethod?: SubtitleDeliveryMethod; + maxRefFrames?: number; + maxVideoBitDepth?: number; + requireAvc?: boolean; + deInterlace?: boolean; + requireNonAnamorphic?: boolean; + transcodingMaxAudioChannels?: number; + cpuCoreLimit?: number; + liveStreamId?: string; + enableMpegtsM2TsMode?: boolean; + videoCodec?: string; + subtitleCodec?: string; + transcodeReasons?: string; + audioStreamIndex?: number; + videoStreamIndex?: number; + context?: EncodingContext; + streamOptions?: { [key: string]: string; }; +} + +/** + * + */ +export class AudioApi extends runtime.BaseAPI { + + /** + * Gets an audio stream. + */ + async getAudioStreamRaw(requestParameters: GetAudioStreamRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getAudioStream.'); + } + + const queryParameters: any = {}; + + if (requestParameters.container !== undefined) { + queryParameters['container'] = requestParameters.container; + } + + if (requestParameters._static !== undefined) { + queryParameters['static'] = requestParameters._static; + } + + if (requestParameters.params !== undefined) { + queryParameters['params'] = requestParameters.params; + } + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.deviceProfileId !== undefined) { + queryParameters['deviceProfileId'] = requestParameters.deviceProfileId; + } + + if (requestParameters.playSessionId !== undefined) { + queryParameters['playSessionId'] = requestParameters.playSessionId; + } + + if (requestParameters.segmentContainer !== undefined) { + queryParameters['segmentContainer'] = requestParameters.segmentContainer; + } + + if (requestParameters.segmentLength !== undefined) { + queryParameters['segmentLength'] = requestParameters.segmentLength; + } + + if (requestParameters.minSegments !== undefined) { + queryParameters['minSegments'] = requestParameters.minSegments; + } + + if (requestParameters.mediaSourceId !== undefined) { + queryParameters['mediaSourceId'] = requestParameters.mediaSourceId; + } + + if (requestParameters.deviceId !== undefined) { + queryParameters['deviceId'] = requestParameters.deviceId; + } + + if (requestParameters.audioCodec !== undefined) { + queryParameters['audioCodec'] = requestParameters.audioCodec; + } + + if (requestParameters.enableAutoStreamCopy !== undefined) { + queryParameters['enableAutoStreamCopy'] = requestParameters.enableAutoStreamCopy; + } + + if (requestParameters.allowVideoStreamCopy !== undefined) { + queryParameters['allowVideoStreamCopy'] = requestParameters.allowVideoStreamCopy; + } + + if (requestParameters.allowAudioStreamCopy !== undefined) { + queryParameters['allowAudioStreamCopy'] = requestParameters.allowAudioStreamCopy; + } + + if (requestParameters.breakOnNonKeyFrames !== undefined) { + queryParameters['breakOnNonKeyFrames'] = requestParameters.breakOnNonKeyFrames; + } + + if (requestParameters.audioSampleRate !== undefined) { + queryParameters['audioSampleRate'] = requestParameters.audioSampleRate; + } + + if (requestParameters.maxAudioBitDepth !== undefined) { + queryParameters['maxAudioBitDepth'] = requestParameters.maxAudioBitDepth; + } + + if (requestParameters.audioBitRate !== undefined) { + queryParameters['audioBitRate'] = requestParameters.audioBitRate; + } + + if (requestParameters.audioChannels !== undefined) { + queryParameters['audioChannels'] = requestParameters.audioChannels; + } + + if (requestParameters.maxAudioChannels !== undefined) { + queryParameters['maxAudioChannels'] = requestParameters.maxAudioChannels; + } + + if (requestParameters.profile !== undefined) { + queryParameters['profile'] = requestParameters.profile; + } + + if (requestParameters.level !== undefined) { + queryParameters['level'] = requestParameters.level; + } + + if (requestParameters.framerate !== undefined) { + queryParameters['framerate'] = requestParameters.framerate; + } + + if (requestParameters.maxFramerate !== undefined) { + queryParameters['maxFramerate'] = requestParameters.maxFramerate; + } + + if (requestParameters.copyTimestamps !== undefined) { + queryParameters['copyTimestamps'] = requestParameters.copyTimestamps; + } + + if (requestParameters.startTimeTicks !== undefined) { + queryParameters['startTimeTicks'] = requestParameters.startTimeTicks; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.videoBitRate !== undefined) { + queryParameters['videoBitRate'] = requestParameters.videoBitRate; + } + + if (requestParameters.subtitleStreamIndex !== undefined) { + queryParameters['subtitleStreamIndex'] = requestParameters.subtitleStreamIndex; + } + + if (requestParameters.subtitleMethod !== undefined) { + queryParameters['subtitleMethod'] = requestParameters.subtitleMethod; + } + + if (requestParameters.maxRefFrames !== undefined) { + queryParameters['maxRefFrames'] = requestParameters.maxRefFrames; + } + + if (requestParameters.maxVideoBitDepth !== undefined) { + queryParameters['maxVideoBitDepth'] = requestParameters.maxVideoBitDepth; + } + + if (requestParameters.requireAvc !== undefined) { + queryParameters['requireAvc'] = requestParameters.requireAvc; + } + + if (requestParameters.deInterlace !== undefined) { + queryParameters['deInterlace'] = requestParameters.deInterlace; + } + + if (requestParameters.requireNonAnamorphic !== undefined) { + queryParameters['requireNonAnamorphic'] = requestParameters.requireNonAnamorphic; + } + + if (requestParameters.transcodingMaxAudioChannels !== undefined) { + queryParameters['transcodingMaxAudioChannels'] = requestParameters.transcodingMaxAudioChannels; + } + + if (requestParameters.cpuCoreLimit !== undefined) { + queryParameters['cpuCoreLimit'] = requestParameters.cpuCoreLimit; + } + + if (requestParameters.liveStreamId !== undefined) { + queryParameters['liveStreamId'] = requestParameters.liveStreamId; + } + + if (requestParameters.enableMpegtsM2TsMode !== undefined) { + queryParameters['enableMpegtsM2TsMode'] = requestParameters.enableMpegtsM2TsMode; + } + + if (requestParameters.videoCodec !== undefined) { + queryParameters['videoCodec'] = requestParameters.videoCodec; + } + + if (requestParameters.subtitleCodec !== undefined) { + queryParameters['subtitleCodec'] = requestParameters.subtitleCodec; + } + + if (requestParameters.transcodeReasons !== undefined) { + queryParameters['transcodeReasons'] = requestParameters.transcodeReasons; + } + + if (requestParameters.audioStreamIndex !== undefined) { + queryParameters['audioStreamIndex'] = requestParameters.audioStreamIndex; + } + + if (requestParameters.videoStreamIndex !== undefined) { + queryParameters['videoStreamIndex'] = requestParameters.videoStreamIndex; + } + + if (requestParameters.context !== undefined) { + queryParameters['context'] = requestParameters.context; + } + + if (requestParameters.streamOptions !== undefined) { + queryParameters['streamOptions'] = requestParameters.streamOptions; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Audio/{itemId}/stream`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets an audio stream. + */ + async getAudioStream(requestParameters: GetAudioStreamRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getAudioStreamRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets an audio stream. + */ + async getAudioStreamByContainerRaw(requestParameters: GetAudioStreamByContainerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getAudioStreamByContainer.'); + } + + if (requestParameters.container === null || requestParameters.container === undefined) { + throw new runtime.RequiredError('container','Required parameter requestParameters.container was null or undefined when calling getAudioStreamByContainer.'); + } + + const queryParameters: any = {}; + + if (requestParameters._static !== undefined) { + queryParameters['static'] = requestParameters._static; + } + + if (requestParameters.params !== undefined) { + queryParameters['params'] = requestParameters.params; + } + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.deviceProfileId !== undefined) { + queryParameters['deviceProfileId'] = requestParameters.deviceProfileId; + } + + if (requestParameters.playSessionId !== undefined) { + queryParameters['playSessionId'] = requestParameters.playSessionId; + } + + if (requestParameters.segmentContainer !== undefined) { + queryParameters['segmentContainer'] = requestParameters.segmentContainer; + } + + if (requestParameters.segmentLength !== undefined) { + queryParameters['segmentLength'] = requestParameters.segmentLength; + } + + if (requestParameters.minSegments !== undefined) { + queryParameters['minSegments'] = requestParameters.minSegments; + } + + if (requestParameters.mediaSourceId !== undefined) { + queryParameters['mediaSourceId'] = requestParameters.mediaSourceId; + } + + if (requestParameters.deviceId !== undefined) { + queryParameters['deviceId'] = requestParameters.deviceId; + } + + if (requestParameters.audioCodec !== undefined) { + queryParameters['audioCodec'] = requestParameters.audioCodec; + } + + if (requestParameters.enableAutoStreamCopy !== undefined) { + queryParameters['enableAutoStreamCopy'] = requestParameters.enableAutoStreamCopy; + } + + if (requestParameters.allowVideoStreamCopy !== undefined) { + queryParameters['allowVideoStreamCopy'] = requestParameters.allowVideoStreamCopy; + } + + if (requestParameters.allowAudioStreamCopy !== undefined) { + queryParameters['allowAudioStreamCopy'] = requestParameters.allowAudioStreamCopy; + } + + if (requestParameters.breakOnNonKeyFrames !== undefined) { + queryParameters['breakOnNonKeyFrames'] = requestParameters.breakOnNonKeyFrames; + } + + if (requestParameters.audioSampleRate !== undefined) { + queryParameters['audioSampleRate'] = requestParameters.audioSampleRate; + } + + if (requestParameters.maxAudioBitDepth !== undefined) { + queryParameters['maxAudioBitDepth'] = requestParameters.maxAudioBitDepth; + } + + if (requestParameters.audioBitRate !== undefined) { + queryParameters['audioBitRate'] = requestParameters.audioBitRate; + } + + if (requestParameters.audioChannels !== undefined) { + queryParameters['audioChannels'] = requestParameters.audioChannels; + } + + if (requestParameters.maxAudioChannels !== undefined) { + queryParameters['maxAudioChannels'] = requestParameters.maxAudioChannels; + } + + if (requestParameters.profile !== undefined) { + queryParameters['profile'] = requestParameters.profile; + } + + if (requestParameters.level !== undefined) { + queryParameters['level'] = requestParameters.level; + } + + if (requestParameters.framerate !== undefined) { + queryParameters['framerate'] = requestParameters.framerate; + } + + if (requestParameters.maxFramerate !== undefined) { + queryParameters['maxFramerate'] = requestParameters.maxFramerate; + } + + if (requestParameters.copyTimestamps !== undefined) { + queryParameters['copyTimestamps'] = requestParameters.copyTimestamps; + } + + if (requestParameters.startTimeTicks !== undefined) { + queryParameters['startTimeTicks'] = requestParameters.startTimeTicks; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.videoBitRate !== undefined) { + queryParameters['videoBitRate'] = requestParameters.videoBitRate; + } + + if (requestParameters.subtitleStreamIndex !== undefined) { + queryParameters['subtitleStreamIndex'] = requestParameters.subtitleStreamIndex; + } + + if (requestParameters.subtitleMethod !== undefined) { + queryParameters['subtitleMethod'] = requestParameters.subtitleMethod; + } + + if (requestParameters.maxRefFrames !== undefined) { + queryParameters['maxRefFrames'] = requestParameters.maxRefFrames; + } + + if (requestParameters.maxVideoBitDepth !== undefined) { + queryParameters['maxVideoBitDepth'] = requestParameters.maxVideoBitDepth; + } + + if (requestParameters.requireAvc !== undefined) { + queryParameters['requireAvc'] = requestParameters.requireAvc; + } + + if (requestParameters.deInterlace !== undefined) { + queryParameters['deInterlace'] = requestParameters.deInterlace; + } + + if (requestParameters.requireNonAnamorphic !== undefined) { + queryParameters['requireNonAnamorphic'] = requestParameters.requireNonAnamorphic; + } + + if (requestParameters.transcodingMaxAudioChannels !== undefined) { + queryParameters['transcodingMaxAudioChannels'] = requestParameters.transcodingMaxAudioChannels; + } + + if (requestParameters.cpuCoreLimit !== undefined) { + queryParameters['cpuCoreLimit'] = requestParameters.cpuCoreLimit; + } + + if (requestParameters.liveStreamId !== undefined) { + queryParameters['liveStreamId'] = requestParameters.liveStreamId; + } + + if (requestParameters.enableMpegtsM2TsMode !== undefined) { + queryParameters['enableMpegtsM2TsMode'] = requestParameters.enableMpegtsM2TsMode; + } + + if (requestParameters.videoCodec !== undefined) { + queryParameters['videoCodec'] = requestParameters.videoCodec; + } + + if (requestParameters.subtitleCodec !== undefined) { + queryParameters['subtitleCodec'] = requestParameters.subtitleCodec; + } + + if (requestParameters.transcodeReasons !== undefined) { + queryParameters['transcodeReasons'] = requestParameters.transcodeReasons; + } + + if (requestParameters.audioStreamIndex !== undefined) { + queryParameters['audioStreamIndex'] = requestParameters.audioStreamIndex; + } + + if (requestParameters.videoStreamIndex !== undefined) { + queryParameters['videoStreamIndex'] = requestParameters.videoStreamIndex; + } + + if (requestParameters.context !== undefined) { + queryParameters['context'] = requestParameters.context; + } + + if (requestParameters.streamOptions !== undefined) { + queryParameters['streamOptions'] = requestParameters.streamOptions; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Audio/{itemId}/stream.{container}`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))).replace(`{${"container"}}`, encodeURIComponent(String(requestParameters.container))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets an audio stream. + */ + async getAudioStreamByContainer(requestParameters: GetAudioStreamByContainerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getAudioStreamByContainerRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets an audio stream. + */ + async headAudioStreamRaw(requestParameters: HeadAudioStreamRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling headAudioStream.'); + } + + const queryParameters: any = {}; + + if (requestParameters.container !== undefined) { + queryParameters['container'] = requestParameters.container; + } + + if (requestParameters._static !== undefined) { + queryParameters['static'] = requestParameters._static; + } + + if (requestParameters.params !== undefined) { + queryParameters['params'] = requestParameters.params; + } + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.deviceProfileId !== undefined) { + queryParameters['deviceProfileId'] = requestParameters.deviceProfileId; + } + + if (requestParameters.playSessionId !== undefined) { + queryParameters['playSessionId'] = requestParameters.playSessionId; + } + + if (requestParameters.segmentContainer !== undefined) { + queryParameters['segmentContainer'] = requestParameters.segmentContainer; + } + + if (requestParameters.segmentLength !== undefined) { + queryParameters['segmentLength'] = requestParameters.segmentLength; + } + + if (requestParameters.minSegments !== undefined) { + queryParameters['minSegments'] = requestParameters.minSegments; + } + + if (requestParameters.mediaSourceId !== undefined) { + queryParameters['mediaSourceId'] = requestParameters.mediaSourceId; + } + + if (requestParameters.deviceId !== undefined) { + queryParameters['deviceId'] = requestParameters.deviceId; + } + + if (requestParameters.audioCodec !== undefined) { + queryParameters['audioCodec'] = requestParameters.audioCodec; + } + + if (requestParameters.enableAutoStreamCopy !== undefined) { + queryParameters['enableAutoStreamCopy'] = requestParameters.enableAutoStreamCopy; + } + + if (requestParameters.allowVideoStreamCopy !== undefined) { + queryParameters['allowVideoStreamCopy'] = requestParameters.allowVideoStreamCopy; + } + + if (requestParameters.allowAudioStreamCopy !== undefined) { + queryParameters['allowAudioStreamCopy'] = requestParameters.allowAudioStreamCopy; + } + + if (requestParameters.breakOnNonKeyFrames !== undefined) { + queryParameters['breakOnNonKeyFrames'] = requestParameters.breakOnNonKeyFrames; + } + + if (requestParameters.audioSampleRate !== undefined) { + queryParameters['audioSampleRate'] = requestParameters.audioSampleRate; + } + + if (requestParameters.maxAudioBitDepth !== undefined) { + queryParameters['maxAudioBitDepth'] = requestParameters.maxAudioBitDepth; + } + + if (requestParameters.audioBitRate !== undefined) { + queryParameters['audioBitRate'] = requestParameters.audioBitRate; + } + + if (requestParameters.audioChannels !== undefined) { + queryParameters['audioChannels'] = requestParameters.audioChannels; + } + + if (requestParameters.maxAudioChannels !== undefined) { + queryParameters['maxAudioChannels'] = requestParameters.maxAudioChannels; + } + + if (requestParameters.profile !== undefined) { + queryParameters['profile'] = requestParameters.profile; + } + + if (requestParameters.level !== undefined) { + queryParameters['level'] = requestParameters.level; + } + + if (requestParameters.framerate !== undefined) { + queryParameters['framerate'] = requestParameters.framerate; + } + + if (requestParameters.maxFramerate !== undefined) { + queryParameters['maxFramerate'] = requestParameters.maxFramerate; + } + + if (requestParameters.copyTimestamps !== undefined) { + queryParameters['copyTimestamps'] = requestParameters.copyTimestamps; + } + + if (requestParameters.startTimeTicks !== undefined) { + queryParameters['startTimeTicks'] = requestParameters.startTimeTicks; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.videoBitRate !== undefined) { + queryParameters['videoBitRate'] = requestParameters.videoBitRate; + } + + if (requestParameters.subtitleStreamIndex !== undefined) { + queryParameters['subtitleStreamIndex'] = requestParameters.subtitleStreamIndex; + } + + if (requestParameters.subtitleMethod !== undefined) { + queryParameters['subtitleMethod'] = requestParameters.subtitleMethod; + } + + if (requestParameters.maxRefFrames !== undefined) { + queryParameters['maxRefFrames'] = requestParameters.maxRefFrames; + } + + if (requestParameters.maxVideoBitDepth !== undefined) { + queryParameters['maxVideoBitDepth'] = requestParameters.maxVideoBitDepth; + } + + if (requestParameters.requireAvc !== undefined) { + queryParameters['requireAvc'] = requestParameters.requireAvc; + } + + if (requestParameters.deInterlace !== undefined) { + queryParameters['deInterlace'] = requestParameters.deInterlace; + } + + if (requestParameters.requireNonAnamorphic !== undefined) { + queryParameters['requireNonAnamorphic'] = requestParameters.requireNonAnamorphic; + } + + if (requestParameters.transcodingMaxAudioChannels !== undefined) { + queryParameters['transcodingMaxAudioChannels'] = requestParameters.transcodingMaxAudioChannels; + } + + if (requestParameters.cpuCoreLimit !== undefined) { + queryParameters['cpuCoreLimit'] = requestParameters.cpuCoreLimit; + } + + if (requestParameters.liveStreamId !== undefined) { + queryParameters['liveStreamId'] = requestParameters.liveStreamId; + } + + if (requestParameters.enableMpegtsM2TsMode !== undefined) { + queryParameters['enableMpegtsM2TsMode'] = requestParameters.enableMpegtsM2TsMode; + } + + if (requestParameters.videoCodec !== undefined) { + queryParameters['videoCodec'] = requestParameters.videoCodec; + } + + if (requestParameters.subtitleCodec !== undefined) { + queryParameters['subtitleCodec'] = requestParameters.subtitleCodec; + } + + if (requestParameters.transcodeReasons !== undefined) { + queryParameters['transcodeReasons'] = requestParameters.transcodeReasons; + } + + if (requestParameters.audioStreamIndex !== undefined) { + queryParameters['audioStreamIndex'] = requestParameters.audioStreamIndex; + } + + if (requestParameters.videoStreamIndex !== undefined) { + queryParameters['videoStreamIndex'] = requestParameters.videoStreamIndex; + } + + if (requestParameters.context !== undefined) { + queryParameters['context'] = requestParameters.context; + } + + if (requestParameters.streamOptions !== undefined) { + queryParameters['streamOptions'] = requestParameters.streamOptions; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Audio/{itemId}/stream`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'HEAD', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets an audio stream. + */ + async headAudioStream(requestParameters: HeadAudioStreamRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.headAudioStreamRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets an audio stream. + */ + async headAudioStreamByContainerRaw(requestParameters: HeadAudioStreamByContainerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling headAudioStreamByContainer.'); + } + + if (requestParameters.container === null || requestParameters.container === undefined) { + throw new runtime.RequiredError('container','Required parameter requestParameters.container was null or undefined when calling headAudioStreamByContainer.'); + } + + const queryParameters: any = {}; + + if (requestParameters._static !== undefined) { + queryParameters['static'] = requestParameters._static; + } + + if (requestParameters.params !== undefined) { + queryParameters['params'] = requestParameters.params; + } + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.deviceProfileId !== undefined) { + queryParameters['deviceProfileId'] = requestParameters.deviceProfileId; + } + + if (requestParameters.playSessionId !== undefined) { + queryParameters['playSessionId'] = requestParameters.playSessionId; + } + + if (requestParameters.segmentContainer !== undefined) { + queryParameters['segmentContainer'] = requestParameters.segmentContainer; + } + + if (requestParameters.segmentLength !== undefined) { + queryParameters['segmentLength'] = requestParameters.segmentLength; + } + + if (requestParameters.minSegments !== undefined) { + queryParameters['minSegments'] = requestParameters.minSegments; + } + + if (requestParameters.mediaSourceId !== undefined) { + queryParameters['mediaSourceId'] = requestParameters.mediaSourceId; + } + + if (requestParameters.deviceId !== undefined) { + queryParameters['deviceId'] = requestParameters.deviceId; + } + + if (requestParameters.audioCodec !== undefined) { + queryParameters['audioCodec'] = requestParameters.audioCodec; + } + + if (requestParameters.enableAutoStreamCopy !== undefined) { + queryParameters['enableAutoStreamCopy'] = requestParameters.enableAutoStreamCopy; + } + + if (requestParameters.allowVideoStreamCopy !== undefined) { + queryParameters['allowVideoStreamCopy'] = requestParameters.allowVideoStreamCopy; + } + + if (requestParameters.allowAudioStreamCopy !== undefined) { + queryParameters['allowAudioStreamCopy'] = requestParameters.allowAudioStreamCopy; + } + + if (requestParameters.breakOnNonKeyFrames !== undefined) { + queryParameters['breakOnNonKeyFrames'] = requestParameters.breakOnNonKeyFrames; + } + + if (requestParameters.audioSampleRate !== undefined) { + queryParameters['audioSampleRate'] = requestParameters.audioSampleRate; + } + + if (requestParameters.maxAudioBitDepth !== undefined) { + queryParameters['maxAudioBitDepth'] = requestParameters.maxAudioBitDepth; + } + + if (requestParameters.audioBitRate !== undefined) { + queryParameters['audioBitRate'] = requestParameters.audioBitRate; + } + + if (requestParameters.audioChannels !== undefined) { + queryParameters['audioChannels'] = requestParameters.audioChannels; + } + + if (requestParameters.maxAudioChannels !== undefined) { + queryParameters['maxAudioChannels'] = requestParameters.maxAudioChannels; + } + + if (requestParameters.profile !== undefined) { + queryParameters['profile'] = requestParameters.profile; + } + + if (requestParameters.level !== undefined) { + queryParameters['level'] = requestParameters.level; + } + + if (requestParameters.framerate !== undefined) { + queryParameters['framerate'] = requestParameters.framerate; + } + + if (requestParameters.maxFramerate !== undefined) { + queryParameters['maxFramerate'] = requestParameters.maxFramerate; + } + + if (requestParameters.copyTimestamps !== undefined) { + queryParameters['copyTimestamps'] = requestParameters.copyTimestamps; + } + + if (requestParameters.startTimeTicks !== undefined) { + queryParameters['startTimeTicks'] = requestParameters.startTimeTicks; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.videoBitRate !== undefined) { + queryParameters['videoBitRate'] = requestParameters.videoBitRate; + } + + if (requestParameters.subtitleStreamIndex !== undefined) { + queryParameters['subtitleStreamIndex'] = requestParameters.subtitleStreamIndex; + } + + if (requestParameters.subtitleMethod !== undefined) { + queryParameters['subtitleMethod'] = requestParameters.subtitleMethod; + } + + if (requestParameters.maxRefFrames !== undefined) { + queryParameters['maxRefFrames'] = requestParameters.maxRefFrames; + } + + if (requestParameters.maxVideoBitDepth !== undefined) { + queryParameters['maxVideoBitDepth'] = requestParameters.maxVideoBitDepth; + } + + if (requestParameters.requireAvc !== undefined) { + queryParameters['requireAvc'] = requestParameters.requireAvc; + } + + if (requestParameters.deInterlace !== undefined) { + queryParameters['deInterlace'] = requestParameters.deInterlace; + } + + if (requestParameters.requireNonAnamorphic !== undefined) { + queryParameters['requireNonAnamorphic'] = requestParameters.requireNonAnamorphic; + } + + if (requestParameters.transcodingMaxAudioChannels !== undefined) { + queryParameters['transcodingMaxAudioChannels'] = requestParameters.transcodingMaxAudioChannels; + } + + if (requestParameters.cpuCoreLimit !== undefined) { + queryParameters['cpuCoreLimit'] = requestParameters.cpuCoreLimit; + } + + if (requestParameters.liveStreamId !== undefined) { + queryParameters['liveStreamId'] = requestParameters.liveStreamId; + } + + if (requestParameters.enableMpegtsM2TsMode !== undefined) { + queryParameters['enableMpegtsM2TsMode'] = requestParameters.enableMpegtsM2TsMode; + } + + if (requestParameters.videoCodec !== undefined) { + queryParameters['videoCodec'] = requestParameters.videoCodec; + } + + if (requestParameters.subtitleCodec !== undefined) { + queryParameters['subtitleCodec'] = requestParameters.subtitleCodec; + } + + if (requestParameters.transcodeReasons !== undefined) { + queryParameters['transcodeReasons'] = requestParameters.transcodeReasons; + } + + if (requestParameters.audioStreamIndex !== undefined) { + queryParameters['audioStreamIndex'] = requestParameters.audioStreamIndex; + } + + if (requestParameters.videoStreamIndex !== undefined) { + queryParameters['videoStreamIndex'] = requestParameters.videoStreamIndex; + } + + if (requestParameters.context !== undefined) { + queryParameters['context'] = requestParameters.context; + } + + if (requestParameters.streamOptions !== undefined) { + queryParameters['streamOptions'] = requestParameters.streamOptions; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Audio/{itemId}/stream.{container}`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))).replace(`{${"container"}}`, encodeURIComponent(String(requestParameters.container))), + method: 'HEAD', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets an audio stream. + */ + async headAudioStreamByContainer(requestParameters: HeadAudioStreamByContainerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.headAudioStreamByContainerRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/BrandingApi.ts b/server/jellyfin/apis/BrandingApi.ts new file mode 100644 index 0000000..9d9f850 --- /dev/null +++ b/server/jellyfin/apis/BrandingApi.ts @@ -0,0 +1,116 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + BrandingOptions, +} from '../models'; +import { + BrandingOptionsFromJSON, + BrandingOptionsToJSON, +} from '../models'; + +/** + * + */ +export class BrandingApi extends runtime.BaseAPI { + + /** + * Gets branding css. + */ + async getBrandingCssRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Branding/Css`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + if (this.isJsonMime(response.headers.get('content-type'))) { + return new runtime.JSONApiResponse(response); + } else { + return new runtime.TextApiResponse(response) as any; + } + } + + /** + * Gets branding css. + */ + async getBrandingCss(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getBrandingCssRaw(initOverrides); + return await response.value(); + } + + /** + * Gets branding css. + */ + async getBrandingCss2Raw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Branding/Css.css`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + if (this.isJsonMime(response.headers.get('content-type'))) { + return new runtime.JSONApiResponse(response); + } else { + return new runtime.TextApiResponse(response) as any; + } + } + + /** + * Gets branding css. + */ + async getBrandingCss2(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getBrandingCss2Raw(initOverrides); + return await response.value(); + } + + /** + * Gets branding configuration. + */ + async getBrandingOptionsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Branding/Configuration`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BrandingOptionsFromJSON(jsonValue)); + } + + /** + * Gets branding configuration. + */ + async getBrandingOptions(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getBrandingOptionsRaw(initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/ChannelsApi.ts b/server/jellyfin/apis/ChannelsApi.ts new file mode 100644 index 0000000..c660008 --- /dev/null +++ b/server/jellyfin/apis/ChannelsApi.ts @@ -0,0 +1,314 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + BaseItemDtoQueryResult, + ChannelFeatures, + ItemFields, + ItemFilter, + SortOrder, +} from '../models'; +import { + BaseItemDtoQueryResultFromJSON, + BaseItemDtoQueryResultToJSON, + ChannelFeaturesFromJSON, + ChannelFeaturesToJSON, + ItemFieldsFromJSON, + ItemFieldsToJSON, + ItemFilterFromJSON, + ItemFilterToJSON, + SortOrderFromJSON, + SortOrderToJSON, +} from '../models'; + +export interface GetChannelFeaturesRequest { + channelId: string; +} + +export interface GetChannelItemsRequest { + channelId: string; + folderId?: string; + userId?: string; + startIndex?: number; + limit?: number; + sortOrder?: Array; + filters?: Array; + sortBy?: Array; + fields?: Array; +} + +export interface GetChannelsRequest { + userId?: string; + startIndex?: number; + limit?: number; + supportsLatestItems?: boolean; + supportsMediaDeletion?: boolean; + isFavorite?: boolean; +} + +export interface GetLatestChannelItemsRequest { + userId?: string; + startIndex?: number; + limit?: number; + filters?: Array; + fields?: Array; + channelIds?: Array; +} + +/** + * + */ +export class ChannelsApi extends runtime.BaseAPI { + + /** + * Get all channel features. + */ + async getAllChannelFeaturesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Channels/Features`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ChannelFeaturesFromJSON)); + } + + /** + * Get all channel features. + */ + async getAllChannelFeatures(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getAllChannelFeaturesRaw(initOverrides); + return await response.value(); + } + + /** + * Get channel features. + */ + async getChannelFeaturesRaw(requestParameters: GetChannelFeaturesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.channelId === null || requestParameters.channelId === undefined) { + throw new runtime.RequiredError('channelId','Required parameter requestParameters.channelId was null or undefined when calling getChannelFeatures.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Channels/{channelId}/Features`.replace(`{${"channelId"}}`, encodeURIComponent(String(requestParameters.channelId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ChannelFeaturesFromJSON(jsonValue)); + } + + /** + * Get channel features. + */ + async getChannelFeatures(requestParameters: GetChannelFeaturesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getChannelFeaturesRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get channel items. + */ + async getChannelItemsRaw(requestParameters: GetChannelItemsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.channelId === null || requestParameters.channelId === undefined) { + throw new runtime.RequiredError('channelId','Required parameter requestParameters.channelId was null or undefined when calling getChannelItems.'); + } + + const queryParameters: any = {}; + + if (requestParameters.folderId !== undefined) { + queryParameters['folderId'] = requestParameters.folderId; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.startIndex !== undefined) { + queryParameters['startIndex'] = requestParameters.startIndex; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.sortOrder) { + queryParameters['sortOrder'] = requestParameters.sortOrder; + } + + if (requestParameters.filters) { + queryParameters['filters'] = requestParameters.filters; + } + + if (requestParameters.sortBy) { + queryParameters['sortBy'] = requestParameters.sortBy; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Channels/{channelId}/Items`.replace(`{${"channelId"}}`, encodeURIComponent(String(requestParameters.channelId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Get channel items. + */ + async getChannelItems(requestParameters: GetChannelItemsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getChannelItemsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets available channels. + */ + async getChannelsRaw(requestParameters: GetChannelsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.startIndex !== undefined) { + queryParameters['startIndex'] = requestParameters.startIndex; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.supportsLatestItems !== undefined) { + queryParameters['supportsLatestItems'] = requestParameters.supportsLatestItems; + } + + if (requestParameters.supportsMediaDeletion !== undefined) { + queryParameters['supportsMediaDeletion'] = requestParameters.supportsMediaDeletion; + } + + if (requestParameters.isFavorite !== undefined) { + queryParameters['isFavorite'] = requestParameters.isFavorite; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Channels`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets available channels. + */ + async getChannels(requestParameters: GetChannelsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getChannelsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets latest channel items. + */ + async getLatestChannelItemsRaw(requestParameters: GetLatestChannelItemsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.startIndex !== undefined) { + queryParameters['startIndex'] = requestParameters.startIndex; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.filters) { + queryParameters['filters'] = requestParameters.filters; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.channelIds) { + queryParameters['channelIds'] = requestParameters.channelIds; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Channels/Items/Latest`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets latest channel items. + */ + async getLatestChannelItems(requestParameters: GetLatestChannelItemsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getLatestChannelItemsRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/ClientLogApi.ts b/server/jellyfin/apis/ClientLogApi.ts new file mode 100644 index 0000000..194e829 --- /dev/null +++ b/server/jellyfin/apis/ClientLogApi.ts @@ -0,0 +1,70 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + ClientLogDocumentResponseDto, + ProblemDetails, +} from '../models'; +import { + ClientLogDocumentResponseDtoFromJSON, + ClientLogDocumentResponseDtoToJSON, + ProblemDetailsFromJSON, + ProblemDetailsToJSON, +} from '../models'; + +export interface LogFileRequest { + body?: Blob; +} + +/** + * + */ +export class ClientLogApi extends runtime.BaseAPI { + + /** + * Upload a document. + */ + async logFileRaw(requestParameters: LogFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'text/plain'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/ClientLog/Document`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: requestParameters.body as any, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ClientLogDocumentResponseDtoFromJSON(jsonValue)); + } + + /** + * Upload a document. + */ + async logFile(requestParameters: LogFileRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.logFileRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/CollectionApi.ts b/server/jellyfin/apis/CollectionApi.ts new file mode 100644 index 0000000..30ecccc --- /dev/null +++ b/server/jellyfin/apis/CollectionApi.ts @@ -0,0 +1,175 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + CollectionCreationResult, +} from '../models'; +import { + CollectionCreationResultFromJSON, + CollectionCreationResultToJSON, +} from '../models'; + +export interface AddToCollectionRequest { + collectionId: string; + ids: Array; +} + +export interface CreateCollectionRequest { + name?: string; + ids?: Array; + parentId?: string; + isLocked?: boolean; +} + +export interface RemoveFromCollectionRequest { + collectionId: string; + ids: Array; +} + +/** + * + */ +export class CollectionApi extends runtime.BaseAPI { + + /** + * Adds items to a collection. + */ + async addToCollectionRaw(requestParameters: AddToCollectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.collectionId === null || requestParameters.collectionId === undefined) { + throw new runtime.RequiredError('collectionId','Required parameter requestParameters.collectionId was null or undefined when calling addToCollection.'); + } + + if (requestParameters.ids === null || requestParameters.ids === undefined) { + throw new runtime.RequiredError('ids','Required parameter requestParameters.ids was null or undefined when calling addToCollection.'); + } + + const queryParameters: any = {}; + + if (requestParameters.ids) { + queryParameters['ids'] = requestParameters.ids; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Collections/{collectionId}/Items`.replace(`{${"collectionId"}}`, encodeURIComponent(String(requestParameters.collectionId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Adds items to a collection. + */ + async addToCollection(requestParameters: AddToCollectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.addToCollectionRaw(requestParameters, initOverrides); + } + + /** + * Creates a new collection. + */ + async createCollectionRaw(requestParameters: CreateCollectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.name !== undefined) { + queryParameters['name'] = requestParameters.name; + } + + if (requestParameters.ids) { + queryParameters['ids'] = requestParameters.ids; + } + + if (requestParameters.parentId !== undefined) { + queryParameters['parentId'] = requestParameters.parentId; + } + + if (requestParameters.isLocked !== undefined) { + queryParameters['isLocked'] = requestParameters.isLocked; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Collections`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => CollectionCreationResultFromJSON(jsonValue)); + } + + /** + * Creates a new collection. + */ + async createCollection(requestParameters: CreateCollectionRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.createCollectionRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Removes items from a collection. + */ + async removeFromCollectionRaw(requestParameters: RemoveFromCollectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.collectionId === null || requestParameters.collectionId === undefined) { + throw new runtime.RequiredError('collectionId','Required parameter requestParameters.collectionId was null or undefined when calling removeFromCollection.'); + } + + if (requestParameters.ids === null || requestParameters.ids === undefined) { + throw new runtime.RequiredError('ids','Required parameter requestParameters.ids was null or undefined when calling removeFromCollection.'); + } + + const queryParameters: any = {}; + + if (requestParameters.ids) { + queryParameters['ids'] = requestParameters.ids; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Collections/{collectionId}/Items`.replace(`{${"collectionId"}}`, encodeURIComponent(String(requestParameters.collectionId))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Removes items from a collection. + */ + async removeFromCollection(requestParameters: RemoveFromCollectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.removeFromCollectionRaw(requestParameters, initOverrides); + } + +} diff --git a/server/jellyfin/apis/ConfigurationApi.ts b/server/jellyfin/apis/ConfigurationApi.ts new file mode 100644 index 0000000..f7aaa2a --- /dev/null +++ b/server/jellyfin/apis/ConfigurationApi.ts @@ -0,0 +1,262 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + MetadataOptions, + ServerConfiguration, + UpdateConfigurationRequest, + UpdateMediaEncoderPathRequest, +} from '../models'; +import { + MetadataOptionsFromJSON, + MetadataOptionsToJSON, + ServerConfigurationFromJSON, + ServerConfigurationToJSON, + UpdateConfigurationRequestFromJSON, + UpdateConfigurationRequestToJSON, + UpdateMediaEncoderPathRequestFromJSON, + UpdateMediaEncoderPathRequestToJSON, +} from '../models'; + +export interface GetNamedConfigurationRequest { + key: string; +} + +export interface UpdateConfigurationOperationRequest { + updateConfigurationRequest: UpdateConfigurationRequest; +} + +export interface UpdateMediaEncoderPathOperationRequest { + updateMediaEncoderPathRequest: UpdateMediaEncoderPathRequest; +} + +export interface UpdateNamedConfigurationRequest { + key: string; + body: any | null; +} + +/** + * + */ +export class ConfigurationApi extends runtime.BaseAPI { + + /** + * Gets application configuration. + */ + async getConfigurationRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/System/Configuration`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ServerConfigurationFromJSON(jsonValue)); + } + + /** + * Gets application configuration. + */ + async getConfiguration(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getConfigurationRaw(initOverrides); + return await response.value(); + } + + /** + * Gets a default MetadataOptions object. + */ + async getDefaultMetadataOptionsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/System/Configuration/MetadataOptions/Default`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => MetadataOptionsFromJSON(jsonValue)); + } + + /** + * Gets a default MetadataOptions object. + */ + async getDefaultMetadataOptions(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getDefaultMetadataOptionsRaw(initOverrides); + return await response.value(); + } + + /** + * Gets a named configuration. + */ + async getNamedConfigurationRaw(requestParameters: GetNamedConfigurationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.key === null || requestParameters.key === undefined) { + throw new runtime.RequiredError('key','Required parameter requestParameters.key was null or undefined when calling getNamedConfiguration.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/System/Configuration/{key}`.replace(`{${"key"}}`, encodeURIComponent(String(requestParameters.key))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets a named configuration. + */ + async getNamedConfiguration(requestParameters: GetNamedConfigurationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getNamedConfigurationRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Updates application configuration. + */ + async updateConfigurationRaw(requestParameters: UpdateConfigurationOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.updateConfigurationRequest === null || requestParameters.updateConfigurationRequest === undefined) { + throw new runtime.RequiredError('updateConfigurationRequest','Required parameter requestParameters.updateConfigurationRequest was null or undefined when calling updateConfiguration.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/System/Configuration`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: UpdateConfigurationRequestToJSON(requestParameters.updateConfigurationRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Updates application configuration. + */ + async updateConfiguration(requestParameters: UpdateConfigurationOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.updateConfigurationRaw(requestParameters, initOverrides); + } + + /** + * Updates the path to the media encoder. + */ + async updateMediaEncoderPathRaw(requestParameters: UpdateMediaEncoderPathOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.updateMediaEncoderPathRequest === null || requestParameters.updateMediaEncoderPathRequest === undefined) { + throw new runtime.RequiredError('updateMediaEncoderPathRequest','Required parameter requestParameters.updateMediaEncoderPathRequest was null or undefined when calling updateMediaEncoderPath.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/System/MediaEncoder/Path`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: UpdateMediaEncoderPathRequestToJSON(requestParameters.updateMediaEncoderPathRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Updates the path to the media encoder. + */ + async updateMediaEncoderPath(requestParameters: UpdateMediaEncoderPathOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.updateMediaEncoderPathRaw(requestParameters, initOverrides); + } + + /** + * Updates named configuration. + */ + async updateNamedConfigurationRaw(requestParameters: UpdateNamedConfigurationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.key === null || requestParameters.key === undefined) { + throw new runtime.RequiredError('key','Required parameter requestParameters.key was null or undefined when calling updateNamedConfiguration.'); + } + + if (requestParameters.body === null || requestParameters.body === undefined) { + throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling updateNamedConfiguration.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/System/Configuration/{key}`.replace(`{${"key"}}`, encodeURIComponent(String(requestParameters.key))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: requestParameters.body as any, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Updates named configuration. + */ + async updateNamedConfiguration(requestParameters: UpdateNamedConfigurationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.updateNamedConfigurationRaw(requestParameters, initOverrides); + } + +} diff --git a/server/jellyfin/apis/DashboardApi.ts b/server/jellyfin/apis/DashboardApi.ts new file mode 100644 index 0000000..90bca97 --- /dev/null +++ b/server/jellyfin/apis/DashboardApi.ts @@ -0,0 +1,105 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + ConfigurationPageInfo, + ProblemDetails, +} from '../models'; +import { + ConfigurationPageInfoFromJSON, + ConfigurationPageInfoToJSON, + ProblemDetailsFromJSON, + ProblemDetailsToJSON, +} from '../models'; + +export interface GetConfigurationPagesRequest { + enableInMainMenu?: boolean; +} + +export interface GetDashboardConfigurationPageRequest { + name?: string; +} + +/** + * + */ +export class DashboardApi extends runtime.BaseAPI { + + /** + * Gets the configuration pages. + */ + async getConfigurationPagesRaw(requestParameters: GetConfigurationPagesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + if (requestParameters.enableInMainMenu !== undefined) { + queryParameters['enableInMainMenu'] = requestParameters.enableInMainMenu; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/web/ConfigurationPages`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ConfigurationPageInfoFromJSON)); + } + + /** + * Gets the configuration pages. + */ + async getConfigurationPages(requestParameters: GetConfigurationPagesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getConfigurationPagesRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a dashboard configuration page. + */ + async getDashboardConfigurationPageRaw(requestParameters: GetDashboardConfigurationPageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.name !== undefined) { + queryParameters['name'] = requestParameters.name; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/web/ConfigurationPage`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets a dashboard configuration page. + */ + async getDashboardConfigurationPage(requestParameters: GetDashboardConfigurationPageRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getDashboardConfigurationPageRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/DevicesApi.ts b/server/jellyfin/apis/DevicesApi.ts new file mode 100644 index 0000000..48e5d41 --- /dev/null +++ b/server/jellyfin/apis/DevicesApi.ts @@ -0,0 +1,259 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + DeviceInfo, + DeviceInfoQueryResult, + DeviceOptions, + ProblemDetails, + UpdateDeviceOptionsRequest, +} from '../models'; +import { + DeviceInfoFromJSON, + DeviceInfoToJSON, + DeviceInfoQueryResultFromJSON, + DeviceInfoQueryResultToJSON, + DeviceOptionsFromJSON, + DeviceOptionsToJSON, + ProblemDetailsFromJSON, + ProblemDetailsToJSON, + UpdateDeviceOptionsRequestFromJSON, + UpdateDeviceOptionsRequestToJSON, +} from '../models'; + +export interface DeleteDeviceRequest { + id: string; +} + +export interface GetDeviceInfoRequest { + id: string; +} + +export interface GetDeviceOptionsRequest { + id: string; +} + +export interface GetDevicesRequest { + supportsSync?: boolean; + userId?: string; +} + +export interface UpdateDeviceOptionsOperationRequest { + id: string; + updateDeviceOptionsRequest: UpdateDeviceOptionsRequest; +} + +/** + * + */ +export class DevicesApi extends runtime.BaseAPI { + + /** + * Deletes a device. + */ + async deleteDeviceRaw(requestParameters: DeleteDeviceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling deleteDevice.'); + } + + const queryParameters: any = {}; + + if (requestParameters.id !== undefined) { + queryParameters['id'] = requestParameters.id; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Devices`, + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Deletes a device. + */ + async deleteDevice(requestParameters: DeleteDeviceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.deleteDeviceRaw(requestParameters, initOverrides); + } + + /** + * Get info for a device. + */ + async getDeviceInfoRaw(requestParameters: GetDeviceInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getDeviceInfo.'); + } + + const queryParameters: any = {}; + + if (requestParameters.id !== undefined) { + queryParameters['id'] = requestParameters.id; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Devices/Info`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => DeviceInfoFromJSON(jsonValue)); + } + + /** + * Get info for a device. + */ + async getDeviceInfo(requestParameters: GetDeviceInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getDeviceInfoRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get options for a device. + */ + async getDeviceOptionsRaw(requestParameters: GetDeviceOptionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getDeviceOptions.'); + } + + const queryParameters: any = {}; + + if (requestParameters.id !== undefined) { + queryParameters['id'] = requestParameters.id; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Devices/Options`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => DeviceOptionsFromJSON(jsonValue)); + } + + /** + * Get options for a device. + */ + async getDeviceOptions(requestParameters: GetDeviceOptionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getDeviceOptionsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get Devices. + */ + async getDevicesRaw(requestParameters: GetDevicesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.supportsSync !== undefined) { + queryParameters['supportsSync'] = requestParameters.supportsSync; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Devices`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => DeviceInfoQueryResultFromJSON(jsonValue)); + } + + /** + * Get Devices. + */ + async getDevices(requestParameters: GetDevicesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getDevicesRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Update device options. + */ + async updateDeviceOptionsRaw(requestParameters: UpdateDeviceOptionsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling updateDeviceOptions.'); + } + + if (requestParameters.updateDeviceOptionsRequest === null || requestParameters.updateDeviceOptionsRequest === undefined) { + throw new runtime.RequiredError('updateDeviceOptionsRequest','Required parameter requestParameters.updateDeviceOptionsRequest was null or undefined when calling updateDeviceOptions.'); + } + + const queryParameters: any = {}; + + if (requestParameters.id !== undefined) { + queryParameters['id'] = requestParameters.id; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Devices/Options`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: UpdateDeviceOptionsRequestToJSON(requestParameters.updateDeviceOptionsRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Update device options. + */ + async updateDeviceOptions(requestParameters: UpdateDeviceOptionsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.updateDeviceOptionsRaw(requestParameters, initOverrides); + } + +} diff --git a/server/jellyfin/apis/DisplayPreferencesApi.ts b/server/jellyfin/apis/DisplayPreferencesApi.ts new file mode 100644 index 0000000..269ab41 --- /dev/null +++ b/server/jellyfin/apis/DisplayPreferencesApi.ts @@ -0,0 +1,152 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + DisplayPreferencesDto, + UpdateDisplayPreferencesRequest, +} from '../models'; +import { + DisplayPreferencesDtoFromJSON, + DisplayPreferencesDtoToJSON, + UpdateDisplayPreferencesRequestFromJSON, + UpdateDisplayPreferencesRequestToJSON, +} from '../models'; + +export interface GetDisplayPreferencesRequest { + displayPreferencesId: string; + userId: string; + client: string; +} + +export interface UpdateDisplayPreferencesOperationRequest { + displayPreferencesId: string; + userId: string; + client: string; + updateDisplayPreferencesRequest: UpdateDisplayPreferencesRequest; +} + +/** + * + */ +export class DisplayPreferencesApi extends runtime.BaseAPI { + + /** + * Get Display Preferences. + */ + async getDisplayPreferencesRaw(requestParameters: GetDisplayPreferencesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.displayPreferencesId === null || requestParameters.displayPreferencesId === undefined) { + throw new runtime.RequiredError('displayPreferencesId','Required parameter requestParameters.displayPreferencesId was null or undefined when calling getDisplayPreferences.'); + } + + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling getDisplayPreferences.'); + } + + if (requestParameters.client === null || requestParameters.client === undefined) { + throw new runtime.RequiredError('client','Required parameter requestParameters.client was null or undefined when calling getDisplayPreferences.'); + } + + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.client !== undefined) { + queryParameters['client'] = requestParameters.client; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/DisplayPreferences/{displayPreferencesId}`.replace(`{${"displayPreferencesId"}}`, encodeURIComponent(String(requestParameters.displayPreferencesId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => DisplayPreferencesDtoFromJSON(jsonValue)); + } + + /** + * Get Display Preferences. + */ + async getDisplayPreferences(requestParameters: GetDisplayPreferencesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getDisplayPreferencesRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Update Display Preferences. + */ + async updateDisplayPreferencesRaw(requestParameters: UpdateDisplayPreferencesOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.displayPreferencesId === null || requestParameters.displayPreferencesId === undefined) { + throw new runtime.RequiredError('displayPreferencesId','Required parameter requestParameters.displayPreferencesId was null or undefined when calling updateDisplayPreferences.'); + } + + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling updateDisplayPreferences.'); + } + + if (requestParameters.client === null || requestParameters.client === undefined) { + throw new runtime.RequiredError('client','Required parameter requestParameters.client was null or undefined when calling updateDisplayPreferences.'); + } + + if (requestParameters.updateDisplayPreferencesRequest === null || requestParameters.updateDisplayPreferencesRequest === undefined) { + throw new runtime.RequiredError('updateDisplayPreferencesRequest','Required parameter requestParameters.updateDisplayPreferencesRequest was null or undefined when calling updateDisplayPreferences.'); + } + + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.client !== undefined) { + queryParameters['client'] = requestParameters.client; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/DisplayPreferences/{displayPreferencesId}`.replace(`{${"displayPreferencesId"}}`, encodeURIComponent(String(requestParameters.displayPreferencesId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: UpdateDisplayPreferencesRequestToJSON(requestParameters.updateDisplayPreferencesRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Update Display Preferences. + */ + async updateDisplayPreferences(requestParameters: UpdateDisplayPreferencesOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.updateDisplayPreferencesRaw(requestParameters, initOverrides); + } + +} diff --git a/server/jellyfin/apis/DlnaApi.ts b/server/jellyfin/apis/DlnaApi.ts new file mode 100644 index 0000000..273ac0d --- /dev/null +++ b/server/jellyfin/apis/DlnaApi.ts @@ -0,0 +1,251 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + CreateProfileRequest, + DeviceProfile, + DeviceProfileInfo, + ProblemDetails, +} from '../models'; +import { + CreateProfileRequestFromJSON, + CreateProfileRequestToJSON, + DeviceProfileFromJSON, + DeviceProfileToJSON, + DeviceProfileInfoFromJSON, + DeviceProfileInfoToJSON, + ProblemDetailsFromJSON, + ProblemDetailsToJSON, +} from '../models'; + +export interface CreateProfileOperationRequest { + createProfileRequest?: CreateProfileRequest; +} + +export interface DeleteProfileRequest { + profileId: string; +} + +export interface GetProfileRequest { + profileId: string; +} + +export interface UpdateProfileRequest { + profileId: string; + createProfileRequest?: CreateProfileRequest; +} + +/** + * + */ +export class DlnaApi extends runtime.BaseAPI { + + /** + * Creates a profile. + */ + async createProfileRaw(requestParameters: CreateProfileOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Dlna/Profiles`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: CreateProfileRequestToJSON(requestParameters.createProfileRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Creates a profile. + */ + async createProfile(requestParameters: CreateProfileOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.createProfileRaw(requestParameters, initOverrides); + } + + /** + * Deletes a profile. + */ + async deleteProfileRaw(requestParameters: DeleteProfileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.profileId === null || requestParameters.profileId === undefined) { + throw new runtime.RequiredError('profileId','Required parameter requestParameters.profileId was null or undefined when calling deleteProfile.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Dlna/Profiles/{profileId}`.replace(`{${"profileId"}}`, encodeURIComponent(String(requestParameters.profileId))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Deletes a profile. + */ + async deleteProfile(requestParameters: DeleteProfileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.deleteProfileRaw(requestParameters, initOverrides); + } + + /** + * Gets the default profile. + */ + async getDefaultProfileRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Dlna/Profiles/Default`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => DeviceProfileFromJSON(jsonValue)); + } + + /** + * Gets the default profile. + */ + async getDefaultProfile(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getDefaultProfileRaw(initOverrides); + return await response.value(); + } + + /** + * Gets a single profile. + */ + async getProfileRaw(requestParameters: GetProfileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.profileId === null || requestParameters.profileId === undefined) { + throw new runtime.RequiredError('profileId','Required parameter requestParameters.profileId was null or undefined when calling getProfile.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Dlna/Profiles/{profileId}`.replace(`{${"profileId"}}`, encodeURIComponent(String(requestParameters.profileId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => DeviceProfileFromJSON(jsonValue)); + } + + /** + * Gets a single profile. + */ + async getProfile(requestParameters: GetProfileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getProfileRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get profile infos. + */ + async getProfileInfosRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Dlna/ProfileInfos`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(DeviceProfileInfoFromJSON)); + } + + /** + * Get profile infos. + */ + async getProfileInfos(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getProfileInfosRaw(initOverrides); + return await response.value(); + } + + /** + * Updates a profile. + */ + async updateProfileRaw(requestParameters: UpdateProfileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.profileId === null || requestParameters.profileId === undefined) { + throw new runtime.RequiredError('profileId','Required parameter requestParameters.profileId was null or undefined when calling updateProfile.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Dlna/Profiles/{profileId}`.replace(`{${"profileId"}}`, encodeURIComponent(String(requestParameters.profileId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: CreateProfileRequestToJSON(requestParameters.createProfileRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Updates a profile. + */ + async updateProfile(requestParameters: UpdateProfileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.updateProfileRaw(requestParameters, initOverrides); + } + +} diff --git a/server/jellyfin/apis/DlnaServerApi.ts b/server/jellyfin/apis/DlnaServerApi.ts new file mode 100644 index 0000000..761591c --- /dev/null +++ b/server/jellyfin/apis/DlnaServerApi.ts @@ -0,0 +1,643 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + ProblemDetails, +} from '../models'; +import { + ProblemDetailsFromJSON, + ProblemDetailsToJSON, +} from '../models'; + +export interface GetConnectionManagerRequest { + serverId: string; +} + +export interface GetConnectionManager2Request { + serverId: string; +} + +export interface GetConnectionManager3Request { + serverId: string; +} + +export interface GetContentDirectoryRequest { + serverId: string; +} + +export interface GetContentDirectory2Request { + serverId: string; +} + +export interface GetContentDirectory3Request { + serverId: string; +} + +export interface GetDescriptionXmlRequest { + serverId: string; +} + +export interface GetDescriptionXml2Request { + serverId: string; +} + +export interface GetIconRequest { + fileName: string; +} + +export interface GetIconIdRequest { + serverId: string; + fileName: string; +} + +export interface GetMediaReceiverRegistrarRequest { + serverId: string; +} + +export interface GetMediaReceiverRegistrar2Request { + serverId: string; +} + +export interface GetMediaReceiverRegistrar3Request { + serverId: string; +} + +export interface ProcessConnectionManagerControlRequestRequest { + serverId: string; +} + +export interface ProcessContentDirectoryControlRequestRequest { + serverId: string; +} + +export interface ProcessMediaReceiverRegistrarControlRequestRequest { + serverId: string; +} + +/** + * + */ +export class DlnaServerApi extends runtime.BaseAPI { + + /** + * Gets Dlna media receiver registrar xml. + */ + async getConnectionManagerRaw(requestParameters: GetConnectionManagerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.serverId === null || requestParameters.serverId === undefined) { + throw new runtime.RequiredError('serverId','Required parameter requestParameters.serverId was null or undefined when calling getConnectionManager.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Dlna/{serverId}/ConnectionManager`.replace(`{${"serverId"}}`, encodeURIComponent(String(requestParameters.serverId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets Dlna media receiver registrar xml. + */ + async getConnectionManager(requestParameters: GetConnectionManagerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getConnectionManagerRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets Dlna media receiver registrar xml. + */ + async getConnectionManager2Raw(requestParameters: GetConnectionManager2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.serverId === null || requestParameters.serverId === undefined) { + throw new runtime.RequiredError('serverId','Required parameter requestParameters.serverId was null or undefined when calling getConnectionManager2.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Dlna/{serverId}/ConnectionManager/ConnectionManager`.replace(`{${"serverId"}}`, encodeURIComponent(String(requestParameters.serverId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets Dlna media receiver registrar xml. + */ + async getConnectionManager2(requestParameters: GetConnectionManager2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getConnectionManager2Raw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets Dlna media receiver registrar xml. + */ + async getConnectionManager3Raw(requestParameters: GetConnectionManager3Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.serverId === null || requestParameters.serverId === undefined) { + throw new runtime.RequiredError('serverId','Required parameter requestParameters.serverId was null or undefined when calling getConnectionManager3.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Dlna/{serverId}/ConnectionManager/ConnectionManager.xml`.replace(`{${"serverId"}}`, encodeURIComponent(String(requestParameters.serverId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets Dlna media receiver registrar xml. + */ + async getConnectionManager3(requestParameters: GetConnectionManager3Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getConnectionManager3Raw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets Dlna content directory xml. + */ + async getContentDirectoryRaw(requestParameters: GetContentDirectoryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.serverId === null || requestParameters.serverId === undefined) { + throw new runtime.RequiredError('serverId','Required parameter requestParameters.serverId was null or undefined when calling getContentDirectory.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Dlna/{serverId}/ContentDirectory`.replace(`{${"serverId"}}`, encodeURIComponent(String(requestParameters.serverId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets Dlna content directory xml. + */ + async getContentDirectory(requestParameters: GetContentDirectoryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getContentDirectoryRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets Dlna content directory xml. + */ + async getContentDirectory2Raw(requestParameters: GetContentDirectory2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.serverId === null || requestParameters.serverId === undefined) { + throw new runtime.RequiredError('serverId','Required parameter requestParameters.serverId was null or undefined when calling getContentDirectory2.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Dlna/{serverId}/ContentDirectory/ContentDirectory`.replace(`{${"serverId"}}`, encodeURIComponent(String(requestParameters.serverId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets Dlna content directory xml. + */ + async getContentDirectory2(requestParameters: GetContentDirectory2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getContentDirectory2Raw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets Dlna content directory xml. + */ + async getContentDirectory3Raw(requestParameters: GetContentDirectory3Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.serverId === null || requestParameters.serverId === undefined) { + throw new runtime.RequiredError('serverId','Required parameter requestParameters.serverId was null or undefined when calling getContentDirectory3.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Dlna/{serverId}/ContentDirectory/ContentDirectory.xml`.replace(`{${"serverId"}}`, encodeURIComponent(String(requestParameters.serverId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets Dlna content directory xml. + */ + async getContentDirectory3(requestParameters: GetContentDirectory3Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getContentDirectory3Raw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get Description Xml. + */ + async getDescriptionXmlRaw(requestParameters: GetDescriptionXmlRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.serverId === null || requestParameters.serverId === undefined) { + throw new runtime.RequiredError('serverId','Required parameter requestParameters.serverId was null or undefined when calling getDescriptionXml.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Dlna/{serverId}/description`.replace(`{${"serverId"}}`, encodeURIComponent(String(requestParameters.serverId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get Description Xml. + */ + async getDescriptionXml(requestParameters: GetDescriptionXmlRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getDescriptionXmlRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get Description Xml. + */ + async getDescriptionXml2Raw(requestParameters: GetDescriptionXml2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.serverId === null || requestParameters.serverId === undefined) { + throw new runtime.RequiredError('serverId','Required parameter requestParameters.serverId was null or undefined when calling getDescriptionXml2.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Dlna/{serverId}/description.xml`.replace(`{${"serverId"}}`, encodeURIComponent(String(requestParameters.serverId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get Description Xml. + */ + async getDescriptionXml2(requestParameters: GetDescriptionXml2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getDescriptionXml2Raw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a server icon. + */ + async getIconRaw(requestParameters: GetIconRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.fileName === null || requestParameters.fileName === undefined) { + throw new runtime.RequiredError('fileName','Required parameter requestParameters.fileName was null or undefined when calling getIcon.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Dlna/icons/{fileName}`.replace(`{${"fileName"}}`, encodeURIComponent(String(requestParameters.fileName))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets a server icon. + */ + async getIcon(requestParameters: GetIconRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getIconRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a server icon. + */ + async getIconIdRaw(requestParameters: GetIconIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.serverId === null || requestParameters.serverId === undefined) { + throw new runtime.RequiredError('serverId','Required parameter requestParameters.serverId was null or undefined when calling getIconId.'); + } + + if (requestParameters.fileName === null || requestParameters.fileName === undefined) { + throw new runtime.RequiredError('fileName','Required parameter requestParameters.fileName was null or undefined when calling getIconId.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Dlna/{serverId}/icons/{fileName}`.replace(`{${"serverId"}}`, encodeURIComponent(String(requestParameters.serverId))).replace(`{${"fileName"}}`, encodeURIComponent(String(requestParameters.fileName))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets a server icon. + */ + async getIconId(requestParameters: GetIconIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getIconIdRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets Dlna media receiver registrar xml. + */ + async getMediaReceiverRegistrarRaw(requestParameters: GetMediaReceiverRegistrarRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.serverId === null || requestParameters.serverId === undefined) { + throw new runtime.RequiredError('serverId','Required parameter requestParameters.serverId was null or undefined when calling getMediaReceiverRegistrar.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Dlna/{serverId}/MediaReceiverRegistrar`.replace(`{${"serverId"}}`, encodeURIComponent(String(requestParameters.serverId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets Dlna media receiver registrar xml. + */ + async getMediaReceiverRegistrar(requestParameters: GetMediaReceiverRegistrarRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getMediaReceiverRegistrarRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets Dlna media receiver registrar xml. + */ + async getMediaReceiverRegistrar2Raw(requestParameters: GetMediaReceiverRegistrar2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.serverId === null || requestParameters.serverId === undefined) { + throw new runtime.RequiredError('serverId','Required parameter requestParameters.serverId was null or undefined when calling getMediaReceiverRegistrar2.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Dlna/{serverId}/MediaReceiverRegistrar/MediaReceiverRegistrar`.replace(`{${"serverId"}}`, encodeURIComponent(String(requestParameters.serverId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets Dlna media receiver registrar xml. + */ + async getMediaReceiverRegistrar2(requestParameters: GetMediaReceiverRegistrar2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getMediaReceiverRegistrar2Raw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets Dlna media receiver registrar xml. + */ + async getMediaReceiverRegistrar3Raw(requestParameters: GetMediaReceiverRegistrar3Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.serverId === null || requestParameters.serverId === undefined) { + throw new runtime.RequiredError('serverId','Required parameter requestParameters.serverId was null or undefined when calling getMediaReceiverRegistrar3.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Dlna/{serverId}/MediaReceiverRegistrar/MediaReceiverRegistrar.xml`.replace(`{${"serverId"}}`, encodeURIComponent(String(requestParameters.serverId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets Dlna media receiver registrar xml. + */ + async getMediaReceiverRegistrar3(requestParameters: GetMediaReceiverRegistrar3Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getMediaReceiverRegistrar3Raw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Process a connection manager control request. + */ + async processConnectionManagerControlRequestRaw(requestParameters: ProcessConnectionManagerControlRequestRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.serverId === null || requestParameters.serverId === undefined) { + throw new runtime.RequiredError('serverId','Required parameter requestParameters.serverId was null or undefined when calling processConnectionManagerControlRequest.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Dlna/{serverId}/ConnectionManager/Control`.replace(`{${"serverId"}}`, encodeURIComponent(String(requestParameters.serverId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Process a connection manager control request. + */ + async processConnectionManagerControlRequest(requestParameters: ProcessConnectionManagerControlRequestRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.processConnectionManagerControlRequestRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Process a content directory control request. + */ + async processContentDirectoryControlRequestRaw(requestParameters: ProcessContentDirectoryControlRequestRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.serverId === null || requestParameters.serverId === undefined) { + throw new runtime.RequiredError('serverId','Required parameter requestParameters.serverId was null or undefined when calling processContentDirectoryControlRequest.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Dlna/{serverId}/ContentDirectory/Control`.replace(`{${"serverId"}}`, encodeURIComponent(String(requestParameters.serverId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Process a content directory control request. + */ + async processContentDirectoryControlRequest(requestParameters: ProcessContentDirectoryControlRequestRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.processContentDirectoryControlRequestRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Process a media receiver registrar control request. + */ + async processMediaReceiverRegistrarControlRequestRaw(requestParameters: ProcessMediaReceiverRegistrarControlRequestRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.serverId === null || requestParameters.serverId === undefined) { + throw new runtime.RequiredError('serverId','Required parameter requestParameters.serverId was null or undefined when calling processMediaReceiverRegistrarControlRequest.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Dlna/{serverId}/MediaReceiverRegistrar/Control`.replace(`{${"serverId"}}`, encodeURIComponent(String(requestParameters.serverId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Process a media receiver registrar control request. + */ + async processMediaReceiverRegistrarControlRequest(requestParameters: ProcessMediaReceiverRegistrarControlRequestRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.processMediaReceiverRegistrarControlRequestRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/DynamicHlsApi.ts b/server/jellyfin/apis/DynamicHlsApi.ts new file mode 100644 index 0000000..af7a51f --- /dev/null +++ b/server/jellyfin/apis/DynamicHlsApi.ts @@ -0,0 +1,2672 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + EncodingContext, + SubtitleDeliveryMethod, +} from '../models'; +import { + EncodingContextFromJSON, + EncodingContextToJSON, + SubtitleDeliveryMethodFromJSON, + SubtitleDeliveryMethodToJSON, +} from '../models'; + +export interface GetHlsAudioSegmentRequest { + itemId: string; + playlistId: string; + segmentId: number; + container: string; + runtimeTicks: number; + actualSegmentLengthTicks: number; + _static?: boolean; + params?: string; + tag?: string; + deviceProfileId?: string; + playSessionId?: string; + segmentContainer?: string; + segmentLength?: number; + minSegments?: number; + mediaSourceId?: string; + deviceId?: string; + audioCodec?: string; + enableAutoStreamCopy?: boolean; + allowVideoStreamCopy?: boolean; + allowAudioStreamCopy?: boolean; + breakOnNonKeyFrames?: boolean; + audioSampleRate?: number; + maxAudioBitDepth?: number; + maxStreamingBitrate?: number; + audioBitRate?: number; + audioChannels?: number; + maxAudioChannels?: number; + profile?: string; + level?: string; + framerate?: number; + maxFramerate?: number; + copyTimestamps?: boolean; + startTimeTicks?: number; + width?: number; + height?: number; + videoBitRate?: number; + subtitleStreamIndex?: number; + subtitleMethod?: SubtitleDeliveryMethod; + maxRefFrames?: number; + maxVideoBitDepth?: number; + requireAvc?: boolean; + deInterlace?: boolean; + requireNonAnamorphic?: boolean; + transcodingMaxAudioChannels?: number; + cpuCoreLimit?: number; + liveStreamId?: string; + enableMpegtsM2TsMode?: boolean; + videoCodec?: string; + subtitleCodec?: string; + transcodeReasons?: string; + audioStreamIndex?: number; + videoStreamIndex?: number; + context?: EncodingContext; + streamOptions?: { [key: string]: string; }; +} + +export interface GetHlsVideoSegmentRequest { + itemId: string; + playlistId: string; + segmentId: number; + container: string; + runtimeTicks: number; + actualSegmentLengthTicks: number; + _static?: boolean; + params?: string; + tag?: string; + deviceProfileId?: string; + playSessionId?: string; + segmentContainer?: string; + segmentLength?: number; + minSegments?: number; + mediaSourceId?: string; + deviceId?: string; + audioCodec?: string; + enableAutoStreamCopy?: boolean; + allowVideoStreamCopy?: boolean; + allowAudioStreamCopy?: boolean; + breakOnNonKeyFrames?: boolean; + audioSampleRate?: number; + maxAudioBitDepth?: number; + audioBitRate?: number; + audioChannels?: number; + maxAudioChannels?: number; + profile?: string; + level?: string; + framerate?: number; + maxFramerate?: number; + copyTimestamps?: boolean; + startTimeTicks?: number; + width?: number; + height?: number; + maxWidth?: number; + maxHeight?: number; + videoBitRate?: number; + subtitleStreamIndex?: number; + subtitleMethod?: SubtitleDeliveryMethod; + maxRefFrames?: number; + maxVideoBitDepth?: number; + requireAvc?: boolean; + deInterlace?: boolean; + requireNonAnamorphic?: boolean; + transcodingMaxAudioChannels?: number; + cpuCoreLimit?: number; + liveStreamId?: string; + enableMpegtsM2TsMode?: boolean; + videoCodec?: string; + subtitleCodec?: string; + transcodeReasons?: string; + audioStreamIndex?: number; + videoStreamIndex?: number; + context?: EncodingContext; + streamOptions?: { [key: string]: string; }; +} + +export interface GetLiveHlsStreamRequest { + itemId: string; + container?: string; + _static?: boolean; + params?: string; + tag?: string; + deviceProfileId?: string; + playSessionId?: string; + segmentContainer?: string; + segmentLength?: number; + minSegments?: number; + mediaSourceId?: string; + deviceId?: string; + audioCodec?: string; + enableAutoStreamCopy?: boolean; + allowVideoStreamCopy?: boolean; + allowAudioStreamCopy?: boolean; + breakOnNonKeyFrames?: boolean; + audioSampleRate?: number; + maxAudioBitDepth?: number; + audioBitRate?: number; + audioChannels?: number; + maxAudioChannels?: number; + profile?: string; + level?: string; + framerate?: number; + maxFramerate?: number; + copyTimestamps?: boolean; + startTimeTicks?: number; + width?: number; + height?: number; + videoBitRate?: number; + subtitleStreamIndex?: number; + subtitleMethod?: SubtitleDeliveryMethod; + maxRefFrames?: number; + maxVideoBitDepth?: number; + requireAvc?: boolean; + deInterlace?: boolean; + requireNonAnamorphic?: boolean; + transcodingMaxAudioChannels?: number; + cpuCoreLimit?: number; + liveStreamId?: string; + enableMpegtsM2TsMode?: boolean; + videoCodec?: string; + subtitleCodec?: string; + transcodeReasons?: string; + audioStreamIndex?: number; + videoStreamIndex?: number; + context?: EncodingContext; + streamOptions?: { [key: string]: string; }; + maxWidth?: number; + maxHeight?: number; + enableSubtitlesInManifest?: boolean; +} + +export interface GetMasterHlsAudioPlaylistRequest { + itemId: string; + mediaSourceId: string; + _static?: boolean; + params?: string; + tag?: string; + deviceProfileId?: string; + playSessionId?: string; + segmentContainer?: string; + segmentLength?: number; + minSegments?: number; + deviceId?: string; + audioCodec?: string; + enableAutoStreamCopy?: boolean; + allowVideoStreamCopy?: boolean; + allowAudioStreamCopy?: boolean; + breakOnNonKeyFrames?: boolean; + audioSampleRate?: number; + maxAudioBitDepth?: number; + maxStreamingBitrate?: number; + audioBitRate?: number; + audioChannels?: number; + maxAudioChannels?: number; + profile?: string; + level?: string; + framerate?: number; + maxFramerate?: number; + copyTimestamps?: boolean; + startTimeTicks?: number; + width?: number; + height?: number; + videoBitRate?: number; + subtitleStreamIndex?: number; + subtitleMethod?: SubtitleDeliveryMethod; + maxRefFrames?: number; + maxVideoBitDepth?: number; + requireAvc?: boolean; + deInterlace?: boolean; + requireNonAnamorphic?: boolean; + transcodingMaxAudioChannels?: number; + cpuCoreLimit?: number; + liveStreamId?: string; + enableMpegtsM2TsMode?: boolean; + videoCodec?: string; + subtitleCodec?: string; + transcodeReasons?: string; + audioStreamIndex?: number; + videoStreamIndex?: number; + context?: EncodingContext; + streamOptions?: { [key: string]: string; }; + enableAdaptiveBitrateStreaming?: boolean; +} + +export interface GetMasterHlsVideoPlaylistRequest { + itemId: string; + mediaSourceId: string; + _static?: boolean; + params?: string; + tag?: string; + deviceProfileId?: string; + playSessionId?: string; + segmentContainer?: string; + segmentLength?: number; + minSegments?: number; + deviceId?: string; + audioCodec?: string; + enableAutoStreamCopy?: boolean; + allowVideoStreamCopy?: boolean; + allowAudioStreamCopy?: boolean; + breakOnNonKeyFrames?: boolean; + audioSampleRate?: number; + maxAudioBitDepth?: number; + audioBitRate?: number; + audioChannels?: number; + maxAudioChannels?: number; + profile?: string; + level?: string; + framerate?: number; + maxFramerate?: number; + copyTimestamps?: boolean; + startTimeTicks?: number; + width?: number; + height?: number; + maxWidth?: number; + maxHeight?: number; + videoBitRate?: number; + subtitleStreamIndex?: number; + subtitleMethod?: SubtitleDeliveryMethod; + maxRefFrames?: number; + maxVideoBitDepth?: number; + requireAvc?: boolean; + deInterlace?: boolean; + requireNonAnamorphic?: boolean; + transcodingMaxAudioChannels?: number; + cpuCoreLimit?: number; + liveStreamId?: string; + enableMpegtsM2TsMode?: boolean; + videoCodec?: string; + subtitleCodec?: string; + transcodeReasons?: string; + audioStreamIndex?: number; + videoStreamIndex?: number; + context?: EncodingContext; + streamOptions?: { [key: string]: string; }; + enableAdaptiveBitrateStreaming?: boolean; +} + +export interface GetVariantHlsAudioPlaylistRequest { + itemId: string; + _static?: boolean; + params?: string; + tag?: string; + deviceProfileId?: string; + playSessionId?: string; + segmentContainer?: string; + segmentLength?: number; + minSegments?: number; + mediaSourceId?: string; + deviceId?: string; + audioCodec?: string; + enableAutoStreamCopy?: boolean; + allowVideoStreamCopy?: boolean; + allowAudioStreamCopy?: boolean; + breakOnNonKeyFrames?: boolean; + audioSampleRate?: number; + maxAudioBitDepth?: number; + maxStreamingBitrate?: number; + audioBitRate?: number; + audioChannels?: number; + maxAudioChannels?: number; + profile?: string; + level?: string; + framerate?: number; + maxFramerate?: number; + copyTimestamps?: boolean; + startTimeTicks?: number; + width?: number; + height?: number; + videoBitRate?: number; + subtitleStreamIndex?: number; + subtitleMethod?: SubtitleDeliveryMethod; + maxRefFrames?: number; + maxVideoBitDepth?: number; + requireAvc?: boolean; + deInterlace?: boolean; + requireNonAnamorphic?: boolean; + transcodingMaxAudioChannels?: number; + cpuCoreLimit?: number; + liveStreamId?: string; + enableMpegtsM2TsMode?: boolean; + videoCodec?: string; + subtitleCodec?: string; + transcodeReasons?: string; + audioStreamIndex?: number; + videoStreamIndex?: number; + context?: EncodingContext; + streamOptions?: { [key: string]: string; }; +} + +export interface GetVariantHlsVideoPlaylistRequest { + itemId: string; + _static?: boolean; + params?: string; + tag?: string; + deviceProfileId?: string; + playSessionId?: string; + segmentContainer?: string; + segmentLength?: number; + minSegments?: number; + mediaSourceId?: string; + deviceId?: string; + audioCodec?: string; + enableAutoStreamCopy?: boolean; + allowVideoStreamCopy?: boolean; + allowAudioStreamCopy?: boolean; + breakOnNonKeyFrames?: boolean; + audioSampleRate?: number; + maxAudioBitDepth?: number; + audioBitRate?: number; + audioChannels?: number; + maxAudioChannels?: number; + profile?: string; + level?: string; + framerate?: number; + maxFramerate?: number; + copyTimestamps?: boolean; + startTimeTicks?: number; + width?: number; + height?: number; + maxWidth?: number; + maxHeight?: number; + videoBitRate?: number; + subtitleStreamIndex?: number; + subtitleMethod?: SubtitleDeliveryMethod; + maxRefFrames?: number; + maxVideoBitDepth?: number; + requireAvc?: boolean; + deInterlace?: boolean; + requireNonAnamorphic?: boolean; + transcodingMaxAudioChannels?: number; + cpuCoreLimit?: number; + liveStreamId?: string; + enableMpegtsM2TsMode?: boolean; + videoCodec?: string; + subtitleCodec?: string; + transcodeReasons?: string; + audioStreamIndex?: number; + videoStreamIndex?: number; + context?: EncodingContext; + streamOptions?: { [key: string]: string; }; +} + +export interface HeadMasterHlsAudioPlaylistRequest { + itemId: string; + mediaSourceId: string; + _static?: boolean; + params?: string; + tag?: string; + deviceProfileId?: string; + playSessionId?: string; + segmentContainer?: string; + segmentLength?: number; + minSegments?: number; + deviceId?: string; + audioCodec?: string; + enableAutoStreamCopy?: boolean; + allowVideoStreamCopy?: boolean; + allowAudioStreamCopy?: boolean; + breakOnNonKeyFrames?: boolean; + audioSampleRate?: number; + maxAudioBitDepth?: number; + maxStreamingBitrate?: number; + audioBitRate?: number; + audioChannels?: number; + maxAudioChannels?: number; + profile?: string; + level?: string; + framerate?: number; + maxFramerate?: number; + copyTimestamps?: boolean; + startTimeTicks?: number; + width?: number; + height?: number; + videoBitRate?: number; + subtitleStreamIndex?: number; + subtitleMethod?: SubtitleDeliveryMethod; + maxRefFrames?: number; + maxVideoBitDepth?: number; + requireAvc?: boolean; + deInterlace?: boolean; + requireNonAnamorphic?: boolean; + transcodingMaxAudioChannels?: number; + cpuCoreLimit?: number; + liveStreamId?: string; + enableMpegtsM2TsMode?: boolean; + videoCodec?: string; + subtitleCodec?: string; + transcodeReasons?: string; + audioStreamIndex?: number; + videoStreamIndex?: number; + context?: EncodingContext; + streamOptions?: { [key: string]: string; }; + enableAdaptiveBitrateStreaming?: boolean; +} + +export interface HeadMasterHlsVideoPlaylistRequest { + itemId: string; + mediaSourceId: string; + _static?: boolean; + params?: string; + tag?: string; + deviceProfileId?: string; + playSessionId?: string; + segmentContainer?: string; + segmentLength?: number; + minSegments?: number; + deviceId?: string; + audioCodec?: string; + enableAutoStreamCopy?: boolean; + allowVideoStreamCopy?: boolean; + allowAudioStreamCopy?: boolean; + breakOnNonKeyFrames?: boolean; + audioSampleRate?: number; + maxAudioBitDepth?: number; + audioBitRate?: number; + audioChannels?: number; + maxAudioChannels?: number; + profile?: string; + level?: string; + framerate?: number; + maxFramerate?: number; + copyTimestamps?: boolean; + startTimeTicks?: number; + width?: number; + height?: number; + maxWidth?: number; + maxHeight?: number; + videoBitRate?: number; + subtitleStreamIndex?: number; + subtitleMethod?: SubtitleDeliveryMethod; + maxRefFrames?: number; + maxVideoBitDepth?: number; + requireAvc?: boolean; + deInterlace?: boolean; + requireNonAnamorphic?: boolean; + transcodingMaxAudioChannels?: number; + cpuCoreLimit?: number; + liveStreamId?: string; + enableMpegtsM2TsMode?: boolean; + videoCodec?: string; + subtitleCodec?: string; + transcodeReasons?: string; + audioStreamIndex?: number; + videoStreamIndex?: number; + context?: EncodingContext; + streamOptions?: { [key: string]: string; }; + enableAdaptiveBitrateStreaming?: boolean; +} + +/** + * + */ +export class DynamicHlsApi extends runtime.BaseAPI { + + /** + * Gets a video stream using HTTP live streaming. + */ + async getHlsAudioSegmentRaw(requestParameters: GetHlsAudioSegmentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getHlsAudioSegment.'); + } + + if (requestParameters.playlistId === null || requestParameters.playlistId === undefined) { + throw new runtime.RequiredError('playlistId','Required parameter requestParameters.playlistId was null or undefined when calling getHlsAudioSegment.'); + } + + if (requestParameters.segmentId === null || requestParameters.segmentId === undefined) { + throw new runtime.RequiredError('segmentId','Required parameter requestParameters.segmentId was null or undefined when calling getHlsAudioSegment.'); + } + + if (requestParameters.container === null || requestParameters.container === undefined) { + throw new runtime.RequiredError('container','Required parameter requestParameters.container was null or undefined when calling getHlsAudioSegment.'); + } + + if (requestParameters.runtimeTicks === null || requestParameters.runtimeTicks === undefined) { + throw new runtime.RequiredError('runtimeTicks','Required parameter requestParameters.runtimeTicks was null or undefined when calling getHlsAudioSegment.'); + } + + if (requestParameters.actualSegmentLengthTicks === null || requestParameters.actualSegmentLengthTicks === undefined) { + throw new runtime.RequiredError('actualSegmentLengthTicks','Required parameter requestParameters.actualSegmentLengthTicks was null or undefined when calling getHlsAudioSegment.'); + } + + const queryParameters: any = {}; + + if (requestParameters.runtimeTicks !== undefined) { + queryParameters['runtimeTicks'] = requestParameters.runtimeTicks; + } + + if (requestParameters.actualSegmentLengthTicks !== undefined) { + queryParameters['actualSegmentLengthTicks'] = requestParameters.actualSegmentLengthTicks; + } + + if (requestParameters._static !== undefined) { + queryParameters['static'] = requestParameters._static; + } + + if (requestParameters.params !== undefined) { + queryParameters['params'] = requestParameters.params; + } + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.deviceProfileId !== undefined) { + queryParameters['deviceProfileId'] = requestParameters.deviceProfileId; + } + + if (requestParameters.playSessionId !== undefined) { + queryParameters['playSessionId'] = requestParameters.playSessionId; + } + + if (requestParameters.segmentContainer !== undefined) { + queryParameters['segmentContainer'] = requestParameters.segmentContainer; + } + + if (requestParameters.segmentLength !== undefined) { + queryParameters['segmentLength'] = requestParameters.segmentLength; + } + + if (requestParameters.minSegments !== undefined) { + queryParameters['minSegments'] = requestParameters.minSegments; + } + + if (requestParameters.mediaSourceId !== undefined) { + queryParameters['mediaSourceId'] = requestParameters.mediaSourceId; + } + + if (requestParameters.deviceId !== undefined) { + queryParameters['deviceId'] = requestParameters.deviceId; + } + + if (requestParameters.audioCodec !== undefined) { + queryParameters['audioCodec'] = requestParameters.audioCodec; + } + + if (requestParameters.enableAutoStreamCopy !== undefined) { + queryParameters['enableAutoStreamCopy'] = requestParameters.enableAutoStreamCopy; + } + + if (requestParameters.allowVideoStreamCopy !== undefined) { + queryParameters['allowVideoStreamCopy'] = requestParameters.allowVideoStreamCopy; + } + + if (requestParameters.allowAudioStreamCopy !== undefined) { + queryParameters['allowAudioStreamCopy'] = requestParameters.allowAudioStreamCopy; + } + + if (requestParameters.breakOnNonKeyFrames !== undefined) { + queryParameters['breakOnNonKeyFrames'] = requestParameters.breakOnNonKeyFrames; + } + + if (requestParameters.audioSampleRate !== undefined) { + queryParameters['audioSampleRate'] = requestParameters.audioSampleRate; + } + + if (requestParameters.maxAudioBitDepth !== undefined) { + queryParameters['maxAudioBitDepth'] = requestParameters.maxAudioBitDepth; + } + + if (requestParameters.maxStreamingBitrate !== undefined) { + queryParameters['maxStreamingBitrate'] = requestParameters.maxStreamingBitrate; + } + + if (requestParameters.audioBitRate !== undefined) { + queryParameters['audioBitRate'] = requestParameters.audioBitRate; + } + + if (requestParameters.audioChannels !== undefined) { + queryParameters['audioChannels'] = requestParameters.audioChannels; + } + + if (requestParameters.maxAudioChannels !== undefined) { + queryParameters['maxAudioChannels'] = requestParameters.maxAudioChannels; + } + + if (requestParameters.profile !== undefined) { + queryParameters['profile'] = requestParameters.profile; + } + + if (requestParameters.level !== undefined) { + queryParameters['level'] = requestParameters.level; + } + + if (requestParameters.framerate !== undefined) { + queryParameters['framerate'] = requestParameters.framerate; + } + + if (requestParameters.maxFramerate !== undefined) { + queryParameters['maxFramerate'] = requestParameters.maxFramerate; + } + + if (requestParameters.copyTimestamps !== undefined) { + queryParameters['copyTimestamps'] = requestParameters.copyTimestamps; + } + + if (requestParameters.startTimeTicks !== undefined) { + queryParameters['startTimeTicks'] = requestParameters.startTimeTicks; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.videoBitRate !== undefined) { + queryParameters['videoBitRate'] = requestParameters.videoBitRate; + } + + if (requestParameters.subtitleStreamIndex !== undefined) { + queryParameters['subtitleStreamIndex'] = requestParameters.subtitleStreamIndex; + } + + if (requestParameters.subtitleMethod !== undefined) { + queryParameters['subtitleMethod'] = requestParameters.subtitleMethod; + } + + if (requestParameters.maxRefFrames !== undefined) { + queryParameters['maxRefFrames'] = requestParameters.maxRefFrames; + } + + if (requestParameters.maxVideoBitDepth !== undefined) { + queryParameters['maxVideoBitDepth'] = requestParameters.maxVideoBitDepth; + } + + if (requestParameters.requireAvc !== undefined) { + queryParameters['requireAvc'] = requestParameters.requireAvc; + } + + if (requestParameters.deInterlace !== undefined) { + queryParameters['deInterlace'] = requestParameters.deInterlace; + } + + if (requestParameters.requireNonAnamorphic !== undefined) { + queryParameters['requireNonAnamorphic'] = requestParameters.requireNonAnamorphic; + } + + if (requestParameters.transcodingMaxAudioChannels !== undefined) { + queryParameters['transcodingMaxAudioChannels'] = requestParameters.transcodingMaxAudioChannels; + } + + if (requestParameters.cpuCoreLimit !== undefined) { + queryParameters['cpuCoreLimit'] = requestParameters.cpuCoreLimit; + } + + if (requestParameters.liveStreamId !== undefined) { + queryParameters['liveStreamId'] = requestParameters.liveStreamId; + } + + if (requestParameters.enableMpegtsM2TsMode !== undefined) { + queryParameters['enableMpegtsM2TsMode'] = requestParameters.enableMpegtsM2TsMode; + } + + if (requestParameters.videoCodec !== undefined) { + queryParameters['videoCodec'] = requestParameters.videoCodec; + } + + if (requestParameters.subtitleCodec !== undefined) { + queryParameters['subtitleCodec'] = requestParameters.subtitleCodec; + } + + if (requestParameters.transcodeReasons !== undefined) { + queryParameters['transcodeReasons'] = requestParameters.transcodeReasons; + } + + if (requestParameters.audioStreamIndex !== undefined) { + queryParameters['audioStreamIndex'] = requestParameters.audioStreamIndex; + } + + if (requestParameters.videoStreamIndex !== undefined) { + queryParameters['videoStreamIndex'] = requestParameters.videoStreamIndex; + } + + if (requestParameters.context !== undefined) { + queryParameters['context'] = requestParameters.context; + } + + if (requestParameters.streamOptions !== undefined) { + queryParameters['streamOptions'] = requestParameters.streamOptions; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Audio/{itemId}/hls1/{playlistId}/{segmentId}.{container}`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))).replace(`{${"playlistId"}}`, encodeURIComponent(String(requestParameters.playlistId))).replace(`{${"segmentId"}}`, encodeURIComponent(String(requestParameters.segmentId))).replace(`{${"container"}}`, encodeURIComponent(String(requestParameters.container))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets a video stream using HTTP live streaming. + */ + async getHlsAudioSegment(requestParameters: GetHlsAudioSegmentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getHlsAudioSegmentRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a video stream using HTTP live streaming. + */ + async getHlsVideoSegmentRaw(requestParameters: GetHlsVideoSegmentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getHlsVideoSegment.'); + } + + if (requestParameters.playlistId === null || requestParameters.playlistId === undefined) { + throw new runtime.RequiredError('playlistId','Required parameter requestParameters.playlistId was null or undefined when calling getHlsVideoSegment.'); + } + + if (requestParameters.segmentId === null || requestParameters.segmentId === undefined) { + throw new runtime.RequiredError('segmentId','Required parameter requestParameters.segmentId was null or undefined when calling getHlsVideoSegment.'); + } + + if (requestParameters.container === null || requestParameters.container === undefined) { + throw new runtime.RequiredError('container','Required parameter requestParameters.container was null or undefined when calling getHlsVideoSegment.'); + } + + if (requestParameters.runtimeTicks === null || requestParameters.runtimeTicks === undefined) { + throw new runtime.RequiredError('runtimeTicks','Required parameter requestParameters.runtimeTicks was null or undefined when calling getHlsVideoSegment.'); + } + + if (requestParameters.actualSegmentLengthTicks === null || requestParameters.actualSegmentLengthTicks === undefined) { + throw new runtime.RequiredError('actualSegmentLengthTicks','Required parameter requestParameters.actualSegmentLengthTicks was null or undefined when calling getHlsVideoSegment.'); + } + + const queryParameters: any = {}; + + if (requestParameters.runtimeTicks !== undefined) { + queryParameters['runtimeTicks'] = requestParameters.runtimeTicks; + } + + if (requestParameters.actualSegmentLengthTicks !== undefined) { + queryParameters['actualSegmentLengthTicks'] = requestParameters.actualSegmentLengthTicks; + } + + if (requestParameters._static !== undefined) { + queryParameters['static'] = requestParameters._static; + } + + if (requestParameters.params !== undefined) { + queryParameters['params'] = requestParameters.params; + } + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.deviceProfileId !== undefined) { + queryParameters['deviceProfileId'] = requestParameters.deviceProfileId; + } + + if (requestParameters.playSessionId !== undefined) { + queryParameters['playSessionId'] = requestParameters.playSessionId; + } + + if (requestParameters.segmentContainer !== undefined) { + queryParameters['segmentContainer'] = requestParameters.segmentContainer; + } + + if (requestParameters.segmentLength !== undefined) { + queryParameters['segmentLength'] = requestParameters.segmentLength; + } + + if (requestParameters.minSegments !== undefined) { + queryParameters['minSegments'] = requestParameters.minSegments; + } + + if (requestParameters.mediaSourceId !== undefined) { + queryParameters['mediaSourceId'] = requestParameters.mediaSourceId; + } + + if (requestParameters.deviceId !== undefined) { + queryParameters['deviceId'] = requestParameters.deviceId; + } + + if (requestParameters.audioCodec !== undefined) { + queryParameters['audioCodec'] = requestParameters.audioCodec; + } + + if (requestParameters.enableAutoStreamCopy !== undefined) { + queryParameters['enableAutoStreamCopy'] = requestParameters.enableAutoStreamCopy; + } + + if (requestParameters.allowVideoStreamCopy !== undefined) { + queryParameters['allowVideoStreamCopy'] = requestParameters.allowVideoStreamCopy; + } + + if (requestParameters.allowAudioStreamCopy !== undefined) { + queryParameters['allowAudioStreamCopy'] = requestParameters.allowAudioStreamCopy; + } + + if (requestParameters.breakOnNonKeyFrames !== undefined) { + queryParameters['breakOnNonKeyFrames'] = requestParameters.breakOnNonKeyFrames; + } + + if (requestParameters.audioSampleRate !== undefined) { + queryParameters['audioSampleRate'] = requestParameters.audioSampleRate; + } + + if (requestParameters.maxAudioBitDepth !== undefined) { + queryParameters['maxAudioBitDepth'] = requestParameters.maxAudioBitDepth; + } + + if (requestParameters.audioBitRate !== undefined) { + queryParameters['audioBitRate'] = requestParameters.audioBitRate; + } + + if (requestParameters.audioChannels !== undefined) { + queryParameters['audioChannels'] = requestParameters.audioChannels; + } + + if (requestParameters.maxAudioChannels !== undefined) { + queryParameters['maxAudioChannels'] = requestParameters.maxAudioChannels; + } + + if (requestParameters.profile !== undefined) { + queryParameters['profile'] = requestParameters.profile; + } + + if (requestParameters.level !== undefined) { + queryParameters['level'] = requestParameters.level; + } + + if (requestParameters.framerate !== undefined) { + queryParameters['framerate'] = requestParameters.framerate; + } + + if (requestParameters.maxFramerate !== undefined) { + queryParameters['maxFramerate'] = requestParameters.maxFramerate; + } + + if (requestParameters.copyTimestamps !== undefined) { + queryParameters['copyTimestamps'] = requestParameters.copyTimestamps; + } + + if (requestParameters.startTimeTicks !== undefined) { + queryParameters['startTimeTicks'] = requestParameters.startTimeTicks; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.videoBitRate !== undefined) { + queryParameters['videoBitRate'] = requestParameters.videoBitRate; + } + + if (requestParameters.subtitleStreamIndex !== undefined) { + queryParameters['subtitleStreamIndex'] = requestParameters.subtitleStreamIndex; + } + + if (requestParameters.subtitleMethod !== undefined) { + queryParameters['subtitleMethod'] = requestParameters.subtitleMethod; + } + + if (requestParameters.maxRefFrames !== undefined) { + queryParameters['maxRefFrames'] = requestParameters.maxRefFrames; + } + + if (requestParameters.maxVideoBitDepth !== undefined) { + queryParameters['maxVideoBitDepth'] = requestParameters.maxVideoBitDepth; + } + + if (requestParameters.requireAvc !== undefined) { + queryParameters['requireAvc'] = requestParameters.requireAvc; + } + + if (requestParameters.deInterlace !== undefined) { + queryParameters['deInterlace'] = requestParameters.deInterlace; + } + + if (requestParameters.requireNonAnamorphic !== undefined) { + queryParameters['requireNonAnamorphic'] = requestParameters.requireNonAnamorphic; + } + + if (requestParameters.transcodingMaxAudioChannels !== undefined) { + queryParameters['transcodingMaxAudioChannels'] = requestParameters.transcodingMaxAudioChannels; + } + + if (requestParameters.cpuCoreLimit !== undefined) { + queryParameters['cpuCoreLimit'] = requestParameters.cpuCoreLimit; + } + + if (requestParameters.liveStreamId !== undefined) { + queryParameters['liveStreamId'] = requestParameters.liveStreamId; + } + + if (requestParameters.enableMpegtsM2TsMode !== undefined) { + queryParameters['enableMpegtsM2TsMode'] = requestParameters.enableMpegtsM2TsMode; + } + + if (requestParameters.videoCodec !== undefined) { + queryParameters['videoCodec'] = requestParameters.videoCodec; + } + + if (requestParameters.subtitleCodec !== undefined) { + queryParameters['subtitleCodec'] = requestParameters.subtitleCodec; + } + + if (requestParameters.transcodeReasons !== undefined) { + queryParameters['transcodeReasons'] = requestParameters.transcodeReasons; + } + + if (requestParameters.audioStreamIndex !== undefined) { + queryParameters['audioStreamIndex'] = requestParameters.audioStreamIndex; + } + + if (requestParameters.videoStreamIndex !== undefined) { + queryParameters['videoStreamIndex'] = requestParameters.videoStreamIndex; + } + + if (requestParameters.context !== undefined) { + queryParameters['context'] = requestParameters.context; + } + + if (requestParameters.streamOptions !== undefined) { + queryParameters['streamOptions'] = requestParameters.streamOptions; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Videos/{itemId}/hls1/{playlistId}/{segmentId}.{container}`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))).replace(`{${"playlistId"}}`, encodeURIComponent(String(requestParameters.playlistId))).replace(`{${"segmentId"}}`, encodeURIComponent(String(requestParameters.segmentId))).replace(`{${"container"}}`, encodeURIComponent(String(requestParameters.container))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets a video stream using HTTP live streaming. + */ + async getHlsVideoSegment(requestParameters: GetHlsVideoSegmentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getHlsVideoSegmentRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a hls live stream. + */ + async getLiveHlsStreamRaw(requestParameters: GetLiveHlsStreamRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getLiveHlsStream.'); + } + + const queryParameters: any = {}; + + if (requestParameters.container !== undefined) { + queryParameters['container'] = requestParameters.container; + } + + if (requestParameters._static !== undefined) { + queryParameters['static'] = requestParameters._static; + } + + if (requestParameters.params !== undefined) { + queryParameters['params'] = requestParameters.params; + } + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.deviceProfileId !== undefined) { + queryParameters['deviceProfileId'] = requestParameters.deviceProfileId; + } + + if (requestParameters.playSessionId !== undefined) { + queryParameters['playSessionId'] = requestParameters.playSessionId; + } + + if (requestParameters.segmentContainer !== undefined) { + queryParameters['segmentContainer'] = requestParameters.segmentContainer; + } + + if (requestParameters.segmentLength !== undefined) { + queryParameters['segmentLength'] = requestParameters.segmentLength; + } + + if (requestParameters.minSegments !== undefined) { + queryParameters['minSegments'] = requestParameters.minSegments; + } + + if (requestParameters.mediaSourceId !== undefined) { + queryParameters['mediaSourceId'] = requestParameters.mediaSourceId; + } + + if (requestParameters.deviceId !== undefined) { + queryParameters['deviceId'] = requestParameters.deviceId; + } + + if (requestParameters.audioCodec !== undefined) { + queryParameters['audioCodec'] = requestParameters.audioCodec; + } + + if (requestParameters.enableAutoStreamCopy !== undefined) { + queryParameters['enableAutoStreamCopy'] = requestParameters.enableAutoStreamCopy; + } + + if (requestParameters.allowVideoStreamCopy !== undefined) { + queryParameters['allowVideoStreamCopy'] = requestParameters.allowVideoStreamCopy; + } + + if (requestParameters.allowAudioStreamCopy !== undefined) { + queryParameters['allowAudioStreamCopy'] = requestParameters.allowAudioStreamCopy; + } + + if (requestParameters.breakOnNonKeyFrames !== undefined) { + queryParameters['breakOnNonKeyFrames'] = requestParameters.breakOnNonKeyFrames; + } + + if (requestParameters.audioSampleRate !== undefined) { + queryParameters['audioSampleRate'] = requestParameters.audioSampleRate; + } + + if (requestParameters.maxAudioBitDepth !== undefined) { + queryParameters['maxAudioBitDepth'] = requestParameters.maxAudioBitDepth; + } + + if (requestParameters.audioBitRate !== undefined) { + queryParameters['audioBitRate'] = requestParameters.audioBitRate; + } + + if (requestParameters.audioChannels !== undefined) { + queryParameters['audioChannels'] = requestParameters.audioChannels; + } + + if (requestParameters.maxAudioChannels !== undefined) { + queryParameters['maxAudioChannels'] = requestParameters.maxAudioChannels; + } + + if (requestParameters.profile !== undefined) { + queryParameters['profile'] = requestParameters.profile; + } + + if (requestParameters.level !== undefined) { + queryParameters['level'] = requestParameters.level; + } + + if (requestParameters.framerate !== undefined) { + queryParameters['framerate'] = requestParameters.framerate; + } + + if (requestParameters.maxFramerate !== undefined) { + queryParameters['maxFramerate'] = requestParameters.maxFramerate; + } + + if (requestParameters.copyTimestamps !== undefined) { + queryParameters['copyTimestamps'] = requestParameters.copyTimestamps; + } + + if (requestParameters.startTimeTicks !== undefined) { + queryParameters['startTimeTicks'] = requestParameters.startTimeTicks; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.videoBitRate !== undefined) { + queryParameters['videoBitRate'] = requestParameters.videoBitRate; + } + + if (requestParameters.subtitleStreamIndex !== undefined) { + queryParameters['subtitleStreamIndex'] = requestParameters.subtitleStreamIndex; + } + + if (requestParameters.subtitleMethod !== undefined) { + queryParameters['subtitleMethod'] = requestParameters.subtitleMethod; + } + + if (requestParameters.maxRefFrames !== undefined) { + queryParameters['maxRefFrames'] = requestParameters.maxRefFrames; + } + + if (requestParameters.maxVideoBitDepth !== undefined) { + queryParameters['maxVideoBitDepth'] = requestParameters.maxVideoBitDepth; + } + + if (requestParameters.requireAvc !== undefined) { + queryParameters['requireAvc'] = requestParameters.requireAvc; + } + + if (requestParameters.deInterlace !== undefined) { + queryParameters['deInterlace'] = requestParameters.deInterlace; + } + + if (requestParameters.requireNonAnamorphic !== undefined) { + queryParameters['requireNonAnamorphic'] = requestParameters.requireNonAnamorphic; + } + + if (requestParameters.transcodingMaxAudioChannels !== undefined) { + queryParameters['transcodingMaxAudioChannels'] = requestParameters.transcodingMaxAudioChannels; + } + + if (requestParameters.cpuCoreLimit !== undefined) { + queryParameters['cpuCoreLimit'] = requestParameters.cpuCoreLimit; + } + + if (requestParameters.liveStreamId !== undefined) { + queryParameters['liveStreamId'] = requestParameters.liveStreamId; + } + + if (requestParameters.enableMpegtsM2TsMode !== undefined) { + queryParameters['enableMpegtsM2TsMode'] = requestParameters.enableMpegtsM2TsMode; + } + + if (requestParameters.videoCodec !== undefined) { + queryParameters['videoCodec'] = requestParameters.videoCodec; + } + + if (requestParameters.subtitleCodec !== undefined) { + queryParameters['subtitleCodec'] = requestParameters.subtitleCodec; + } + + if (requestParameters.transcodeReasons !== undefined) { + queryParameters['transcodeReasons'] = requestParameters.transcodeReasons; + } + + if (requestParameters.audioStreamIndex !== undefined) { + queryParameters['audioStreamIndex'] = requestParameters.audioStreamIndex; + } + + if (requestParameters.videoStreamIndex !== undefined) { + queryParameters['videoStreamIndex'] = requestParameters.videoStreamIndex; + } + + if (requestParameters.context !== undefined) { + queryParameters['context'] = requestParameters.context; + } + + if (requestParameters.streamOptions !== undefined) { + queryParameters['streamOptions'] = requestParameters.streamOptions; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.enableSubtitlesInManifest !== undefined) { + queryParameters['enableSubtitlesInManifest'] = requestParameters.enableSubtitlesInManifest; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Videos/{itemId}/live.m3u8`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets a hls live stream. + */ + async getLiveHlsStream(requestParameters: GetLiveHlsStreamRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getLiveHlsStreamRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets an audio hls playlist stream. + */ + async getMasterHlsAudioPlaylistRaw(requestParameters: GetMasterHlsAudioPlaylistRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getMasterHlsAudioPlaylist.'); + } + + if (requestParameters.mediaSourceId === null || requestParameters.mediaSourceId === undefined) { + throw new runtime.RequiredError('mediaSourceId','Required parameter requestParameters.mediaSourceId was null or undefined when calling getMasterHlsAudioPlaylist.'); + } + + const queryParameters: any = {}; + + if (requestParameters._static !== undefined) { + queryParameters['static'] = requestParameters._static; + } + + if (requestParameters.params !== undefined) { + queryParameters['params'] = requestParameters.params; + } + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.deviceProfileId !== undefined) { + queryParameters['deviceProfileId'] = requestParameters.deviceProfileId; + } + + if (requestParameters.playSessionId !== undefined) { + queryParameters['playSessionId'] = requestParameters.playSessionId; + } + + if (requestParameters.segmentContainer !== undefined) { + queryParameters['segmentContainer'] = requestParameters.segmentContainer; + } + + if (requestParameters.segmentLength !== undefined) { + queryParameters['segmentLength'] = requestParameters.segmentLength; + } + + if (requestParameters.minSegments !== undefined) { + queryParameters['minSegments'] = requestParameters.minSegments; + } + + if (requestParameters.mediaSourceId !== undefined) { + queryParameters['mediaSourceId'] = requestParameters.mediaSourceId; + } + + if (requestParameters.deviceId !== undefined) { + queryParameters['deviceId'] = requestParameters.deviceId; + } + + if (requestParameters.audioCodec !== undefined) { + queryParameters['audioCodec'] = requestParameters.audioCodec; + } + + if (requestParameters.enableAutoStreamCopy !== undefined) { + queryParameters['enableAutoStreamCopy'] = requestParameters.enableAutoStreamCopy; + } + + if (requestParameters.allowVideoStreamCopy !== undefined) { + queryParameters['allowVideoStreamCopy'] = requestParameters.allowVideoStreamCopy; + } + + if (requestParameters.allowAudioStreamCopy !== undefined) { + queryParameters['allowAudioStreamCopy'] = requestParameters.allowAudioStreamCopy; + } + + if (requestParameters.breakOnNonKeyFrames !== undefined) { + queryParameters['breakOnNonKeyFrames'] = requestParameters.breakOnNonKeyFrames; + } + + if (requestParameters.audioSampleRate !== undefined) { + queryParameters['audioSampleRate'] = requestParameters.audioSampleRate; + } + + if (requestParameters.maxAudioBitDepth !== undefined) { + queryParameters['maxAudioBitDepth'] = requestParameters.maxAudioBitDepth; + } + + if (requestParameters.maxStreamingBitrate !== undefined) { + queryParameters['maxStreamingBitrate'] = requestParameters.maxStreamingBitrate; + } + + if (requestParameters.audioBitRate !== undefined) { + queryParameters['audioBitRate'] = requestParameters.audioBitRate; + } + + if (requestParameters.audioChannels !== undefined) { + queryParameters['audioChannels'] = requestParameters.audioChannels; + } + + if (requestParameters.maxAudioChannels !== undefined) { + queryParameters['maxAudioChannels'] = requestParameters.maxAudioChannels; + } + + if (requestParameters.profile !== undefined) { + queryParameters['profile'] = requestParameters.profile; + } + + if (requestParameters.level !== undefined) { + queryParameters['level'] = requestParameters.level; + } + + if (requestParameters.framerate !== undefined) { + queryParameters['framerate'] = requestParameters.framerate; + } + + if (requestParameters.maxFramerate !== undefined) { + queryParameters['maxFramerate'] = requestParameters.maxFramerate; + } + + if (requestParameters.copyTimestamps !== undefined) { + queryParameters['copyTimestamps'] = requestParameters.copyTimestamps; + } + + if (requestParameters.startTimeTicks !== undefined) { + queryParameters['startTimeTicks'] = requestParameters.startTimeTicks; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.videoBitRate !== undefined) { + queryParameters['videoBitRate'] = requestParameters.videoBitRate; + } + + if (requestParameters.subtitleStreamIndex !== undefined) { + queryParameters['subtitleStreamIndex'] = requestParameters.subtitleStreamIndex; + } + + if (requestParameters.subtitleMethod !== undefined) { + queryParameters['subtitleMethod'] = requestParameters.subtitleMethod; + } + + if (requestParameters.maxRefFrames !== undefined) { + queryParameters['maxRefFrames'] = requestParameters.maxRefFrames; + } + + if (requestParameters.maxVideoBitDepth !== undefined) { + queryParameters['maxVideoBitDepth'] = requestParameters.maxVideoBitDepth; + } + + if (requestParameters.requireAvc !== undefined) { + queryParameters['requireAvc'] = requestParameters.requireAvc; + } + + if (requestParameters.deInterlace !== undefined) { + queryParameters['deInterlace'] = requestParameters.deInterlace; + } + + if (requestParameters.requireNonAnamorphic !== undefined) { + queryParameters['requireNonAnamorphic'] = requestParameters.requireNonAnamorphic; + } + + if (requestParameters.transcodingMaxAudioChannels !== undefined) { + queryParameters['transcodingMaxAudioChannels'] = requestParameters.transcodingMaxAudioChannels; + } + + if (requestParameters.cpuCoreLimit !== undefined) { + queryParameters['cpuCoreLimit'] = requestParameters.cpuCoreLimit; + } + + if (requestParameters.liveStreamId !== undefined) { + queryParameters['liveStreamId'] = requestParameters.liveStreamId; + } + + if (requestParameters.enableMpegtsM2TsMode !== undefined) { + queryParameters['enableMpegtsM2TsMode'] = requestParameters.enableMpegtsM2TsMode; + } + + if (requestParameters.videoCodec !== undefined) { + queryParameters['videoCodec'] = requestParameters.videoCodec; + } + + if (requestParameters.subtitleCodec !== undefined) { + queryParameters['subtitleCodec'] = requestParameters.subtitleCodec; + } + + if (requestParameters.transcodeReasons !== undefined) { + queryParameters['transcodeReasons'] = requestParameters.transcodeReasons; + } + + if (requestParameters.audioStreamIndex !== undefined) { + queryParameters['audioStreamIndex'] = requestParameters.audioStreamIndex; + } + + if (requestParameters.videoStreamIndex !== undefined) { + queryParameters['videoStreamIndex'] = requestParameters.videoStreamIndex; + } + + if (requestParameters.context !== undefined) { + queryParameters['context'] = requestParameters.context; + } + + if (requestParameters.streamOptions !== undefined) { + queryParameters['streamOptions'] = requestParameters.streamOptions; + } + + if (requestParameters.enableAdaptiveBitrateStreaming !== undefined) { + queryParameters['enableAdaptiveBitrateStreaming'] = requestParameters.enableAdaptiveBitrateStreaming; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Audio/{itemId}/master.m3u8`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets an audio hls playlist stream. + */ + async getMasterHlsAudioPlaylist(requestParameters: GetMasterHlsAudioPlaylistRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getMasterHlsAudioPlaylistRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a video hls playlist stream. + */ + async getMasterHlsVideoPlaylistRaw(requestParameters: GetMasterHlsVideoPlaylistRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getMasterHlsVideoPlaylist.'); + } + + if (requestParameters.mediaSourceId === null || requestParameters.mediaSourceId === undefined) { + throw new runtime.RequiredError('mediaSourceId','Required parameter requestParameters.mediaSourceId was null or undefined when calling getMasterHlsVideoPlaylist.'); + } + + const queryParameters: any = {}; + + if (requestParameters._static !== undefined) { + queryParameters['static'] = requestParameters._static; + } + + if (requestParameters.params !== undefined) { + queryParameters['params'] = requestParameters.params; + } + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.deviceProfileId !== undefined) { + queryParameters['deviceProfileId'] = requestParameters.deviceProfileId; + } + + if (requestParameters.playSessionId !== undefined) { + queryParameters['playSessionId'] = requestParameters.playSessionId; + } + + if (requestParameters.segmentContainer !== undefined) { + queryParameters['segmentContainer'] = requestParameters.segmentContainer; + } + + if (requestParameters.segmentLength !== undefined) { + queryParameters['segmentLength'] = requestParameters.segmentLength; + } + + if (requestParameters.minSegments !== undefined) { + queryParameters['minSegments'] = requestParameters.minSegments; + } + + if (requestParameters.mediaSourceId !== undefined) { + queryParameters['mediaSourceId'] = requestParameters.mediaSourceId; + } + + if (requestParameters.deviceId !== undefined) { + queryParameters['deviceId'] = requestParameters.deviceId; + } + + if (requestParameters.audioCodec !== undefined) { + queryParameters['audioCodec'] = requestParameters.audioCodec; + } + + if (requestParameters.enableAutoStreamCopy !== undefined) { + queryParameters['enableAutoStreamCopy'] = requestParameters.enableAutoStreamCopy; + } + + if (requestParameters.allowVideoStreamCopy !== undefined) { + queryParameters['allowVideoStreamCopy'] = requestParameters.allowVideoStreamCopy; + } + + if (requestParameters.allowAudioStreamCopy !== undefined) { + queryParameters['allowAudioStreamCopy'] = requestParameters.allowAudioStreamCopy; + } + + if (requestParameters.breakOnNonKeyFrames !== undefined) { + queryParameters['breakOnNonKeyFrames'] = requestParameters.breakOnNonKeyFrames; + } + + if (requestParameters.audioSampleRate !== undefined) { + queryParameters['audioSampleRate'] = requestParameters.audioSampleRate; + } + + if (requestParameters.maxAudioBitDepth !== undefined) { + queryParameters['maxAudioBitDepth'] = requestParameters.maxAudioBitDepth; + } + + if (requestParameters.audioBitRate !== undefined) { + queryParameters['audioBitRate'] = requestParameters.audioBitRate; + } + + if (requestParameters.audioChannels !== undefined) { + queryParameters['audioChannels'] = requestParameters.audioChannels; + } + + if (requestParameters.maxAudioChannels !== undefined) { + queryParameters['maxAudioChannels'] = requestParameters.maxAudioChannels; + } + + if (requestParameters.profile !== undefined) { + queryParameters['profile'] = requestParameters.profile; + } + + if (requestParameters.level !== undefined) { + queryParameters['level'] = requestParameters.level; + } + + if (requestParameters.framerate !== undefined) { + queryParameters['framerate'] = requestParameters.framerate; + } + + if (requestParameters.maxFramerate !== undefined) { + queryParameters['maxFramerate'] = requestParameters.maxFramerate; + } + + if (requestParameters.copyTimestamps !== undefined) { + queryParameters['copyTimestamps'] = requestParameters.copyTimestamps; + } + + if (requestParameters.startTimeTicks !== undefined) { + queryParameters['startTimeTicks'] = requestParameters.startTimeTicks; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.videoBitRate !== undefined) { + queryParameters['videoBitRate'] = requestParameters.videoBitRate; + } + + if (requestParameters.subtitleStreamIndex !== undefined) { + queryParameters['subtitleStreamIndex'] = requestParameters.subtitleStreamIndex; + } + + if (requestParameters.subtitleMethod !== undefined) { + queryParameters['subtitleMethod'] = requestParameters.subtitleMethod; + } + + if (requestParameters.maxRefFrames !== undefined) { + queryParameters['maxRefFrames'] = requestParameters.maxRefFrames; + } + + if (requestParameters.maxVideoBitDepth !== undefined) { + queryParameters['maxVideoBitDepth'] = requestParameters.maxVideoBitDepth; + } + + if (requestParameters.requireAvc !== undefined) { + queryParameters['requireAvc'] = requestParameters.requireAvc; + } + + if (requestParameters.deInterlace !== undefined) { + queryParameters['deInterlace'] = requestParameters.deInterlace; + } + + if (requestParameters.requireNonAnamorphic !== undefined) { + queryParameters['requireNonAnamorphic'] = requestParameters.requireNonAnamorphic; + } + + if (requestParameters.transcodingMaxAudioChannels !== undefined) { + queryParameters['transcodingMaxAudioChannels'] = requestParameters.transcodingMaxAudioChannels; + } + + if (requestParameters.cpuCoreLimit !== undefined) { + queryParameters['cpuCoreLimit'] = requestParameters.cpuCoreLimit; + } + + if (requestParameters.liveStreamId !== undefined) { + queryParameters['liveStreamId'] = requestParameters.liveStreamId; + } + + if (requestParameters.enableMpegtsM2TsMode !== undefined) { + queryParameters['enableMpegtsM2TsMode'] = requestParameters.enableMpegtsM2TsMode; + } + + if (requestParameters.videoCodec !== undefined) { + queryParameters['videoCodec'] = requestParameters.videoCodec; + } + + if (requestParameters.subtitleCodec !== undefined) { + queryParameters['subtitleCodec'] = requestParameters.subtitleCodec; + } + + if (requestParameters.transcodeReasons !== undefined) { + queryParameters['transcodeReasons'] = requestParameters.transcodeReasons; + } + + if (requestParameters.audioStreamIndex !== undefined) { + queryParameters['audioStreamIndex'] = requestParameters.audioStreamIndex; + } + + if (requestParameters.videoStreamIndex !== undefined) { + queryParameters['videoStreamIndex'] = requestParameters.videoStreamIndex; + } + + if (requestParameters.context !== undefined) { + queryParameters['context'] = requestParameters.context; + } + + if (requestParameters.streamOptions !== undefined) { + queryParameters['streamOptions'] = requestParameters.streamOptions; + } + + if (requestParameters.enableAdaptiveBitrateStreaming !== undefined) { + queryParameters['enableAdaptiveBitrateStreaming'] = requestParameters.enableAdaptiveBitrateStreaming; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Videos/{itemId}/master.m3u8`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets a video hls playlist stream. + */ + async getMasterHlsVideoPlaylist(requestParameters: GetMasterHlsVideoPlaylistRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getMasterHlsVideoPlaylistRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets an audio stream using HTTP live streaming. + */ + async getVariantHlsAudioPlaylistRaw(requestParameters: GetVariantHlsAudioPlaylistRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getVariantHlsAudioPlaylist.'); + } + + const queryParameters: any = {}; + + if (requestParameters._static !== undefined) { + queryParameters['static'] = requestParameters._static; + } + + if (requestParameters.params !== undefined) { + queryParameters['params'] = requestParameters.params; + } + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.deviceProfileId !== undefined) { + queryParameters['deviceProfileId'] = requestParameters.deviceProfileId; + } + + if (requestParameters.playSessionId !== undefined) { + queryParameters['playSessionId'] = requestParameters.playSessionId; + } + + if (requestParameters.segmentContainer !== undefined) { + queryParameters['segmentContainer'] = requestParameters.segmentContainer; + } + + if (requestParameters.segmentLength !== undefined) { + queryParameters['segmentLength'] = requestParameters.segmentLength; + } + + if (requestParameters.minSegments !== undefined) { + queryParameters['minSegments'] = requestParameters.minSegments; + } + + if (requestParameters.mediaSourceId !== undefined) { + queryParameters['mediaSourceId'] = requestParameters.mediaSourceId; + } + + if (requestParameters.deviceId !== undefined) { + queryParameters['deviceId'] = requestParameters.deviceId; + } + + if (requestParameters.audioCodec !== undefined) { + queryParameters['audioCodec'] = requestParameters.audioCodec; + } + + if (requestParameters.enableAutoStreamCopy !== undefined) { + queryParameters['enableAutoStreamCopy'] = requestParameters.enableAutoStreamCopy; + } + + if (requestParameters.allowVideoStreamCopy !== undefined) { + queryParameters['allowVideoStreamCopy'] = requestParameters.allowVideoStreamCopy; + } + + if (requestParameters.allowAudioStreamCopy !== undefined) { + queryParameters['allowAudioStreamCopy'] = requestParameters.allowAudioStreamCopy; + } + + if (requestParameters.breakOnNonKeyFrames !== undefined) { + queryParameters['breakOnNonKeyFrames'] = requestParameters.breakOnNonKeyFrames; + } + + if (requestParameters.audioSampleRate !== undefined) { + queryParameters['audioSampleRate'] = requestParameters.audioSampleRate; + } + + if (requestParameters.maxAudioBitDepth !== undefined) { + queryParameters['maxAudioBitDepth'] = requestParameters.maxAudioBitDepth; + } + + if (requestParameters.maxStreamingBitrate !== undefined) { + queryParameters['maxStreamingBitrate'] = requestParameters.maxStreamingBitrate; + } + + if (requestParameters.audioBitRate !== undefined) { + queryParameters['audioBitRate'] = requestParameters.audioBitRate; + } + + if (requestParameters.audioChannels !== undefined) { + queryParameters['audioChannels'] = requestParameters.audioChannels; + } + + if (requestParameters.maxAudioChannels !== undefined) { + queryParameters['maxAudioChannels'] = requestParameters.maxAudioChannels; + } + + if (requestParameters.profile !== undefined) { + queryParameters['profile'] = requestParameters.profile; + } + + if (requestParameters.level !== undefined) { + queryParameters['level'] = requestParameters.level; + } + + if (requestParameters.framerate !== undefined) { + queryParameters['framerate'] = requestParameters.framerate; + } + + if (requestParameters.maxFramerate !== undefined) { + queryParameters['maxFramerate'] = requestParameters.maxFramerate; + } + + if (requestParameters.copyTimestamps !== undefined) { + queryParameters['copyTimestamps'] = requestParameters.copyTimestamps; + } + + if (requestParameters.startTimeTicks !== undefined) { + queryParameters['startTimeTicks'] = requestParameters.startTimeTicks; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.videoBitRate !== undefined) { + queryParameters['videoBitRate'] = requestParameters.videoBitRate; + } + + if (requestParameters.subtitleStreamIndex !== undefined) { + queryParameters['subtitleStreamIndex'] = requestParameters.subtitleStreamIndex; + } + + if (requestParameters.subtitleMethod !== undefined) { + queryParameters['subtitleMethod'] = requestParameters.subtitleMethod; + } + + if (requestParameters.maxRefFrames !== undefined) { + queryParameters['maxRefFrames'] = requestParameters.maxRefFrames; + } + + if (requestParameters.maxVideoBitDepth !== undefined) { + queryParameters['maxVideoBitDepth'] = requestParameters.maxVideoBitDepth; + } + + if (requestParameters.requireAvc !== undefined) { + queryParameters['requireAvc'] = requestParameters.requireAvc; + } + + if (requestParameters.deInterlace !== undefined) { + queryParameters['deInterlace'] = requestParameters.deInterlace; + } + + if (requestParameters.requireNonAnamorphic !== undefined) { + queryParameters['requireNonAnamorphic'] = requestParameters.requireNonAnamorphic; + } + + if (requestParameters.transcodingMaxAudioChannels !== undefined) { + queryParameters['transcodingMaxAudioChannels'] = requestParameters.transcodingMaxAudioChannels; + } + + if (requestParameters.cpuCoreLimit !== undefined) { + queryParameters['cpuCoreLimit'] = requestParameters.cpuCoreLimit; + } + + if (requestParameters.liveStreamId !== undefined) { + queryParameters['liveStreamId'] = requestParameters.liveStreamId; + } + + if (requestParameters.enableMpegtsM2TsMode !== undefined) { + queryParameters['enableMpegtsM2TsMode'] = requestParameters.enableMpegtsM2TsMode; + } + + if (requestParameters.videoCodec !== undefined) { + queryParameters['videoCodec'] = requestParameters.videoCodec; + } + + if (requestParameters.subtitleCodec !== undefined) { + queryParameters['subtitleCodec'] = requestParameters.subtitleCodec; + } + + if (requestParameters.transcodeReasons !== undefined) { + queryParameters['transcodeReasons'] = requestParameters.transcodeReasons; + } + + if (requestParameters.audioStreamIndex !== undefined) { + queryParameters['audioStreamIndex'] = requestParameters.audioStreamIndex; + } + + if (requestParameters.videoStreamIndex !== undefined) { + queryParameters['videoStreamIndex'] = requestParameters.videoStreamIndex; + } + + if (requestParameters.context !== undefined) { + queryParameters['context'] = requestParameters.context; + } + + if (requestParameters.streamOptions !== undefined) { + queryParameters['streamOptions'] = requestParameters.streamOptions; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Audio/{itemId}/main.m3u8`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets an audio stream using HTTP live streaming. + */ + async getVariantHlsAudioPlaylist(requestParameters: GetVariantHlsAudioPlaylistRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getVariantHlsAudioPlaylistRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a video stream using HTTP live streaming. + */ + async getVariantHlsVideoPlaylistRaw(requestParameters: GetVariantHlsVideoPlaylistRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getVariantHlsVideoPlaylist.'); + } + + const queryParameters: any = {}; + + if (requestParameters._static !== undefined) { + queryParameters['static'] = requestParameters._static; + } + + if (requestParameters.params !== undefined) { + queryParameters['params'] = requestParameters.params; + } + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.deviceProfileId !== undefined) { + queryParameters['deviceProfileId'] = requestParameters.deviceProfileId; + } + + if (requestParameters.playSessionId !== undefined) { + queryParameters['playSessionId'] = requestParameters.playSessionId; + } + + if (requestParameters.segmentContainer !== undefined) { + queryParameters['segmentContainer'] = requestParameters.segmentContainer; + } + + if (requestParameters.segmentLength !== undefined) { + queryParameters['segmentLength'] = requestParameters.segmentLength; + } + + if (requestParameters.minSegments !== undefined) { + queryParameters['minSegments'] = requestParameters.minSegments; + } + + if (requestParameters.mediaSourceId !== undefined) { + queryParameters['mediaSourceId'] = requestParameters.mediaSourceId; + } + + if (requestParameters.deviceId !== undefined) { + queryParameters['deviceId'] = requestParameters.deviceId; + } + + if (requestParameters.audioCodec !== undefined) { + queryParameters['audioCodec'] = requestParameters.audioCodec; + } + + if (requestParameters.enableAutoStreamCopy !== undefined) { + queryParameters['enableAutoStreamCopy'] = requestParameters.enableAutoStreamCopy; + } + + if (requestParameters.allowVideoStreamCopy !== undefined) { + queryParameters['allowVideoStreamCopy'] = requestParameters.allowVideoStreamCopy; + } + + if (requestParameters.allowAudioStreamCopy !== undefined) { + queryParameters['allowAudioStreamCopy'] = requestParameters.allowAudioStreamCopy; + } + + if (requestParameters.breakOnNonKeyFrames !== undefined) { + queryParameters['breakOnNonKeyFrames'] = requestParameters.breakOnNonKeyFrames; + } + + if (requestParameters.audioSampleRate !== undefined) { + queryParameters['audioSampleRate'] = requestParameters.audioSampleRate; + } + + if (requestParameters.maxAudioBitDepth !== undefined) { + queryParameters['maxAudioBitDepth'] = requestParameters.maxAudioBitDepth; + } + + if (requestParameters.audioBitRate !== undefined) { + queryParameters['audioBitRate'] = requestParameters.audioBitRate; + } + + if (requestParameters.audioChannels !== undefined) { + queryParameters['audioChannels'] = requestParameters.audioChannels; + } + + if (requestParameters.maxAudioChannels !== undefined) { + queryParameters['maxAudioChannels'] = requestParameters.maxAudioChannels; + } + + if (requestParameters.profile !== undefined) { + queryParameters['profile'] = requestParameters.profile; + } + + if (requestParameters.level !== undefined) { + queryParameters['level'] = requestParameters.level; + } + + if (requestParameters.framerate !== undefined) { + queryParameters['framerate'] = requestParameters.framerate; + } + + if (requestParameters.maxFramerate !== undefined) { + queryParameters['maxFramerate'] = requestParameters.maxFramerate; + } + + if (requestParameters.copyTimestamps !== undefined) { + queryParameters['copyTimestamps'] = requestParameters.copyTimestamps; + } + + if (requestParameters.startTimeTicks !== undefined) { + queryParameters['startTimeTicks'] = requestParameters.startTimeTicks; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.videoBitRate !== undefined) { + queryParameters['videoBitRate'] = requestParameters.videoBitRate; + } + + if (requestParameters.subtitleStreamIndex !== undefined) { + queryParameters['subtitleStreamIndex'] = requestParameters.subtitleStreamIndex; + } + + if (requestParameters.subtitleMethod !== undefined) { + queryParameters['subtitleMethod'] = requestParameters.subtitleMethod; + } + + if (requestParameters.maxRefFrames !== undefined) { + queryParameters['maxRefFrames'] = requestParameters.maxRefFrames; + } + + if (requestParameters.maxVideoBitDepth !== undefined) { + queryParameters['maxVideoBitDepth'] = requestParameters.maxVideoBitDepth; + } + + if (requestParameters.requireAvc !== undefined) { + queryParameters['requireAvc'] = requestParameters.requireAvc; + } + + if (requestParameters.deInterlace !== undefined) { + queryParameters['deInterlace'] = requestParameters.deInterlace; + } + + if (requestParameters.requireNonAnamorphic !== undefined) { + queryParameters['requireNonAnamorphic'] = requestParameters.requireNonAnamorphic; + } + + if (requestParameters.transcodingMaxAudioChannels !== undefined) { + queryParameters['transcodingMaxAudioChannels'] = requestParameters.transcodingMaxAudioChannels; + } + + if (requestParameters.cpuCoreLimit !== undefined) { + queryParameters['cpuCoreLimit'] = requestParameters.cpuCoreLimit; + } + + if (requestParameters.liveStreamId !== undefined) { + queryParameters['liveStreamId'] = requestParameters.liveStreamId; + } + + if (requestParameters.enableMpegtsM2TsMode !== undefined) { + queryParameters['enableMpegtsM2TsMode'] = requestParameters.enableMpegtsM2TsMode; + } + + if (requestParameters.videoCodec !== undefined) { + queryParameters['videoCodec'] = requestParameters.videoCodec; + } + + if (requestParameters.subtitleCodec !== undefined) { + queryParameters['subtitleCodec'] = requestParameters.subtitleCodec; + } + + if (requestParameters.transcodeReasons !== undefined) { + queryParameters['transcodeReasons'] = requestParameters.transcodeReasons; + } + + if (requestParameters.audioStreamIndex !== undefined) { + queryParameters['audioStreamIndex'] = requestParameters.audioStreamIndex; + } + + if (requestParameters.videoStreamIndex !== undefined) { + queryParameters['videoStreamIndex'] = requestParameters.videoStreamIndex; + } + + if (requestParameters.context !== undefined) { + queryParameters['context'] = requestParameters.context; + } + + if (requestParameters.streamOptions !== undefined) { + queryParameters['streamOptions'] = requestParameters.streamOptions; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Videos/{itemId}/main.m3u8`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets a video stream using HTTP live streaming. + */ + async getVariantHlsVideoPlaylist(requestParameters: GetVariantHlsVideoPlaylistRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getVariantHlsVideoPlaylistRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets an audio hls playlist stream. + */ + async headMasterHlsAudioPlaylistRaw(requestParameters: HeadMasterHlsAudioPlaylistRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling headMasterHlsAudioPlaylist.'); + } + + if (requestParameters.mediaSourceId === null || requestParameters.mediaSourceId === undefined) { + throw new runtime.RequiredError('mediaSourceId','Required parameter requestParameters.mediaSourceId was null or undefined when calling headMasterHlsAudioPlaylist.'); + } + + const queryParameters: any = {}; + + if (requestParameters._static !== undefined) { + queryParameters['static'] = requestParameters._static; + } + + if (requestParameters.params !== undefined) { + queryParameters['params'] = requestParameters.params; + } + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.deviceProfileId !== undefined) { + queryParameters['deviceProfileId'] = requestParameters.deviceProfileId; + } + + if (requestParameters.playSessionId !== undefined) { + queryParameters['playSessionId'] = requestParameters.playSessionId; + } + + if (requestParameters.segmentContainer !== undefined) { + queryParameters['segmentContainer'] = requestParameters.segmentContainer; + } + + if (requestParameters.segmentLength !== undefined) { + queryParameters['segmentLength'] = requestParameters.segmentLength; + } + + if (requestParameters.minSegments !== undefined) { + queryParameters['minSegments'] = requestParameters.minSegments; + } + + if (requestParameters.mediaSourceId !== undefined) { + queryParameters['mediaSourceId'] = requestParameters.mediaSourceId; + } + + if (requestParameters.deviceId !== undefined) { + queryParameters['deviceId'] = requestParameters.deviceId; + } + + if (requestParameters.audioCodec !== undefined) { + queryParameters['audioCodec'] = requestParameters.audioCodec; + } + + if (requestParameters.enableAutoStreamCopy !== undefined) { + queryParameters['enableAutoStreamCopy'] = requestParameters.enableAutoStreamCopy; + } + + if (requestParameters.allowVideoStreamCopy !== undefined) { + queryParameters['allowVideoStreamCopy'] = requestParameters.allowVideoStreamCopy; + } + + if (requestParameters.allowAudioStreamCopy !== undefined) { + queryParameters['allowAudioStreamCopy'] = requestParameters.allowAudioStreamCopy; + } + + if (requestParameters.breakOnNonKeyFrames !== undefined) { + queryParameters['breakOnNonKeyFrames'] = requestParameters.breakOnNonKeyFrames; + } + + if (requestParameters.audioSampleRate !== undefined) { + queryParameters['audioSampleRate'] = requestParameters.audioSampleRate; + } + + if (requestParameters.maxAudioBitDepth !== undefined) { + queryParameters['maxAudioBitDepth'] = requestParameters.maxAudioBitDepth; + } + + if (requestParameters.maxStreamingBitrate !== undefined) { + queryParameters['maxStreamingBitrate'] = requestParameters.maxStreamingBitrate; + } + + if (requestParameters.audioBitRate !== undefined) { + queryParameters['audioBitRate'] = requestParameters.audioBitRate; + } + + if (requestParameters.audioChannels !== undefined) { + queryParameters['audioChannels'] = requestParameters.audioChannels; + } + + if (requestParameters.maxAudioChannels !== undefined) { + queryParameters['maxAudioChannels'] = requestParameters.maxAudioChannels; + } + + if (requestParameters.profile !== undefined) { + queryParameters['profile'] = requestParameters.profile; + } + + if (requestParameters.level !== undefined) { + queryParameters['level'] = requestParameters.level; + } + + if (requestParameters.framerate !== undefined) { + queryParameters['framerate'] = requestParameters.framerate; + } + + if (requestParameters.maxFramerate !== undefined) { + queryParameters['maxFramerate'] = requestParameters.maxFramerate; + } + + if (requestParameters.copyTimestamps !== undefined) { + queryParameters['copyTimestamps'] = requestParameters.copyTimestamps; + } + + if (requestParameters.startTimeTicks !== undefined) { + queryParameters['startTimeTicks'] = requestParameters.startTimeTicks; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.videoBitRate !== undefined) { + queryParameters['videoBitRate'] = requestParameters.videoBitRate; + } + + if (requestParameters.subtitleStreamIndex !== undefined) { + queryParameters['subtitleStreamIndex'] = requestParameters.subtitleStreamIndex; + } + + if (requestParameters.subtitleMethod !== undefined) { + queryParameters['subtitleMethod'] = requestParameters.subtitleMethod; + } + + if (requestParameters.maxRefFrames !== undefined) { + queryParameters['maxRefFrames'] = requestParameters.maxRefFrames; + } + + if (requestParameters.maxVideoBitDepth !== undefined) { + queryParameters['maxVideoBitDepth'] = requestParameters.maxVideoBitDepth; + } + + if (requestParameters.requireAvc !== undefined) { + queryParameters['requireAvc'] = requestParameters.requireAvc; + } + + if (requestParameters.deInterlace !== undefined) { + queryParameters['deInterlace'] = requestParameters.deInterlace; + } + + if (requestParameters.requireNonAnamorphic !== undefined) { + queryParameters['requireNonAnamorphic'] = requestParameters.requireNonAnamorphic; + } + + if (requestParameters.transcodingMaxAudioChannels !== undefined) { + queryParameters['transcodingMaxAudioChannels'] = requestParameters.transcodingMaxAudioChannels; + } + + if (requestParameters.cpuCoreLimit !== undefined) { + queryParameters['cpuCoreLimit'] = requestParameters.cpuCoreLimit; + } + + if (requestParameters.liveStreamId !== undefined) { + queryParameters['liveStreamId'] = requestParameters.liveStreamId; + } + + if (requestParameters.enableMpegtsM2TsMode !== undefined) { + queryParameters['enableMpegtsM2TsMode'] = requestParameters.enableMpegtsM2TsMode; + } + + if (requestParameters.videoCodec !== undefined) { + queryParameters['videoCodec'] = requestParameters.videoCodec; + } + + if (requestParameters.subtitleCodec !== undefined) { + queryParameters['subtitleCodec'] = requestParameters.subtitleCodec; + } + + if (requestParameters.transcodeReasons !== undefined) { + queryParameters['transcodeReasons'] = requestParameters.transcodeReasons; + } + + if (requestParameters.audioStreamIndex !== undefined) { + queryParameters['audioStreamIndex'] = requestParameters.audioStreamIndex; + } + + if (requestParameters.videoStreamIndex !== undefined) { + queryParameters['videoStreamIndex'] = requestParameters.videoStreamIndex; + } + + if (requestParameters.context !== undefined) { + queryParameters['context'] = requestParameters.context; + } + + if (requestParameters.streamOptions !== undefined) { + queryParameters['streamOptions'] = requestParameters.streamOptions; + } + + if (requestParameters.enableAdaptiveBitrateStreaming !== undefined) { + queryParameters['enableAdaptiveBitrateStreaming'] = requestParameters.enableAdaptiveBitrateStreaming; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Audio/{itemId}/master.m3u8`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'HEAD', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets an audio hls playlist stream. + */ + async headMasterHlsAudioPlaylist(requestParameters: HeadMasterHlsAudioPlaylistRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.headMasterHlsAudioPlaylistRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a video hls playlist stream. + */ + async headMasterHlsVideoPlaylistRaw(requestParameters: HeadMasterHlsVideoPlaylistRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling headMasterHlsVideoPlaylist.'); + } + + if (requestParameters.mediaSourceId === null || requestParameters.mediaSourceId === undefined) { + throw new runtime.RequiredError('mediaSourceId','Required parameter requestParameters.mediaSourceId was null or undefined when calling headMasterHlsVideoPlaylist.'); + } + + const queryParameters: any = {}; + + if (requestParameters._static !== undefined) { + queryParameters['static'] = requestParameters._static; + } + + if (requestParameters.params !== undefined) { + queryParameters['params'] = requestParameters.params; + } + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.deviceProfileId !== undefined) { + queryParameters['deviceProfileId'] = requestParameters.deviceProfileId; + } + + if (requestParameters.playSessionId !== undefined) { + queryParameters['playSessionId'] = requestParameters.playSessionId; + } + + if (requestParameters.segmentContainer !== undefined) { + queryParameters['segmentContainer'] = requestParameters.segmentContainer; + } + + if (requestParameters.segmentLength !== undefined) { + queryParameters['segmentLength'] = requestParameters.segmentLength; + } + + if (requestParameters.minSegments !== undefined) { + queryParameters['minSegments'] = requestParameters.minSegments; + } + + if (requestParameters.mediaSourceId !== undefined) { + queryParameters['mediaSourceId'] = requestParameters.mediaSourceId; + } + + if (requestParameters.deviceId !== undefined) { + queryParameters['deviceId'] = requestParameters.deviceId; + } + + if (requestParameters.audioCodec !== undefined) { + queryParameters['audioCodec'] = requestParameters.audioCodec; + } + + if (requestParameters.enableAutoStreamCopy !== undefined) { + queryParameters['enableAutoStreamCopy'] = requestParameters.enableAutoStreamCopy; + } + + if (requestParameters.allowVideoStreamCopy !== undefined) { + queryParameters['allowVideoStreamCopy'] = requestParameters.allowVideoStreamCopy; + } + + if (requestParameters.allowAudioStreamCopy !== undefined) { + queryParameters['allowAudioStreamCopy'] = requestParameters.allowAudioStreamCopy; + } + + if (requestParameters.breakOnNonKeyFrames !== undefined) { + queryParameters['breakOnNonKeyFrames'] = requestParameters.breakOnNonKeyFrames; + } + + if (requestParameters.audioSampleRate !== undefined) { + queryParameters['audioSampleRate'] = requestParameters.audioSampleRate; + } + + if (requestParameters.maxAudioBitDepth !== undefined) { + queryParameters['maxAudioBitDepth'] = requestParameters.maxAudioBitDepth; + } + + if (requestParameters.audioBitRate !== undefined) { + queryParameters['audioBitRate'] = requestParameters.audioBitRate; + } + + if (requestParameters.audioChannels !== undefined) { + queryParameters['audioChannels'] = requestParameters.audioChannels; + } + + if (requestParameters.maxAudioChannels !== undefined) { + queryParameters['maxAudioChannels'] = requestParameters.maxAudioChannels; + } + + if (requestParameters.profile !== undefined) { + queryParameters['profile'] = requestParameters.profile; + } + + if (requestParameters.level !== undefined) { + queryParameters['level'] = requestParameters.level; + } + + if (requestParameters.framerate !== undefined) { + queryParameters['framerate'] = requestParameters.framerate; + } + + if (requestParameters.maxFramerate !== undefined) { + queryParameters['maxFramerate'] = requestParameters.maxFramerate; + } + + if (requestParameters.copyTimestamps !== undefined) { + queryParameters['copyTimestamps'] = requestParameters.copyTimestamps; + } + + if (requestParameters.startTimeTicks !== undefined) { + queryParameters['startTimeTicks'] = requestParameters.startTimeTicks; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.videoBitRate !== undefined) { + queryParameters['videoBitRate'] = requestParameters.videoBitRate; + } + + if (requestParameters.subtitleStreamIndex !== undefined) { + queryParameters['subtitleStreamIndex'] = requestParameters.subtitleStreamIndex; + } + + if (requestParameters.subtitleMethod !== undefined) { + queryParameters['subtitleMethod'] = requestParameters.subtitleMethod; + } + + if (requestParameters.maxRefFrames !== undefined) { + queryParameters['maxRefFrames'] = requestParameters.maxRefFrames; + } + + if (requestParameters.maxVideoBitDepth !== undefined) { + queryParameters['maxVideoBitDepth'] = requestParameters.maxVideoBitDepth; + } + + if (requestParameters.requireAvc !== undefined) { + queryParameters['requireAvc'] = requestParameters.requireAvc; + } + + if (requestParameters.deInterlace !== undefined) { + queryParameters['deInterlace'] = requestParameters.deInterlace; + } + + if (requestParameters.requireNonAnamorphic !== undefined) { + queryParameters['requireNonAnamorphic'] = requestParameters.requireNonAnamorphic; + } + + if (requestParameters.transcodingMaxAudioChannels !== undefined) { + queryParameters['transcodingMaxAudioChannels'] = requestParameters.transcodingMaxAudioChannels; + } + + if (requestParameters.cpuCoreLimit !== undefined) { + queryParameters['cpuCoreLimit'] = requestParameters.cpuCoreLimit; + } + + if (requestParameters.liveStreamId !== undefined) { + queryParameters['liveStreamId'] = requestParameters.liveStreamId; + } + + if (requestParameters.enableMpegtsM2TsMode !== undefined) { + queryParameters['enableMpegtsM2TsMode'] = requestParameters.enableMpegtsM2TsMode; + } + + if (requestParameters.videoCodec !== undefined) { + queryParameters['videoCodec'] = requestParameters.videoCodec; + } + + if (requestParameters.subtitleCodec !== undefined) { + queryParameters['subtitleCodec'] = requestParameters.subtitleCodec; + } + + if (requestParameters.transcodeReasons !== undefined) { + queryParameters['transcodeReasons'] = requestParameters.transcodeReasons; + } + + if (requestParameters.audioStreamIndex !== undefined) { + queryParameters['audioStreamIndex'] = requestParameters.audioStreamIndex; + } + + if (requestParameters.videoStreamIndex !== undefined) { + queryParameters['videoStreamIndex'] = requestParameters.videoStreamIndex; + } + + if (requestParameters.context !== undefined) { + queryParameters['context'] = requestParameters.context; + } + + if (requestParameters.streamOptions !== undefined) { + queryParameters['streamOptions'] = requestParameters.streamOptions; + } + + if (requestParameters.enableAdaptiveBitrateStreaming !== undefined) { + queryParameters['enableAdaptiveBitrateStreaming'] = requestParameters.enableAdaptiveBitrateStreaming; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Videos/{itemId}/master.m3u8`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'HEAD', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets a video hls playlist stream. + */ + async headMasterHlsVideoPlaylist(requestParameters: HeadMasterHlsVideoPlaylistRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.headMasterHlsVideoPlaylistRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/EnvironmentApi.ts b/server/jellyfin/apis/EnvironmentApi.ts new file mode 100644 index 0000000..c6a0af6 --- /dev/null +++ b/server/jellyfin/apis/EnvironmentApi.ts @@ -0,0 +1,267 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + DefaultDirectoryBrowserInfoDto, + FileSystemEntryInfo, + ProblemDetails, + ValidatePathRequest, +} from '../models'; +import { + DefaultDirectoryBrowserInfoDtoFromJSON, + DefaultDirectoryBrowserInfoDtoToJSON, + FileSystemEntryInfoFromJSON, + FileSystemEntryInfoToJSON, + ProblemDetailsFromJSON, + ProblemDetailsToJSON, + ValidatePathRequestFromJSON, + ValidatePathRequestToJSON, +} from '../models'; + +export interface GetDirectoryContentsRequest { + path: string; + includeFiles?: boolean; + includeDirectories?: boolean; +} + +export interface GetParentPathRequest { + path: string; +} + +export interface ValidatePathOperationRequest { + validatePathRequest: ValidatePathRequest; +} + +/** + * + */ +export class EnvironmentApi extends runtime.BaseAPI { + + /** + * Get Default directory browser. + */ + async getDefaultDirectoryBrowserRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Environment/DefaultDirectoryBrowser`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => DefaultDirectoryBrowserInfoDtoFromJSON(jsonValue)); + } + + /** + * Get Default directory browser. + */ + async getDefaultDirectoryBrowser(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getDefaultDirectoryBrowserRaw(initOverrides); + return await response.value(); + } + + /** + * Gets the contents of a given directory in the file system. + */ + async getDirectoryContentsRaw(requestParameters: GetDirectoryContentsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.path === null || requestParameters.path === undefined) { + throw new runtime.RequiredError('path','Required parameter requestParameters.path was null or undefined when calling getDirectoryContents.'); + } + + const queryParameters: any = {}; + + if (requestParameters.path !== undefined) { + queryParameters['path'] = requestParameters.path; + } + + if (requestParameters.includeFiles !== undefined) { + queryParameters['includeFiles'] = requestParameters.includeFiles; + } + + if (requestParameters.includeDirectories !== undefined) { + queryParameters['includeDirectories'] = requestParameters.includeDirectories; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Environment/DirectoryContents`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(FileSystemEntryInfoFromJSON)); + } + + /** + * Gets the contents of a given directory in the file system. + */ + async getDirectoryContents(requestParameters: GetDirectoryContentsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getDirectoryContentsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets available drives from the server\'s file system. + */ + async getDrivesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Environment/Drives`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(FileSystemEntryInfoFromJSON)); + } + + /** + * Gets available drives from the server\'s file system. + */ + async getDrives(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getDrivesRaw(initOverrides); + return await response.value(); + } + + /** + * Gets network paths. + */ + async getNetworkSharesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Environment/NetworkShares`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(FileSystemEntryInfoFromJSON)); + } + + /** + * Gets network paths. + */ + async getNetworkShares(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getNetworkSharesRaw(initOverrides); + return await response.value(); + } + + /** + * Gets the parent path of a given path. + */ + async getParentPathRaw(requestParameters: GetParentPathRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.path === null || requestParameters.path === undefined) { + throw new runtime.RequiredError('path','Required parameter requestParameters.path was null or undefined when calling getParentPath.'); + } + + const queryParameters: any = {}; + + if (requestParameters.path !== undefined) { + queryParameters['path'] = requestParameters.path; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Environment/ParentPath`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + if (this.isJsonMime(response.headers.get('content-type'))) { + return new runtime.JSONApiResponse(response); + } else { + return new runtime.TextApiResponse(response) as any; + } + } + + /** + * Gets the parent path of a given path. + */ + async getParentPath(requestParameters: GetParentPathRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getParentPathRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Validates path. + */ + async validatePathRaw(requestParameters: ValidatePathOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.validatePathRequest === null || requestParameters.validatePathRequest === undefined) { + throw new runtime.RequiredError('validatePathRequest','Required parameter requestParameters.validatePathRequest was null or undefined when calling validatePath.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Environment/ValidatePath`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: ValidatePathRequestToJSON(requestParameters.validatePathRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Validates path. + */ + async validatePath(requestParameters: ValidatePathOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.validatePathRaw(requestParameters, initOverrides); + } + +} diff --git a/server/jellyfin/apis/FilterApi.ts b/server/jellyfin/apis/FilterApi.ts new file mode 100644 index 0000000..bf94f9e --- /dev/null +++ b/server/jellyfin/apis/FilterApi.ts @@ -0,0 +1,172 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + BaseItemKind, + QueryFilters, + QueryFiltersLegacy, +} from '../models'; +import { + BaseItemKindFromJSON, + BaseItemKindToJSON, + QueryFiltersFromJSON, + QueryFiltersToJSON, + QueryFiltersLegacyFromJSON, + QueryFiltersLegacyToJSON, +} from '../models'; + +export interface GetQueryFiltersRequest { + userId?: string; + parentId?: string; + includeItemTypes?: Array; + isAiring?: boolean; + isMovie?: boolean; + isSports?: boolean; + isKids?: boolean; + isNews?: boolean; + isSeries?: boolean; + recursive?: boolean; +} + +export interface GetQueryFiltersLegacyRequest { + userId?: string; + parentId?: string; + includeItemTypes?: Array; + mediaTypes?: Array; +} + +/** + * + */ +export class FilterApi extends runtime.BaseAPI { + + /** + * Gets query filters. + */ + async getQueryFiltersRaw(requestParameters: GetQueryFiltersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.parentId !== undefined) { + queryParameters['parentId'] = requestParameters.parentId; + } + + if (requestParameters.includeItemTypes) { + queryParameters['includeItemTypes'] = requestParameters.includeItemTypes; + } + + if (requestParameters.isAiring !== undefined) { + queryParameters['isAiring'] = requestParameters.isAiring; + } + + if (requestParameters.isMovie !== undefined) { + queryParameters['isMovie'] = requestParameters.isMovie; + } + + if (requestParameters.isSports !== undefined) { + queryParameters['isSports'] = requestParameters.isSports; + } + + if (requestParameters.isKids !== undefined) { + queryParameters['isKids'] = requestParameters.isKids; + } + + if (requestParameters.isNews !== undefined) { + queryParameters['isNews'] = requestParameters.isNews; + } + + if (requestParameters.isSeries !== undefined) { + queryParameters['isSeries'] = requestParameters.isSeries; + } + + if (requestParameters.recursive !== undefined) { + queryParameters['recursive'] = requestParameters.recursive; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/Filters2`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => QueryFiltersFromJSON(jsonValue)); + } + + /** + * Gets query filters. + */ + async getQueryFilters(requestParameters: GetQueryFiltersRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getQueryFiltersRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets legacy query filters. + */ + async getQueryFiltersLegacyRaw(requestParameters: GetQueryFiltersLegacyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.parentId !== undefined) { + queryParameters['parentId'] = requestParameters.parentId; + } + + if (requestParameters.includeItemTypes) { + queryParameters['includeItemTypes'] = requestParameters.includeItemTypes; + } + + if (requestParameters.mediaTypes) { + queryParameters['mediaTypes'] = requestParameters.mediaTypes; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/Filters`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => QueryFiltersLegacyFromJSON(jsonValue)); + } + + /** + * Gets legacy query filters. + */ + async getQueryFiltersLegacy(requestParameters: GetQueryFiltersLegacyRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getQueryFiltersLegacyRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/GenresApi.ts b/server/jellyfin/apis/GenresApi.ts new file mode 100644 index 0000000..d34fa25 --- /dev/null +++ b/server/jellyfin/apis/GenresApi.ts @@ -0,0 +1,211 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + BaseItemDto, + BaseItemDtoQueryResult, + BaseItemKind, + ImageType, + ItemFields, + SortOrder, +} from '../models'; +import { + BaseItemDtoFromJSON, + BaseItemDtoToJSON, + BaseItemDtoQueryResultFromJSON, + BaseItemDtoQueryResultToJSON, + BaseItemKindFromJSON, + BaseItemKindToJSON, + ImageTypeFromJSON, + ImageTypeToJSON, + ItemFieldsFromJSON, + ItemFieldsToJSON, + SortOrderFromJSON, + SortOrderToJSON, +} from '../models'; + +export interface GetGenreRequest { + genreName: string; + userId?: string; +} + +export interface GetGenresRequest { + startIndex?: number; + limit?: number; + searchTerm?: string; + parentId?: string; + fields?: Array; + excludeItemTypes?: Array; + includeItemTypes?: Array; + isFavorite?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; + userId?: string; + nameStartsWithOrGreater?: string; + nameStartsWith?: string; + nameLessThan?: string; + sortBy?: Array; + sortOrder?: Array; + enableImages?: boolean; + enableTotalRecordCount?: boolean; +} + +/** + * + */ +export class GenresApi extends runtime.BaseAPI { + + /** + * Gets a genre, by name. + */ + async getGenreRaw(requestParameters: GetGenreRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.genreName === null || requestParameters.genreName === undefined) { + throw new runtime.RequiredError('genreName','Required parameter requestParameters.genreName was null or undefined when calling getGenre.'); + } + + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Genres/{genreName}`.replace(`{${"genreName"}}`, encodeURIComponent(String(requestParameters.genreName))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoFromJSON(jsonValue)); + } + + /** + * Gets a genre, by name. + */ + async getGenre(requestParameters: GetGenreRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getGenreRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets all genres from a given item, folder, or the entire library. + */ + async getGenresRaw(requestParameters: GetGenresRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.startIndex !== undefined) { + queryParameters['startIndex'] = requestParameters.startIndex; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.searchTerm !== undefined) { + queryParameters['searchTerm'] = requestParameters.searchTerm; + } + + if (requestParameters.parentId !== undefined) { + queryParameters['parentId'] = requestParameters.parentId; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.excludeItemTypes) { + queryParameters['excludeItemTypes'] = requestParameters.excludeItemTypes; + } + + if (requestParameters.includeItemTypes) { + queryParameters['includeItemTypes'] = requestParameters.includeItemTypes; + } + + if (requestParameters.isFavorite !== undefined) { + queryParameters['isFavorite'] = requestParameters.isFavorite; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.nameStartsWithOrGreater !== undefined) { + queryParameters['nameStartsWithOrGreater'] = requestParameters.nameStartsWithOrGreater; + } + + if (requestParameters.nameStartsWith !== undefined) { + queryParameters['nameStartsWith'] = requestParameters.nameStartsWith; + } + + if (requestParameters.nameLessThan !== undefined) { + queryParameters['nameLessThan'] = requestParameters.nameLessThan; + } + + if (requestParameters.sortBy) { + queryParameters['sortBy'] = requestParameters.sortBy; + } + + if (requestParameters.sortOrder) { + queryParameters['sortOrder'] = requestParameters.sortOrder; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + if (requestParameters.enableTotalRecordCount !== undefined) { + queryParameters['enableTotalRecordCount'] = requestParameters.enableTotalRecordCount; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Genres`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets all genres from a given item, folder, or the entire library. + */ + async getGenres(requestParameters: GetGenresRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getGenresRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/HlsSegmentApi.ts b/server/jellyfin/apis/HlsSegmentApi.ts new file mode 100644 index 0000000..41ff888 --- /dev/null +++ b/server/jellyfin/apis/HlsSegmentApi.ts @@ -0,0 +1,250 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + ProblemDetails, +} from '../models'; +import { + ProblemDetailsFromJSON, + ProblemDetailsToJSON, +} from '../models'; + +export interface GetHlsAudioSegmentLegacyAacRequest { + itemId: string; + segmentId: string; +} + +export interface GetHlsAudioSegmentLegacyMp3Request { + itemId: string; + segmentId: string; +} + +export interface GetHlsPlaylistLegacyRequest { + itemId: string; + playlistId: string; +} + +export interface GetHlsVideoSegmentLegacyRequest { + itemId: string; + playlistId: string; + segmentId: string; + segmentContainer: string; +} + +export interface StopEncodingProcessRequest { + deviceId: string; + playSessionId: string; +} + +/** + * + */ +export class HlsSegmentApi extends runtime.BaseAPI { + + /** + * Gets the specified audio segment for an audio item. + */ + async getHlsAudioSegmentLegacyAacRaw(requestParameters: GetHlsAudioSegmentLegacyAacRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getHlsAudioSegmentLegacyAac.'); + } + + if (requestParameters.segmentId === null || requestParameters.segmentId === undefined) { + throw new runtime.RequiredError('segmentId','Required parameter requestParameters.segmentId was null or undefined when calling getHlsAudioSegmentLegacyAac.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Audio/{itemId}/hls/{segmentId}/stream.aac`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))).replace(`{${"segmentId"}}`, encodeURIComponent(String(requestParameters.segmentId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets the specified audio segment for an audio item. + */ + async getHlsAudioSegmentLegacyAac(requestParameters: GetHlsAudioSegmentLegacyAacRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getHlsAudioSegmentLegacyAacRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets the specified audio segment for an audio item. + */ + async getHlsAudioSegmentLegacyMp3Raw(requestParameters: GetHlsAudioSegmentLegacyMp3Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getHlsAudioSegmentLegacyMp3.'); + } + + if (requestParameters.segmentId === null || requestParameters.segmentId === undefined) { + throw new runtime.RequiredError('segmentId','Required parameter requestParameters.segmentId was null or undefined when calling getHlsAudioSegmentLegacyMp3.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Audio/{itemId}/hls/{segmentId}/stream.mp3`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))).replace(`{${"segmentId"}}`, encodeURIComponent(String(requestParameters.segmentId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets the specified audio segment for an audio item. + */ + async getHlsAudioSegmentLegacyMp3(requestParameters: GetHlsAudioSegmentLegacyMp3Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getHlsAudioSegmentLegacyMp3Raw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a hls video playlist. + */ + async getHlsPlaylistLegacyRaw(requestParameters: GetHlsPlaylistLegacyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getHlsPlaylistLegacy.'); + } + + if (requestParameters.playlistId === null || requestParameters.playlistId === undefined) { + throw new runtime.RequiredError('playlistId','Required parameter requestParameters.playlistId was null or undefined when calling getHlsPlaylistLegacy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Videos/{itemId}/hls/{playlistId}/stream.m3u8`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))).replace(`{${"playlistId"}}`, encodeURIComponent(String(requestParameters.playlistId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets a hls video playlist. + */ + async getHlsPlaylistLegacy(requestParameters: GetHlsPlaylistLegacyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getHlsPlaylistLegacyRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a hls video segment. + */ + async getHlsVideoSegmentLegacyRaw(requestParameters: GetHlsVideoSegmentLegacyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getHlsVideoSegmentLegacy.'); + } + + if (requestParameters.playlistId === null || requestParameters.playlistId === undefined) { + throw new runtime.RequiredError('playlistId','Required parameter requestParameters.playlistId was null or undefined when calling getHlsVideoSegmentLegacy.'); + } + + if (requestParameters.segmentId === null || requestParameters.segmentId === undefined) { + throw new runtime.RequiredError('segmentId','Required parameter requestParameters.segmentId was null or undefined when calling getHlsVideoSegmentLegacy.'); + } + + if (requestParameters.segmentContainer === null || requestParameters.segmentContainer === undefined) { + throw new runtime.RequiredError('segmentContainer','Required parameter requestParameters.segmentContainer was null or undefined when calling getHlsVideoSegmentLegacy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Videos/{itemId}/hls/{playlistId}/{segmentId}.{segmentContainer}`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))).replace(`{${"playlistId"}}`, encodeURIComponent(String(requestParameters.playlistId))).replace(`{${"segmentId"}}`, encodeURIComponent(String(requestParameters.segmentId))).replace(`{${"segmentContainer"}}`, encodeURIComponent(String(requestParameters.segmentContainer))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets a hls video segment. + */ + async getHlsVideoSegmentLegacy(requestParameters: GetHlsVideoSegmentLegacyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getHlsVideoSegmentLegacyRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Stops an active encoding. + */ + async stopEncodingProcessRaw(requestParameters: StopEncodingProcessRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.deviceId === null || requestParameters.deviceId === undefined) { + throw new runtime.RequiredError('deviceId','Required parameter requestParameters.deviceId was null or undefined when calling stopEncodingProcess.'); + } + + if (requestParameters.playSessionId === null || requestParameters.playSessionId === undefined) { + throw new runtime.RequiredError('playSessionId','Required parameter requestParameters.playSessionId was null or undefined when calling stopEncodingProcess.'); + } + + const queryParameters: any = {}; + + if (requestParameters.deviceId !== undefined) { + queryParameters['deviceId'] = requestParameters.deviceId; + } + + if (requestParameters.playSessionId !== undefined) { + queryParameters['playSessionId'] = requestParameters.playSessionId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Videos/ActiveEncodings`, + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Stops an active encoding. + */ + async stopEncodingProcess(requestParameters: StopEncodingProcessRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.stopEncodingProcessRaw(requestParameters, initOverrides); + } + +} diff --git a/server/jellyfin/apis/ImageApi.ts b/server/jellyfin/apis/ImageApi.ts new file mode 100644 index 0000000..9771521 --- /dev/null +++ b/server/jellyfin/apis/ImageApi.ts @@ -0,0 +1,4146 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + ImageFormat, + ImageInfo, + ImageType, + ProblemDetails, +} from '../models'; +import { + ImageFormatFromJSON, + ImageFormatToJSON, + ImageInfoFromJSON, + ImageInfoToJSON, + ImageTypeFromJSON, + ImageTypeToJSON, + ProblemDetailsFromJSON, + ProblemDetailsToJSON, +} from '../models'; + +export interface DeleteItemImageRequest { + itemId: string; + imageType: ImageType; + imageIndex?: number; +} + +export interface DeleteItemImageByIndexRequest { + itemId: string; + imageType: ImageType; + imageIndex: number; +} + +export interface DeleteUserImageRequest { + userId: string; + imageType: ImageType; + index?: number; +} + +export interface DeleteUserImageByIndexRequest { + userId: string; + imageType: ImageType; + index: number; +} + +export interface GetArtistImageRequest { + name: string; + imageType: ImageType; + imageIndex: number; + tag?: string; + format?: ImageFormat; + maxWidth?: number; + maxHeight?: number; + percentPlayed?: number; + unplayedCount?: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + cropWhitespace?: boolean; + addPlayedIndicator?: boolean; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; +} + +export interface GetGenreImageRequest { + name: string; + imageType: ImageType; + tag?: string; + format?: ImageFormat; + maxWidth?: number; + maxHeight?: number; + percentPlayed?: number; + unplayedCount?: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + cropWhitespace?: boolean; + addPlayedIndicator?: boolean; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; + imageIndex?: number; +} + +export interface GetGenreImageByIndexRequest { + name: string; + imageType: ImageType; + imageIndex: number; + tag?: string; + format?: ImageFormat; + maxWidth?: number; + maxHeight?: number; + percentPlayed?: number; + unplayedCount?: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + cropWhitespace?: boolean; + addPlayedIndicator?: boolean; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; +} + +export interface GetItemImageRequest { + itemId: string; + imageType: ImageType; + maxWidth?: number; + maxHeight?: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + tag?: string; + cropWhitespace?: boolean; + format?: ImageFormat; + addPlayedIndicator?: boolean; + percentPlayed?: number; + unplayedCount?: number; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; + imageIndex?: number; +} + +export interface GetItemImage2Request { + itemId: string; + imageType: ImageType; + maxWidth: number; + maxHeight: number; + tag: string; + format: ImageFormat; + percentPlayed: number; + unplayedCount: number; + imageIndex: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + cropWhitespace?: boolean; + addPlayedIndicator?: boolean; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; +} + +export interface GetItemImageByIndexRequest { + itemId: string; + imageType: ImageType; + imageIndex: number; + maxWidth?: number; + maxHeight?: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + tag?: string; + cropWhitespace?: boolean; + format?: ImageFormat; + addPlayedIndicator?: boolean; + percentPlayed?: number; + unplayedCount?: number; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; +} + +export interface GetItemImageInfosRequest { + itemId: string; +} + +export interface GetMusicGenreImageRequest { + name: string; + imageType: ImageType; + tag?: string; + format?: ImageFormat; + maxWidth?: number; + maxHeight?: number; + percentPlayed?: number; + unplayedCount?: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + cropWhitespace?: boolean; + addPlayedIndicator?: boolean; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; + imageIndex?: number; +} + +export interface GetMusicGenreImageByIndexRequest { + name: string; + imageType: ImageType; + imageIndex: number; + tag?: string; + format?: ImageFormat; + maxWidth?: number; + maxHeight?: number; + percentPlayed?: number; + unplayedCount?: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + cropWhitespace?: boolean; + addPlayedIndicator?: boolean; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; +} + +export interface GetPersonImageRequest { + name: string; + imageType: ImageType; + tag?: string; + format?: ImageFormat; + maxWidth?: number; + maxHeight?: number; + percentPlayed?: number; + unplayedCount?: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + cropWhitespace?: boolean; + addPlayedIndicator?: boolean; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; + imageIndex?: number; +} + +export interface GetPersonImageByIndexRequest { + name: string; + imageType: ImageType; + imageIndex: number; + tag?: string; + format?: ImageFormat; + maxWidth?: number; + maxHeight?: number; + percentPlayed?: number; + unplayedCount?: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + cropWhitespace?: boolean; + addPlayedIndicator?: boolean; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; +} + +export interface GetSplashscreenRequest { + tag?: string; + format?: ImageFormat; + maxWidth?: number; + maxHeight?: number; + width?: number; + height?: number; + fillWidth?: number; + fillHeight?: number; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; + quality?: number; +} + +export interface GetStudioImageRequest { + name: string; + imageType: ImageType; + tag?: string; + format?: ImageFormat; + maxWidth?: number; + maxHeight?: number; + percentPlayed?: number; + unplayedCount?: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + cropWhitespace?: boolean; + addPlayedIndicator?: boolean; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; + imageIndex?: number; +} + +export interface GetStudioImageByIndexRequest { + name: string; + imageType: ImageType; + imageIndex: number; + tag?: string; + format?: ImageFormat; + maxWidth?: number; + maxHeight?: number; + percentPlayed?: number; + unplayedCount?: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + cropWhitespace?: boolean; + addPlayedIndicator?: boolean; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; +} + +export interface GetUserImageRequest { + userId: string; + imageType: ImageType; + tag?: string; + format?: ImageFormat; + maxWidth?: number; + maxHeight?: number; + percentPlayed?: number; + unplayedCount?: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + cropWhitespace?: boolean; + addPlayedIndicator?: boolean; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; + imageIndex?: number; +} + +export interface GetUserImageByIndexRequest { + userId: string; + imageType: ImageType; + imageIndex: number; + tag?: string; + format?: ImageFormat; + maxWidth?: number; + maxHeight?: number; + percentPlayed?: number; + unplayedCount?: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + cropWhitespace?: boolean; + addPlayedIndicator?: boolean; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; +} + +export interface HeadArtistImageRequest { + name: string; + imageType: ImageType; + imageIndex: number; + tag?: string; + format?: ImageFormat; + maxWidth?: number; + maxHeight?: number; + percentPlayed?: number; + unplayedCount?: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + cropWhitespace?: boolean; + addPlayedIndicator?: boolean; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; +} + +export interface HeadGenreImageRequest { + name: string; + imageType: ImageType; + tag?: string; + format?: ImageFormat; + maxWidth?: number; + maxHeight?: number; + percentPlayed?: number; + unplayedCount?: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + cropWhitespace?: boolean; + addPlayedIndicator?: boolean; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; + imageIndex?: number; +} + +export interface HeadGenreImageByIndexRequest { + name: string; + imageType: ImageType; + imageIndex: number; + tag?: string; + format?: ImageFormat; + maxWidth?: number; + maxHeight?: number; + percentPlayed?: number; + unplayedCount?: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + cropWhitespace?: boolean; + addPlayedIndicator?: boolean; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; +} + +export interface HeadItemImageRequest { + itemId: string; + imageType: ImageType; + maxWidth?: number; + maxHeight?: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + tag?: string; + cropWhitespace?: boolean; + format?: ImageFormat; + addPlayedIndicator?: boolean; + percentPlayed?: number; + unplayedCount?: number; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; + imageIndex?: number; +} + +export interface HeadItemImage2Request { + itemId: string; + imageType: ImageType; + maxWidth: number; + maxHeight: number; + tag: string; + format: ImageFormat; + percentPlayed: number; + unplayedCount: number; + imageIndex: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + cropWhitespace?: boolean; + addPlayedIndicator?: boolean; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; +} + +export interface HeadItemImageByIndexRequest { + itemId: string; + imageType: ImageType; + imageIndex: number; + maxWidth?: number; + maxHeight?: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + tag?: string; + cropWhitespace?: boolean; + format?: ImageFormat; + addPlayedIndicator?: boolean; + percentPlayed?: number; + unplayedCount?: number; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; +} + +export interface HeadMusicGenreImageRequest { + name: string; + imageType: ImageType; + tag?: string; + format?: ImageFormat; + maxWidth?: number; + maxHeight?: number; + percentPlayed?: number; + unplayedCount?: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + cropWhitespace?: boolean; + addPlayedIndicator?: boolean; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; + imageIndex?: number; +} + +export interface HeadMusicGenreImageByIndexRequest { + name: string; + imageType: ImageType; + imageIndex: number; + tag?: string; + format?: ImageFormat; + maxWidth?: number; + maxHeight?: number; + percentPlayed?: number; + unplayedCount?: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + cropWhitespace?: boolean; + addPlayedIndicator?: boolean; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; +} + +export interface HeadPersonImageRequest { + name: string; + imageType: ImageType; + tag?: string; + format?: ImageFormat; + maxWidth?: number; + maxHeight?: number; + percentPlayed?: number; + unplayedCount?: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + cropWhitespace?: boolean; + addPlayedIndicator?: boolean; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; + imageIndex?: number; +} + +export interface HeadPersonImageByIndexRequest { + name: string; + imageType: ImageType; + imageIndex: number; + tag?: string; + format?: ImageFormat; + maxWidth?: number; + maxHeight?: number; + percentPlayed?: number; + unplayedCount?: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + cropWhitespace?: boolean; + addPlayedIndicator?: boolean; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; +} + +export interface HeadStudioImageRequest { + name: string; + imageType: ImageType; + tag?: string; + format?: ImageFormat; + maxWidth?: number; + maxHeight?: number; + percentPlayed?: number; + unplayedCount?: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + cropWhitespace?: boolean; + addPlayedIndicator?: boolean; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; + imageIndex?: number; +} + +export interface HeadStudioImageByIndexRequest { + name: string; + imageType: ImageType; + imageIndex: number; + tag?: string; + format?: ImageFormat; + maxWidth?: number; + maxHeight?: number; + percentPlayed?: number; + unplayedCount?: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + cropWhitespace?: boolean; + addPlayedIndicator?: boolean; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; +} + +export interface HeadUserImageRequest { + userId: string; + imageType: ImageType; + tag?: string; + format?: ImageFormat; + maxWidth?: number; + maxHeight?: number; + percentPlayed?: number; + unplayedCount?: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + cropWhitespace?: boolean; + addPlayedIndicator?: boolean; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; + imageIndex?: number; +} + +export interface HeadUserImageByIndexRequest { + userId: string; + imageType: ImageType; + imageIndex: number; + tag?: string; + format?: ImageFormat; + maxWidth?: number; + maxHeight?: number; + percentPlayed?: number; + unplayedCount?: number; + width?: number; + height?: number; + quality?: number; + fillWidth?: number; + fillHeight?: number; + cropWhitespace?: boolean; + addPlayedIndicator?: boolean; + blur?: number; + backgroundColor?: string; + foregroundLayer?: string; +} + +export interface PostUserImageRequest { + userId: string; + imageType: ImageType; + index?: number; + body?: Blob; +} + +export interface PostUserImageByIndexRequest { + userId: string; + imageType: ImageType; + index: number; + body?: Blob; +} + +export interface SetItemImageRequest { + itemId: string; + imageType: ImageType; + body?: Blob; +} + +export interface SetItemImageByIndexRequest { + itemId: string; + imageType: ImageType; + imageIndex: number; + body?: Blob; +} + +export interface UpdateItemImageIndexRequest { + itemId: string; + imageType: ImageType; + imageIndex: number; + newIndex: number; +} + +export interface UploadCustomSplashscreenRequest { + body?: Blob; +} + +/** + * + */ +export class ImageApi extends runtime.BaseAPI { + + /** + * Delete a custom splashscreen. + */ + async deleteCustomSplashscreenRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Branding/Splashscreen`, + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Delete a custom splashscreen. + */ + async deleteCustomSplashscreen(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.deleteCustomSplashscreenRaw(initOverrides); + } + + /** + * Delete an item\'s image. + */ + async deleteItemImageRaw(requestParameters: DeleteItemImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling deleteItemImage.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling deleteItemImage.'); + } + + const queryParameters: any = {}; + + if (requestParameters.imageIndex !== undefined) { + queryParameters['imageIndex'] = requestParameters.imageIndex; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{itemId}/Images/{imageType}`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Delete an item\'s image. + */ + async deleteItemImage(requestParameters: DeleteItemImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.deleteItemImageRaw(requestParameters, initOverrides); + } + + /** + * Delete an item\'s image. + */ + async deleteItemImageByIndexRaw(requestParameters: DeleteItemImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling deleteItemImageByIndex.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling deleteItemImageByIndex.'); + } + + if (requestParameters.imageIndex === null || requestParameters.imageIndex === undefined) { + throw new runtime.RequiredError('imageIndex','Required parameter requestParameters.imageIndex was null or undefined when calling deleteItemImageByIndex.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{itemId}/Images/{imageType}/{imageIndex}`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))).replace(`{${"imageIndex"}}`, encodeURIComponent(String(requestParameters.imageIndex))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Delete an item\'s image. + */ + async deleteItemImageByIndex(requestParameters: DeleteItemImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.deleteItemImageByIndexRaw(requestParameters, initOverrides); + } + + /** + * Delete the user\'s image. + */ + async deleteUserImageRaw(requestParameters: DeleteUserImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling deleteUserImage.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling deleteUserImage.'); + } + + const queryParameters: any = {}; + + if (requestParameters.index !== undefined) { + queryParameters['index'] = requestParameters.index; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/Images/{imageType}`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Delete the user\'s image. + */ + async deleteUserImage(requestParameters: DeleteUserImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.deleteUserImageRaw(requestParameters, initOverrides); + } + + /** + * Delete the user\'s image. + */ + async deleteUserImageByIndexRaw(requestParameters: DeleteUserImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling deleteUserImageByIndex.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling deleteUserImageByIndex.'); + } + + if (requestParameters.index === null || requestParameters.index === undefined) { + throw new runtime.RequiredError('index','Required parameter requestParameters.index was null or undefined when calling deleteUserImageByIndex.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/Images/{imageType}/{index}`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))).replace(`{${"index"}}`, encodeURIComponent(String(requestParameters.index))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Delete the user\'s image. + */ + async deleteUserImageByIndex(requestParameters: DeleteUserImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.deleteUserImageByIndexRaw(requestParameters, initOverrides); + } + + /** + * Get artist image by name. + */ + async getArtistImageRaw(requestParameters: GetArtistImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getArtistImage.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling getArtistImage.'); + } + + if (requestParameters.imageIndex === null || requestParameters.imageIndex === undefined) { + throw new runtime.RequiredError('imageIndex','Required parameter requestParameters.imageIndex was null or undefined when calling getArtistImage.'); + } + + const queryParameters: any = {}; + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.percentPlayed !== undefined) { + queryParameters['percentPlayed'] = requestParameters.percentPlayed; + } + + if (requestParameters.unplayedCount !== undefined) { + queryParameters['unplayedCount'] = requestParameters.unplayedCount; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Artists/{name}/Images/{imageType}/{imageIndex}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))).replace(`{${"imageIndex"}}`, encodeURIComponent(String(requestParameters.imageIndex))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get artist image by name. + */ + async getArtistImage(requestParameters: GetArtistImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getArtistImageRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get genre image by name. + */ + async getGenreImageRaw(requestParameters: GetGenreImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getGenreImage.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling getGenreImage.'); + } + + const queryParameters: any = {}; + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.percentPlayed !== undefined) { + queryParameters['percentPlayed'] = requestParameters.percentPlayed; + } + + if (requestParameters.unplayedCount !== undefined) { + queryParameters['unplayedCount'] = requestParameters.unplayedCount; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + if (requestParameters.imageIndex !== undefined) { + queryParameters['imageIndex'] = requestParameters.imageIndex; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Genres/{name}/Images/{imageType}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get genre image by name. + */ + async getGenreImage(requestParameters: GetGenreImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getGenreImageRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get genre image by name. + */ + async getGenreImageByIndexRaw(requestParameters: GetGenreImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getGenreImageByIndex.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling getGenreImageByIndex.'); + } + + if (requestParameters.imageIndex === null || requestParameters.imageIndex === undefined) { + throw new runtime.RequiredError('imageIndex','Required parameter requestParameters.imageIndex was null or undefined when calling getGenreImageByIndex.'); + } + + const queryParameters: any = {}; + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.percentPlayed !== undefined) { + queryParameters['percentPlayed'] = requestParameters.percentPlayed; + } + + if (requestParameters.unplayedCount !== undefined) { + queryParameters['unplayedCount'] = requestParameters.unplayedCount; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Genres/{name}/Images/{imageType}/{imageIndex}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))).replace(`{${"imageIndex"}}`, encodeURIComponent(String(requestParameters.imageIndex))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get genre image by name. + */ + async getGenreImageByIndex(requestParameters: GetGenreImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getGenreImageByIndexRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets the item\'s image. + */ + async getItemImageRaw(requestParameters: GetItemImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getItemImage.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling getItemImage.'); + } + + const queryParameters: any = {}; + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.percentPlayed !== undefined) { + queryParameters['percentPlayed'] = requestParameters.percentPlayed; + } + + if (requestParameters.unplayedCount !== undefined) { + queryParameters['unplayedCount'] = requestParameters.unplayedCount; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + if (requestParameters.imageIndex !== undefined) { + queryParameters['imageIndex'] = requestParameters.imageIndex; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Items/{itemId}/Images/{imageType}`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets the item\'s image. + */ + async getItemImage(requestParameters: GetItemImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getItemImageRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets the item\'s image. + */ + async getItemImage2Raw(requestParameters: GetItemImage2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getItemImage2.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling getItemImage2.'); + } + + if (requestParameters.maxWidth === null || requestParameters.maxWidth === undefined) { + throw new runtime.RequiredError('maxWidth','Required parameter requestParameters.maxWidth was null or undefined when calling getItemImage2.'); + } + + if (requestParameters.maxHeight === null || requestParameters.maxHeight === undefined) { + throw new runtime.RequiredError('maxHeight','Required parameter requestParameters.maxHeight was null or undefined when calling getItemImage2.'); + } + + if (requestParameters.tag === null || requestParameters.tag === undefined) { + throw new runtime.RequiredError('tag','Required parameter requestParameters.tag was null or undefined when calling getItemImage2.'); + } + + if (requestParameters.format === null || requestParameters.format === undefined) { + throw new runtime.RequiredError('format','Required parameter requestParameters.format was null or undefined when calling getItemImage2.'); + } + + if (requestParameters.percentPlayed === null || requestParameters.percentPlayed === undefined) { + throw new runtime.RequiredError('percentPlayed','Required parameter requestParameters.percentPlayed was null or undefined when calling getItemImage2.'); + } + + if (requestParameters.unplayedCount === null || requestParameters.unplayedCount === undefined) { + throw new runtime.RequiredError('unplayedCount','Required parameter requestParameters.unplayedCount was null or undefined when calling getItemImage2.'); + } + + if (requestParameters.imageIndex === null || requestParameters.imageIndex === undefined) { + throw new runtime.RequiredError('imageIndex','Required parameter requestParameters.imageIndex was null or undefined when calling getItemImage2.'); + } + + const queryParameters: any = {}; + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Items/{itemId}/Images/{imageType}/{imageIndex}/{tag}/{format}/{maxWidth}/{maxHeight}/{percentPlayed}/{unplayedCount}`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))).replace(`{${"maxWidth"}}`, encodeURIComponent(String(requestParameters.maxWidth))).replace(`{${"maxHeight"}}`, encodeURIComponent(String(requestParameters.maxHeight))).replace(`{${"tag"}}`, encodeURIComponent(String(requestParameters.tag))).replace(`{${"format"}}`, encodeURIComponent(String(requestParameters.format))).replace(`{${"percentPlayed"}}`, encodeURIComponent(String(requestParameters.percentPlayed))).replace(`{${"unplayedCount"}}`, encodeURIComponent(String(requestParameters.unplayedCount))).replace(`{${"imageIndex"}}`, encodeURIComponent(String(requestParameters.imageIndex))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets the item\'s image. + */ + async getItemImage2(requestParameters: GetItemImage2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getItemImage2Raw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets the item\'s image. + */ + async getItemImageByIndexRaw(requestParameters: GetItemImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getItemImageByIndex.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling getItemImageByIndex.'); + } + + if (requestParameters.imageIndex === null || requestParameters.imageIndex === undefined) { + throw new runtime.RequiredError('imageIndex','Required parameter requestParameters.imageIndex was null or undefined when calling getItemImageByIndex.'); + } + + const queryParameters: any = {}; + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.percentPlayed !== undefined) { + queryParameters['percentPlayed'] = requestParameters.percentPlayed; + } + + if (requestParameters.unplayedCount !== undefined) { + queryParameters['unplayedCount'] = requestParameters.unplayedCount; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Items/{itemId}/Images/{imageType}/{imageIndex}`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))).replace(`{${"imageIndex"}}`, encodeURIComponent(String(requestParameters.imageIndex))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets the item\'s image. + */ + async getItemImageByIndex(requestParameters: GetItemImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getItemImageByIndexRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get item image infos. + */ + async getItemImageInfosRaw(requestParameters: GetItemImageInfosRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getItemImageInfos.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{itemId}/Images`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ImageInfoFromJSON)); + } + + /** + * Get item image infos. + */ + async getItemImageInfos(requestParameters: GetItemImageInfosRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getItemImageInfosRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get music genre image by name. + */ + async getMusicGenreImageRaw(requestParameters: GetMusicGenreImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getMusicGenreImage.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling getMusicGenreImage.'); + } + + const queryParameters: any = {}; + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.percentPlayed !== undefined) { + queryParameters['percentPlayed'] = requestParameters.percentPlayed; + } + + if (requestParameters.unplayedCount !== undefined) { + queryParameters['unplayedCount'] = requestParameters.unplayedCount; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + if (requestParameters.imageIndex !== undefined) { + queryParameters['imageIndex'] = requestParameters.imageIndex; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/MusicGenres/{name}/Images/{imageType}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get music genre image by name. + */ + async getMusicGenreImage(requestParameters: GetMusicGenreImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getMusicGenreImageRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get music genre image by name. + */ + async getMusicGenreImageByIndexRaw(requestParameters: GetMusicGenreImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getMusicGenreImageByIndex.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling getMusicGenreImageByIndex.'); + } + + if (requestParameters.imageIndex === null || requestParameters.imageIndex === undefined) { + throw new runtime.RequiredError('imageIndex','Required parameter requestParameters.imageIndex was null or undefined when calling getMusicGenreImageByIndex.'); + } + + const queryParameters: any = {}; + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.percentPlayed !== undefined) { + queryParameters['percentPlayed'] = requestParameters.percentPlayed; + } + + if (requestParameters.unplayedCount !== undefined) { + queryParameters['unplayedCount'] = requestParameters.unplayedCount; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/MusicGenres/{name}/Images/{imageType}/{imageIndex}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))).replace(`{${"imageIndex"}}`, encodeURIComponent(String(requestParameters.imageIndex))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get music genre image by name. + */ + async getMusicGenreImageByIndex(requestParameters: GetMusicGenreImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getMusicGenreImageByIndexRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get person image by name. + */ + async getPersonImageRaw(requestParameters: GetPersonImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getPersonImage.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling getPersonImage.'); + } + + const queryParameters: any = {}; + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.percentPlayed !== undefined) { + queryParameters['percentPlayed'] = requestParameters.percentPlayed; + } + + if (requestParameters.unplayedCount !== undefined) { + queryParameters['unplayedCount'] = requestParameters.unplayedCount; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + if (requestParameters.imageIndex !== undefined) { + queryParameters['imageIndex'] = requestParameters.imageIndex; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Persons/{name}/Images/{imageType}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get person image by name. + */ + async getPersonImage(requestParameters: GetPersonImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getPersonImageRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get person image by name. + */ + async getPersonImageByIndexRaw(requestParameters: GetPersonImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getPersonImageByIndex.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling getPersonImageByIndex.'); + } + + if (requestParameters.imageIndex === null || requestParameters.imageIndex === undefined) { + throw new runtime.RequiredError('imageIndex','Required parameter requestParameters.imageIndex was null or undefined when calling getPersonImageByIndex.'); + } + + const queryParameters: any = {}; + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.percentPlayed !== undefined) { + queryParameters['percentPlayed'] = requestParameters.percentPlayed; + } + + if (requestParameters.unplayedCount !== undefined) { + queryParameters['unplayedCount'] = requestParameters.unplayedCount; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Persons/{name}/Images/{imageType}/{imageIndex}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))).replace(`{${"imageIndex"}}`, encodeURIComponent(String(requestParameters.imageIndex))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get person image by name. + */ + async getPersonImageByIndex(requestParameters: GetPersonImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getPersonImageByIndexRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Generates or gets the splashscreen. + */ + async getSplashscreenRaw(requestParameters: GetSplashscreenRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Branding/Splashscreen`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Generates or gets the splashscreen. + */ + async getSplashscreen(requestParameters: GetSplashscreenRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getSplashscreenRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get studio image by name. + */ + async getStudioImageRaw(requestParameters: GetStudioImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getStudioImage.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling getStudioImage.'); + } + + const queryParameters: any = {}; + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.percentPlayed !== undefined) { + queryParameters['percentPlayed'] = requestParameters.percentPlayed; + } + + if (requestParameters.unplayedCount !== undefined) { + queryParameters['unplayedCount'] = requestParameters.unplayedCount; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + if (requestParameters.imageIndex !== undefined) { + queryParameters['imageIndex'] = requestParameters.imageIndex; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Studios/{name}/Images/{imageType}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get studio image by name. + */ + async getStudioImage(requestParameters: GetStudioImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getStudioImageRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get studio image by name. + */ + async getStudioImageByIndexRaw(requestParameters: GetStudioImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getStudioImageByIndex.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling getStudioImageByIndex.'); + } + + if (requestParameters.imageIndex === null || requestParameters.imageIndex === undefined) { + throw new runtime.RequiredError('imageIndex','Required parameter requestParameters.imageIndex was null or undefined when calling getStudioImageByIndex.'); + } + + const queryParameters: any = {}; + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.percentPlayed !== undefined) { + queryParameters['percentPlayed'] = requestParameters.percentPlayed; + } + + if (requestParameters.unplayedCount !== undefined) { + queryParameters['unplayedCount'] = requestParameters.unplayedCount; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Studios/{name}/Images/{imageType}/{imageIndex}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))).replace(`{${"imageIndex"}}`, encodeURIComponent(String(requestParameters.imageIndex))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get studio image by name. + */ + async getStudioImageByIndex(requestParameters: GetStudioImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getStudioImageByIndexRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get user profile image. + */ + async getUserImageRaw(requestParameters: GetUserImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling getUserImage.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling getUserImage.'); + } + + const queryParameters: any = {}; + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.percentPlayed !== undefined) { + queryParameters['percentPlayed'] = requestParameters.percentPlayed; + } + + if (requestParameters.unplayedCount !== undefined) { + queryParameters['unplayedCount'] = requestParameters.unplayedCount; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + if (requestParameters.imageIndex !== undefined) { + queryParameters['imageIndex'] = requestParameters.imageIndex; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Users/{userId}/Images/{imageType}`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get user profile image. + */ + async getUserImage(requestParameters: GetUserImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getUserImageRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get user profile image. + */ + async getUserImageByIndexRaw(requestParameters: GetUserImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling getUserImageByIndex.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling getUserImageByIndex.'); + } + + if (requestParameters.imageIndex === null || requestParameters.imageIndex === undefined) { + throw new runtime.RequiredError('imageIndex','Required parameter requestParameters.imageIndex was null or undefined when calling getUserImageByIndex.'); + } + + const queryParameters: any = {}; + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.percentPlayed !== undefined) { + queryParameters['percentPlayed'] = requestParameters.percentPlayed; + } + + if (requestParameters.unplayedCount !== undefined) { + queryParameters['unplayedCount'] = requestParameters.unplayedCount; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Users/{userId}/Images/{imageType}/{imageIndex}`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))).replace(`{${"imageIndex"}}`, encodeURIComponent(String(requestParameters.imageIndex))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get user profile image. + */ + async getUserImageByIndex(requestParameters: GetUserImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getUserImageByIndexRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get artist image by name. + */ + async headArtistImageRaw(requestParameters: HeadArtistImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling headArtistImage.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling headArtistImage.'); + } + + if (requestParameters.imageIndex === null || requestParameters.imageIndex === undefined) { + throw new runtime.RequiredError('imageIndex','Required parameter requestParameters.imageIndex was null or undefined when calling headArtistImage.'); + } + + const queryParameters: any = {}; + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.percentPlayed !== undefined) { + queryParameters['percentPlayed'] = requestParameters.percentPlayed; + } + + if (requestParameters.unplayedCount !== undefined) { + queryParameters['unplayedCount'] = requestParameters.unplayedCount; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Artists/{name}/Images/{imageType}/{imageIndex}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))).replace(`{${"imageIndex"}}`, encodeURIComponent(String(requestParameters.imageIndex))), + method: 'HEAD', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get artist image by name. + */ + async headArtistImage(requestParameters: HeadArtistImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.headArtistImageRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get genre image by name. + */ + async headGenreImageRaw(requestParameters: HeadGenreImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling headGenreImage.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling headGenreImage.'); + } + + const queryParameters: any = {}; + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.percentPlayed !== undefined) { + queryParameters['percentPlayed'] = requestParameters.percentPlayed; + } + + if (requestParameters.unplayedCount !== undefined) { + queryParameters['unplayedCount'] = requestParameters.unplayedCount; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + if (requestParameters.imageIndex !== undefined) { + queryParameters['imageIndex'] = requestParameters.imageIndex; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Genres/{name}/Images/{imageType}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))), + method: 'HEAD', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get genre image by name. + */ + async headGenreImage(requestParameters: HeadGenreImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.headGenreImageRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get genre image by name. + */ + async headGenreImageByIndexRaw(requestParameters: HeadGenreImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling headGenreImageByIndex.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling headGenreImageByIndex.'); + } + + if (requestParameters.imageIndex === null || requestParameters.imageIndex === undefined) { + throw new runtime.RequiredError('imageIndex','Required parameter requestParameters.imageIndex was null or undefined when calling headGenreImageByIndex.'); + } + + const queryParameters: any = {}; + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.percentPlayed !== undefined) { + queryParameters['percentPlayed'] = requestParameters.percentPlayed; + } + + if (requestParameters.unplayedCount !== undefined) { + queryParameters['unplayedCount'] = requestParameters.unplayedCount; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Genres/{name}/Images/{imageType}/{imageIndex}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))).replace(`{${"imageIndex"}}`, encodeURIComponent(String(requestParameters.imageIndex))), + method: 'HEAD', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get genre image by name. + */ + async headGenreImageByIndex(requestParameters: HeadGenreImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.headGenreImageByIndexRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets the item\'s image. + */ + async headItemImageRaw(requestParameters: HeadItemImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling headItemImage.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling headItemImage.'); + } + + const queryParameters: any = {}; + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.percentPlayed !== undefined) { + queryParameters['percentPlayed'] = requestParameters.percentPlayed; + } + + if (requestParameters.unplayedCount !== undefined) { + queryParameters['unplayedCount'] = requestParameters.unplayedCount; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + if (requestParameters.imageIndex !== undefined) { + queryParameters['imageIndex'] = requestParameters.imageIndex; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Items/{itemId}/Images/{imageType}`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))), + method: 'HEAD', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets the item\'s image. + */ + async headItemImage(requestParameters: HeadItemImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.headItemImageRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets the item\'s image. + */ + async headItemImage2Raw(requestParameters: HeadItemImage2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling headItemImage2.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling headItemImage2.'); + } + + if (requestParameters.maxWidth === null || requestParameters.maxWidth === undefined) { + throw new runtime.RequiredError('maxWidth','Required parameter requestParameters.maxWidth was null or undefined when calling headItemImage2.'); + } + + if (requestParameters.maxHeight === null || requestParameters.maxHeight === undefined) { + throw new runtime.RequiredError('maxHeight','Required parameter requestParameters.maxHeight was null or undefined when calling headItemImage2.'); + } + + if (requestParameters.tag === null || requestParameters.tag === undefined) { + throw new runtime.RequiredError('tag','Required parameter requestParameters.tag was null or undefined when calling headItemImage2.'); + } + + if (requestParameters.format === null || requestParameters.format === undefined) { + throw new runtime.RequiredError('format','Required parameter requestParameters.format was null or undefined when calling headItemImage2.'); + } + + if (requestParameters.percentPlayed === null || requestParameters.percentPlayed === undefined) { + throw new runtime.RequiredError('percentPlayed','Required parameter requestParameters.percentPlayed was null or undefined when calling headItemImage2.'); + } + + if (requestParameters.unplayedCount === null || requestParameters.unplayedCount === undefined) { + throw new runtime.RequiredError('unplayedCount','Required parameter requestParameters.unplayedCount was null or undefined when calling headItemImage2.'); + } + + if (requestParameters.imageIndex === null || requestParameters.imageIndex === undefined) { + throw new runtime.RequiredError('imageIndex','Required parameter requestParameters.imageIndex was null or undefined when calling headItemImage2.'); + } + + const queryParameters: any = {}; + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Items/{itemId}/Images/{imageType}/{imageIndex}/{tag}/{format}/{maxWidth}/{maxHeight}/{percentPlayed}/{unplayedCount}`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))).replace(`{${"maxWidth"}}`, encodeURIComponent(String(requestParameters.maxWidth))).replace(`{${"maxHeight"}}`, encodeURIComponent(String(requestParameters.maxHeight))).replace(`{${"tag"}}`, encodeURIComponent(String(requestParameters.tag))).replace(`{${"format"}}`, encodeURIComponent(String(requestParameters.format))).replace(`{${"percentPlayed"}}`, encodeURIComponent(String(requestParameters.percentPlayed))).replace(`{${"unplayedCount"}}`, encodeURIComponent(String(requestParameters.unplayedCount))).replace(`{${"imageIndex"}}`, encodeURIComponent(String(requestParameters.imageIndex))), + method: 'HEAD', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets the item\'s image. + */ + async headItemImage2(requestParameters: HeadItemImage2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.headItemImage2Raw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets the item\'s image. + */ + async headItemImageByIndexRaw(requestParameters: HeadItemImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling headItemImageByIndex.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling headItemImageByIndex.'); + } + + if (requestParameters.imageIndex === null || requestParameters.imageIndex === undefined) { + throw new runtime.RequiredError('imageIndex','Required parameter requestParameters.imageIndex was null or undefined when calling headItemImageByIndex.'); + } + + const queryParameters: any = {}; + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.percentPlayed !== undefined) { + queryParameters['percentPlayed'] = requestParameters.percentPlayed; + } + + if (requestParameters.unplayedCount !== undefined) { + queryParameters['unplayedCount'] = requestParameters.unplayedCount; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Items/{itemId}/Images/{imageType}/{imageIndex}`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))).replace(`{${"imageIndex"}}`, encodeURIComponent(String(requestParameters.imageIndex))), + method: 'HEAD', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets the item\'s image. + */ + async headItemImageByIndex(requestParameters: HeadItemImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.headItemImageByIndexRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get music genre image by name. + */ + async headMusicGenreImageRaw(requestParameters: HeadMusicGenreImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling headMusicGenreImage.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling headMusicGenreImage.'); + } + + const queryParameters: any = {}; + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.percentPlayed !== undefined) { + queryParameters['percentPlayed'] = requestParameters.percentPlayed; + } + + if (requestParameters.unplayedCount !== undefined) { + queryParameters['unplayedCount'] = requestParameters.unplayedCount; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + if (requestParameters.imageIndex !== undefined) { + queryParameters['imageIndex'] = requestParameters.imageIndex; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/MusicGenres/{name}/Images/{imageType}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))), + method: 'HEAD', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get music genre image by name. + */ + async headMusicGenreImage(requestParameters: HeadMusicGenreImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.headMusicGenreImageRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get music genre image by name. + */ + async headMusicGenreImageByIndexRaw(requestParameters: HeadMusicGenreImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling headMusicGenreImageByIndex.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling headMusicGenreImageByIndex.'); + } + + if (requestParameters.imageIndex === null || requestParameters.imageIndex === undefined) { + throw new runtime.RequiredError('imageIndex','Required parameter requestParameters.imageIndex was null or undefined when calling headMusicGenreImageByIndex.'); + } + + const queryParameters: any = {}; + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.percentPlayed !== undefined) { + queryParameters['percentPlayed'] = requestParameters.percentPlayed; + } + + if (requestParameters.unplayedCount !== undefined) { + queryParameters['unplayedCount'] = requestParameters.unplayedCount; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/MusicGenres/{name}/Images/{imageType}/{imageIndex}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))).replace(`{${"imageIndex"}}`, encodeURIComponent(String(requestParameters.imageIndex))), + method: 'HEAD', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get music genre image by name. + */ + async headMusicGenreImageByIndex(requestParameters: HeadMusicGenreImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.headMusicGenreImageByIndexRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get person image by name. + */ + async headPersonImageRaw(requestParameters: HeadPersonImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling headPersonImage.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling headPersonImage.'); + } + + const queryParameters: any = {}; + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.percentPlayed !== undefined) { + queryParameters['percentPlayed'] = requestParameters.percentPlayed; + } + + if (requestParameters.unplayedCount !== undefined) { + queryParameters['unplayedCount'] = requestParameters.unplayedCount; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + if (requestParameters.imageIndex !== undefined) { + queryParameters['imageIndex'] = requestParameters.imageIndex; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Persons/{name}/Images/{imageType}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))), + method: 'HEAD', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get person image by name. + */ + async headPersonImage(requestParameters: HeadPersonImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.headPersonImageRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get person image by name. + */ + async headPersonImageByIndexRaw(requestParameters: HeadPersonImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling headPersonImageByIndex.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling headPersonImageByIndex.'); + } + + if (requestParameters.imageIndex === null || requestParameters.imageIndex === undefined) { + throw new runtime.RequiredError('imageIndex','Required parameter requestParameters.imageIndex was null or undefined when calling headPersonImageByIndex.'); + } + + const queryParameters: any = {}; + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.percentPlayed !== undefined) { + queryParameters['percentPlayed'] = requestParameters.percentPlayed; + } + + if (requestParameters.unplayedCount !== undefined) { + queryParameters['unplayedCount'] = requestParameters.unplayedCount; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Persons/{name}/Images/{imageType}/{imageIndex}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))).replace(`{${"imageIndex"}}`, encodeURIComponent(String(requestParameters.imageIndex))), + method: 'HEAD', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get person image by name. + */ + async headPersonImageByIndex(requestParameters: HeadPersonImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.headPersonImageByIndexRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get studio image by name. + */ + async headStudioImageRaw(requestParameters: HeadStudioImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling headStudioImage.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling headStudioImage.'); + } + + const queryParameters: any = {}; + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.percentPlayed !== undefined) { + queryParameters['percentPlayed'] = requestParameters.percentPlayed; + } + + if (requestParameters.unplayedCount !== undefined) { + queryParameters['unplayedCount'] = requestParameters.unplayedCount; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + if (requestParameters.imageIndex !== undefined) { + queryParameters['imageIndex'] = requestParameters.imageIndex; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Studios/{name}/Images/{imageType}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))), + method: 'HEAD', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get studio image by name. + */ + async headStudioImage(requestParameters: HeadStudioImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.headStudioImageRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get studio image by name. + */ + async headStudioImageByIndexRaw(requestParameters: HeadStudioImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling headStudioImageByIndex.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling headStudioImageByIndex.'); + } + + if (requestParameters.imageIndex === null || requestParameters.imageIndex === undefined) { + throw new runtime.RequiredError('imageIndex','Required parameter requestParameters.imageIndex was null or undefined when calling headStudioImageByIndex.'); + } + + const queryParameters: any = {}; + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.percentPlayed !== undefined) { + queryParameters['percentPlayed'] = requestParameters.percentPlayed; + } + + if (requestParameters.unplayedCount !== undefined) { + queryParameters['unplayedCount'] = requestParameters.unplayedCount; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Studios/{name}/Images/{imageType}/{imageIndex}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))).replace(`{${"imageIndex"}}`, encodeURIComponent(String(requestParameters.imageIndex))), + method: 'HEAD', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get studio image by name. + */ + async headStudioImageByIndex(requestParameters: HeadStudioImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.headStudioImageByIndexRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get user profile image. + */ + async headUserImageRaw(requestParameters: HeadUserImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling headUserImage.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling headUserImage.'); + } + + const queryParameters: any = {}; + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.percentPlayed !== undefined) { + queryParameters['percentPlayed'] = requestParameters.percentPlayed; + } + + if (requestParameters.unplayedCount !== undefined) { + queryParameters['unplayedCount'] = requestParameters.unplayedCount; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + if (requestParameters.imageIndex !== undefined) { + queryParameters['imageIndex'] = requestParameters.imageIndex; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Users/{userId}/Images/{imageType}`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))), + method: 'HEAD', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get user profile image. + */ + async headUserImage(requestParameters: HeadUserImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.headUserImageRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get user profile image. + */ + async headUserImageByIndexRaw(requestParameters: HeadUserImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling headUserImageByIndex.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling headUserImageByIndex.'); + } + + if (requestParameters.imageIndex === null || requestParameters.imageIndex === undefined) { + throw new runtime.RequiredError('imageIndex','Required parameter requestParameters.imageIndex was null or undefined when calling headUserImageByIndex.'); + } + + const queryParameters: any = {}; + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.percentPlayed !== undefined) { + queryParameters['percentPlayed'] = requestParameters.percentPlayed; + } + + if (requestParameters.unplayedCount !== undefined) { + queryParameters['unplayedCount'] = requestParameters.unplayedCount; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.quality !== undefined) { + queryParameters['quality'] = requestParameters.quality; + } + + if (requestParameters.fillWidth !== undefined) { + queryParameters['fillWidth'] = requestParameters.fillWidth; + } + + if (requestParameters.fillHeight !== undefined) { + queryParameters['fillHeight'] = requestParameters.fillHeight; + } + + if (requestParameters.cropWhitespace !== undefined) { + queryParameters['cropWhitespace'] = requestParameters.cropWhitespace; + } + + if (requestParameters.addPlayedIndicator !== undefined) { + queryParameters['addPlayedIndicator'] = requestParameters.addPlayedIndicator; + } + + if (requestParameters.blur !== undefined) { + queryParameters['blur'] = requestParameters.blur; + } + + if (requestParameters.backgroundColor !== undefined) { + queryParameters['backgroundColor'] = requestParameters.backgroundColor; + } + + if (requestParameters.foregroundLayer !== undefined) { + queryParameters['foregroundLayer'] = requestParameters.foregroundLayer; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Users/{userId}/Images/{imageType}/{imageIndex}`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))).replace(`{${"imageIndex"}}`, encodeURIComponent(String(requestParameters.imageIndex))), + method: 'HEAD', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get user profile image. + */ + async headUserImageByIndex(requestParameters: HeadUserImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.headUserImageByIndexRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Sets the user image. + */ + async postUserImageRaw(requestParameters: PostUserImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling postUserImage.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling postUserImage.'); + } + + const queryParameters: any = {}; + + if (requestParameters.index !== undefined) { + queryParameters['index'] = requestParameters.index; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'image/*'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/Images/{imageType}`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: requestParameters.body as any, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Sets the user image. + */ + async postUserImage(requestParameters: PostUserImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.postUserImageRaw(requestParameters, initOverrides); + } + + /** + * Sets the user image. + */ + async postUserImageByIndexRaw(requestParameters: PostUserImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling postUserImageByIndex.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling postUserImageByIndex.'); + } + + if (requestParameters.index === null || requestParameters.index === undefined) { + throw new runtime.RequiredError('index','Required parameter requestParameters.index was null or undefined when calling postUserImageByIndex.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'image/*'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/Images/{imageType}/{index}`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))).replace(`{${"index"}}`, encodeURIComponent(String(requestParameters.index))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: requestParameters.body as any, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Sets the user image. + */ + async postUserImageByIndex(requestParameters: PostUserImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.postUserImageByIndexRaw(requestParameters, initOverrides); + } + + /** + * Set item image. + */ + async setItemImageRaw(requestParameters: SetItemImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling setItemImage.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling setItemImage.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'image/*'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{itemId}/Images/{imageType}`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: requestParameters.body as any, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Set item image. + */ + async setItemImage(requestParameters: SetItemImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.setItemImageRaw(requestParameters, initOverrides); + } + + /** + * Set item image. + */ + async setItemImageByIndexRaw(requestParameters: SetItemImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling setItemImageByIndex.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling setItemImageByIndex.'); + } + + if (requestParameters.imageIndex === null || requestParameters.imageIndex === undefined) { + throw new runtime.RequiredError('imageIndex','Required parameter requestParameters.imageIndex was null or undefined when calling setItemImageByIndex.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'image/*'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{itemId}/Images/{imageType}/{imageIndex}`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))).replace(`{${"imageIndex"}}`, encodeURIComponent(String(requestParameters.imageIndex))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: requestParameters.body as any, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Set item image. + */ + async setItemImageByIndex(requestParameters: SetItemImageByIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.setItemImageByIndexRaw(requestParameters, initOverrides); + } + + /** + * Updates the index for an item image. + */ + async updateItemImageIndexRaw(requestParameters: UpdateItemImageIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling updateItemImageIndex.'); + } + + if (requestParameters.imageType === null || requestParameters.imageType === undefined) { + throw new runtime.RequiredError('imageType','Required parameter requestParameters.imageType was null or undefined when calling updateItemImageIndex.'); + } + + if (requestParameters.imageIndex === null || requestParameters.imageIndex === undefined) { + throw new runtime.RequiredError('imageIndex','Required parameter requestParameters.imageIndex was null or undefined when calling updateItemImageIndex.'); + } + + if (requestParameters.newIndex === null || requestParameters.newIndex === undefined) { + throw new runtime.RequiredError('newIndex','Required parameter requestParameters.newIndex was null or undefined when calling updateItemImageIndex.'); + } + + const queryParameters: any = {}; + + if (requestParameters.newIndex !== undefined) { + queryParameters['newIndex'] = requestParameters.newIndex; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{itemId}/Images/{imageType}/{imageIndex}/Index`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))).replace(`{${"imageType"}}`, encodeURIComponent(String(requestParameters.imageType))).replace(`{${"imageIndex"}}`, encodeURIComponent(String(requestParameters.imageIndex))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Updates the index for an item image. + */ + async updateItemImageIndex(requestParameters: UpdateItemImageIndexRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.updateItemImageIndexRaw(requestParameters, initOverrides); + } + + /** + * Uploads a custom splashscreen. The body is expected to the image contents base64 encoded. + */ + async uploadCustomSplashscreenRaw(requestParameters: UploadCustomSplashscreenRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'image/*'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Branding/Splashscreen`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: requestParameters.body as any, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Uploads a custom splashscreen. The body is expected to the image contents base64 encoded. + */ + async uploadCustomSplashscreen(requestParameters: UploadCustomSplashscreenRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.uploadCustomSplashscreenRaw(requestParameters, initOverrides); + } + +} diff --git a/server/jellyfin/apis/ImageByNameApi.ts b/server/jellyfin/apis/ImageByNameApi.ts new file mode 100644 index 0000000..9c0f5fb --- /dev/null +++ b/server/jellyfin/apis/ImageByNameApi.ts @@ -0,0 +1,240 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + ImageByNameInfo, + ProblemDetails, +} from '../models'; +import { + ImageByNameInfoFromJSON, + ImageByNameInfoToJSON, + ProblemDetailsFromJSON, + ProblemDetailsToJSON, +} from '../models'; + +export interface GetGeneralImageRequest { + name: string; + type: string; +} + +export interface GetMediaInfoImageRequest { + theme: string; + name: string; +} + +export interface GetRatingImageRequest { + theme: string; + name: string; +} + +/** + * + */ +export class ImageByNameApi extends runtime.BaseAPI { + + /** + * Get General Image. + */ + async getGeneralImageRaw(requestParameters: GetGeneralImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getGeneralImage.'); + } + + if (requestParameters.type === null || requestParameters.type === undefined) { + throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling getGeneralImage.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Images/General/{name}/{type}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))).replace(`{${"type"}}`, encodeURIComponent(String(requestParameters.type))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get General Image. + */ + async getGeneralImage(requestParameters: GetGeneralImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getGeneralImageRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get all general images. + */ + async getGeneralImagesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Images/General`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ImageByNameInfoFromJSON)); + } + + /** + * Get all general images. + */ + async getGeneralImages(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getGeneralImagesRaw(initOverrides); + return await response.value(); + } + + /** + * Get media info image. + */ + async getMediaInfoImageRaw(requestParameters: GetMediaInfoImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.theme === null || requestParameters.theme === undefined) { + throw new runtime.RequiredError('theme','Required parameter requestParameters.theme was null or undefined when calling getMediaInfoImage.'); + } + + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getMediaInfoImage.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Images/MediaInfo/{theme}/{name}`.replace(`{${"theme"}}`, encodeURIComponent(String(requestParameters.theme))).replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get media info image. + */ + async getMediaInfoImage(requestParameters: GetMediaInfoImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getMediaInfoImageRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get all media info images. + */ + async getMediaInfoImagesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Images/MediaInfo`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ImageByNameInfoFromJSON)); + } + + /** + * Get all media info images. + */ + async getMediaInfoImages(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getMediaInfoImagesRaw(initOverrides); + return await response.value(); + } + + /** + * Get rating image. + */ + async getRatingImageRaw(requestParameters: GetRatingImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.theme === null || requestParameters.theme === undefined) { + throw new runtime.RequiredError('theme','Required parameter requestParameters.theme was null or undefined when calling getRatingImage.'); + } + + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getRatingImage.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Images/Ratings/{theme}/{name}`.replace(`{${"theme"}}`, encodeURIComponent(String(requestParameters.theme))).replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get rating image. + */ + async getRatingImage(requestParameters: GetRatingImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getRatingImageRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get all general images. + */ + async getRatingImagesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Images/Ratings`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ImageByNameInfoFromJSON)); + } + + /** + * Get all general images. + */ + async getRatingImages(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getRatingImagesRaw(initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/InstantMixApi.ts b/server/jellyfin/apis/InstantMixApi.ts new file mode 100644 index 0000000..93a74cc --- /dev/null +++ b/server/jellyfin/apis/InstantMixApi.ts @@ -0,0 +1,628 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + BaseItemDtoQueryResult, + ImageType, + ItemFields, +} from '../models'; +import { + BaseItemDtoQueryResultFromJSON, + BaseItemDtoQueryResultToJSON, + ImageTypeFromJSON, + ImageTypeToJSON, + ItemFieldsFromJSON, + ItemFieldsToJSON, +} from '../models'; + +export interface GetInstantMixFromAlbumRequest { + id: string; + userId?: string; + limit?: number; + fields?: Array; + enableImages?: boolean; + enableUserData?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; +} + +export interface GetInstantMixFromArtistsRequest { + id: string; + userId?: string; + limit?: number; + fields?: Array; + enableImages?: boolean; + enableUserData?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; +} + +export interface GetInstantMixFromArtists2Request { + id: string; + userId?: string; + limit?: number; + fields?: Array; + enableImages?: boolean; + enableUserData?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; +} + +export interface GetInstantMixFromItemRequest { + id: string; + userId?: string; + limit?: number; + fields?: Array; + enableImages?: boolean; + enableUserData?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; +} + +export interface GetInstantMixFromMusicGenreByIdRequest { + id: string; + userId?: string; + limit?: number; + fields?: Array; + enableImages?: boolean; + enableUserData?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; +} + +export interface GetInstantMixFromMusicGenreByNameRequest { + name: string; + userId?: string; + limit?: number; + fields?: Array; + enableImages?: boolean; + enableUserData?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; +} + +export interface GetInstantMixFromPlaylistRequest { + id: string; + userId?: string; + limit?: number; + fields?: Array; + enableImages?: boolean; + enableUserData?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; +} + +export interface GetInstantMixFromSongRequest { + id: string; + userId?: string; + limit?: number; + fields?: Array; + enableImages?: boolean; + enableUserData?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; +} + +/** + * + */ +export class InstantMixApi extends runtime.BaseAPI { + + /** + * Creates an instant playlist based on a given album. + */ + async getInstantMixFromAlbumRaw(requestParameters: GetInstantMixFromAlbumRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getInstantMixFromAlbum.'); + } + + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Albums/{id}/InstantMix`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Creates an instant playlist based on a given album. + */ + async getInstantMixFromAlbum(requestParameters: GetInstantMixFromAlbumRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getInstantMixFromAlbumRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Creates an instant playlist based on a given artist. + */ + async getInstantMixFromArtistsRaw(requestParameters: GetInstantMixFromArtistsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getInstantMixFromArtists.'); + } + + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Artists/{id}/InstantMix`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Creates an instant playlist based on a given artist. + */ + async getInstantMixFromArtists(requestParameters: GetInstantMixFromArtistsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getInstantMixFromArtistsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Creates an instant playlist based on a given artist. + */ + async getInstantMixFromArtists2Raw(requestParameters: GetInstantMixFromArtists2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getInstantMixFromArtists2.'); + } + + const queryParameters: any = {}; + + if (requestParameters.id !== undefined) { + queryParameters['id'] = requestParameters.id; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Artists/InstantMix`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Creates an instant playlist based on a given artist. + */ + async getInstantMixFromArtists2(requestParameters: GetInstantMixFromArtists2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getInstantMixFromArtists2Raw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Creates an instant playlist based on a given item. + */ + async getInstantMixFromItemRaw(requestParameters: GetInstantMixFromItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getInstantMixFromItem.'); + } + + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{id}/InstantMix`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Creates an instant playlist based on a given item. + */ + async getInstantMixFromItem(requestParameters: GetInstantMixFromItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getInstantMixFromItemRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Creates an instant playlist based on a given genre. + */ + async getInstantMixFromMusicGenreByIdRaw(requestParameters: GetInstantMixFromMusicGenreByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getInstantMixFromMusicGenreById.'); + } + + const queryParameters: any = {}; + + if (requestParameters.id !== undefined) { + queryParameters['id'] = requestParameters.id; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/MusicGenres/InstantMix`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Creates an instant playlist based on a given genre. + */ + async getInstantMixFromMusicGenreById(requestParameters: GetInstantMixFromMusicGenreByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getInstantMixFromMusicGenreByIdRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Creates an instant playlist based on a given genre. + */ + async getInstantMixFromMusicGenreByNameRaw(requestParameters: GetInstantMixFromMusicGenreByNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getInstantMixFromMusicGenreByName.'); + } + + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/MusicGenres/{name}/InstantMix`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Creates an instant playlist based on a given genre. + */ + async getInstantMixFromMusicGenreByName(requestParameters: GetInstantMixFromMusicGenreByNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getInstantMixFromMusicGenreByNameRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Creates an instant playlist based on a given playlist. + */ + async getInstantMixFromPlaylistRaw(requestParameters: GetInstantMixFromPlaylistRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getInstantMixFromPlaylist.'); + } + + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Playlists/{id}/InstantMix`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Creates an instant playlist based on a given playlist. + */ + async getInstantMixFromPlaylist(requestParameters: GetInstantMixFromPlaylistRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getInstantMixFromPlaylistRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Creates an instant playlist based on a given song. + */ + async getInstantMixFromSongRaw(requestParameters: GetInstantMixFromSongRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getInstantMixFromSong.'); + } + + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Songs/{id}/InstantMix`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Creates an instant playlist based on a given song. + */ + async getInstantMixFromSong(requestParameters: GetInstantMixFromSongRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getInstantMixFromSongRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/ItemLookupApi.ts b/server/jellyfin/apis/ItemLookupApi.ts new file mode 100644 index 0000000..8f602cd --- /dev/null +++ b/server/jellyfin/apis/ItemLookupApi.ts @@ -0,0 +1,523 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + ApplySearchCriteriaRequest, + ExternalIdInfo, + GetBookRemoteSearchResultsRequest, + GetBoxSetRemoteSearchResultsRequest, + GetMovieRemoteSearchResultsRequest, + GetMusicAlbumRemoteSearchResultsRequest, + GetMusicArtistRemoteSearchResultsRequest, + GetMusicVideoRemoteSearchResultsRequest, + GetPersonRemoteSearchResultsRequest, + GetSeriesRemoteSearchResultsRequest, + GetTrailerRemoteSearchResultsRequest, + ProblemDetails, + RemoteSearchResult, +} from '../models'; +import { + ApplySearchCriteriaRequestFromJSON, + ApplySearchCriteriaRequestToJSON, + ExternalIdInfoFromJSON, + ExternalIdInfoToJSON, + GetBookRemoteSearchResultsRequestFromJSON, + GetBookRemoteSearchResultsRequestToJSON, + GetBoxSetRemoteSearchResultsRequestFromJSON, + GetBoxSetRemoteSearchResultsRequestToJSON, + GetMovieRemoteSearchResultsRequestFromJSON, + GetMovieRemoteSearchResultsRequestToJSON, + GetMusicAlbumRemoteSearchResultsRequestFromJSON, + GetMusicAlbumRemoteSearchResultsRequestToJSON, + GetMusicArtistRemoteSearchResultsRequestFromJSON, + GetMusicArtistRemoteSearchResultsRequestToJSON, + GetMusicVideoRemoteSearchResultsRequestFromJSON, + GetMusicVideoRemoteSearchResultsRequestToJSON, + GetPersonRemoteSearchResultsRequestFromJSON, + GetPersonRemoteSearchResultsRequestToJSON, + GetSeriesRemoteSearchResultsRequestFromJSON, + GetSeriesRemoteSearchResultsRequestToJSON, + GetTrailerRemoteSearchResultsRequestFromJSON, + GetTrailerRemoteSearchResultsRequestToJSON, + ProblemDetailsFromJSON, + ProblemDetailsToJSON, + RemoteSearchResultFromJSON, + RemoteSearchResultToJSON, +} from '../models'; + +export interface ApplySearchCriteriaOperationRequest { + itemId: string; + applySearchCriteriaRequest: ApplySearchCriteriaRequest; + replaceAllImages?: boolean; +} + +export interface GetBookRemoteSearchResultsOperationRequest { + getBookRemoteSearchResultsRequest: GetBookRemoteSearchResultsRequest; +} + +export interface GetBoxSetRemoteSearchResultsOperationRequest { + getBoxSetRemoteSearchResultsRequest: GetBoxSetRemoteSearchResultsRequest; +} + +export interface GetExternalIdInfosRequest { + itemId: string; +} + +export interface GetMovieRemoteSearchResultsOperationRequest { + getMovieRemoteSearchResultsRequest: GetMovieRemoteSearchResultsRequest; +} + +export interface GetMusicAlbumRemoteSearchResultsOperationRequest { + getMusicAlbumRemoteSearchResultsRequest: GetMusicAlbumRemoteSearchResultsRequest; +} + +export interface GetMusicArtistRemoteSearchResultsOperationRequest { + getMusicArtistRemoteSearchResultsRequest: GetMusicArtistRemoteSearchResultsRequest; +} + +export interface GetMusicVideoRemoteSearchResultsOperationRequest { + getMusicVideoRemoteSearchResultsRequest: GetMusicVideoRemoteSearchResultsRequest; +} + +export interface GetPersonRemoteSearchResultsOperationRequest { + getPersonRemoteSearchResultsRequest: GetPersonRemoteSearchResultsRequest; +} + +export interface GetSeriesRemoteSearchResultsOperationRequest { + getSeriesRemoteSearchResultsRequest: GetSeriesRemoteSearchResultsRequest; +} + +export interface GetTrailerRemoteSearchResultsOperationRequest { + getTrailerRemoteSearchResultsRequest: GetTrailerRemoteSearchResultsRequest; +} + +/** + * + */ +export class ItemLookupApi extends runtime.BaseAPI { + + /** + * Applies search criteria to an item and refreshes metadata. + */ + async applySearchCriteriaRaw(requestParameters: ApplySearchCriteriaOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling applySearchCriteria.'); + } + + if (requestParameters.applySearchCriteriaRequest === null || requestParameters.applySearchCriteriaRequest === undefined) { + throw new runtime.RequiredError('applySearchCriteriaRequest','Required parameter requestParameters.applySearchCriteriaRequest was null or undefined when calling applySearchCriteria.'); + } + + const queryParameters: any = {}; + + if (requestParameters.replaceAllImages !== undefined) { + queryParameters['replaceAllImages'] = requestParameters.replaceAllImages; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/RemoteSearch/Apply/{itemId}`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: ApplySearchCriteriaRequestToJSON(requestParameters.applySearchCriteriaRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Applies search criteria to an item and refreshes metadata. + */ + async applySearchCriteria(requestParameters: ApplySearchCriteriaOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.applySearchCriteriaRaw(requestParameters, initOverrides); + } + + /** + * Get book remote search. + */ + async getBookRemoteSearchResultsRaw(requestParameters: GetBookRemoteSearchResultsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.getBookRemoteSearchResultsRequest === null || requestParameters.getBookRemoteSearchResultsRequest === undefined) { + throw new runtime.RequiredError('getBookRemoteSearchResultsRequest','Required parameter requestParameters.getBookRemoteSearchResultsRequest was null or undefined when calling getBookRemoteSearchResults.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/RemoteSearch/Book`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: GetBookRemoteSearchResultsRequestToJSON(requestParameters.getBookRemoteSearchResultsRequest), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(RemoteSearchResultFromJSON)); + } + + /** + * Get book remote search. + */ + async getBookRemoteSearchResults(requestParameters: GetBookRemoteSearchResultsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getBookRemoteSearchResultsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get box set remote search. + */ + async getBoxSetRemoteSearchResultsRaw(requestParameters: GetBoxSetRemoteSearchResultsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.getBoxSetRemoteSearchResultsRequest === null || requestParameters.getBoxSetRemoteSearchResultsRequest === undefined) { + throw new runtime.RequiredError('getBoxSetRemoteSearchResultsRequest','Required parameter requestParameters.getBoxSetRemoteSearchResultsRequest was null or undefined when calling getBoxSetRemoteSearchResults.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/RemoteSearch/BoxSet`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: GetBoxSetRemoteSearchResultsRequestToJSON(requestParameters.getBoxSetRemoteSearchResultsRequest), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(RemoteSearchResultFromJSON)); + } + + /** + * Get box set remote search. + */ + async getBoxSetRemoteSearchResults(requestParameters: GetBoxSetRemoteSearchResultsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getBoxSetRemoteSearchResultsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get the item\'s external id info. + */ + async getExternalIdInfosRaw(requestParameters: GetExternalIdInfosRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getExternalIdInfos.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{itemId}/ExternalIdInfos`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ExternalIdInfoFromJSON)); + } + + /** + * Get the item\'s external id info. + */ + async getExternalIdInfos(requestParameters: GetExternalIdInfosRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getExternalIdInfosRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get movie remote search. + */ + async getMovieRemoteSearchResultsRaw(requestParameters: GetMovieRemoteSearchResultsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.getMovieRemoteSearchResultsRequest === null || requestParameters.getMovieRemoteSearchResultsRequest === undefined) { + throw new runtime.RequiredError('getMovieRemoteSearchResultsRequest','Required parameter requestParameters.getMovieRemoteSearchResultsRequest was null or undefined when calling getMovieRemoteSearchResults.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/RemoteSearch/Movie`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: GetMovieRemoteSearchResultsRequestToJSON(requestParameters.getMovieRemoteSearchResultsRequest), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(RemoteSearchResultFromJSON)); + } + + /** + * Get movie remote search. + */ + async getMovieRemoteSearchResults(requestParameters: GetMovieRemoteSearchResultsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getMovieRemoteSearchResultsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get music album remote search. + */ + async getMusicAlbumRemoteSearchResultsRaw(requestParameters: GetMusicAlbumRemoteSearchResultsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.getMusicAlbumRemoteSearchResultsRequest === null || requestParameters.getMusicAlbumRemoteSearchResultsRequest === undefined) { + throw new runtime.RequiredError('getMusicAlbumRemoteSearchResultsRequest','Required parameter requestParameters.getMusicAlbumRemoteSearchResultsRequest was null or undefined when calling getMusicAlbumRemoteSearchResults.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/RemoteSearch/MusicAlbum`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: GetMusicAlbumRemoteSearchResultsRequestToJSON(requestParameters.getMusicAlbumRemoteSearchResultsRequest), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(RemoteSearchResultFromJSON)); + } + + /** + * Get music album remote search. + */ + async getMusicAlbumRemoteSearchResults(requestParameters: GetMusicAlbumRemoteSearchResultsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getMusicAlbumRemoteSearchResultsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get music artist remote search. + */ + async getMusicArtistRemoteSearchResultsRaw(requestParameters: GetMusicArtistRemoteSearchResultsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.getMusicArtistRemoteSearchResultsRequest === null || requestParameters.getMusicArtistRemoteSearchResultsRequest === undefined) { + throw new runtime.RequiredError('getMusicArtistRemoteSearchResultsRequest','Required parameter requestParameters.getMusicArtistRemoteSearchResultsRequest was null or undefined when calling getMusicArtistRemoteSearchResults.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/RemoteSearch/MusicArtist`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: GetMusicArtistRemoteSearchResultsRequestToJSON(requestParameters.getMusicArtistRemoteSearchResultsRequest), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(RemoteSearchResultFromJSON)); + } + + /** + * Get music artist remote search. + */ + async getMusicArtistRemoteSearchResults(requestParameters: GetMusicArtistRemoteSearchResultsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getMusicArtistRemoteSearchResultsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get music video remote search. + */ + async getMusicVideoRemoteSearchResultsRaw(requestParameters: GetMusicVideoRemoteSearchResultsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.getMusicVideoRemoteSearchResultsRequest === null || requestParameters.getMusicVideoRemoteSearchResultsRequest === undefined) { + throw new runtime.RequiredError('getMusicVideoRemoteSearchResultsRequest','Required parameter requestParameters.getMusicVideoRemoteSearchResultsRequest was null or undefined when calling getMusicVideoRemoteSearchResults.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/RemoteSearch/MusicVideo`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: GetMusicVideoRemoteSearchResultsRequestToJSON(requestParameters.getMusicVideoRemoteSearchResultsRequest), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(RemoteSearchResultFromJSON)); + } + + /** + * Get music video remote search. + */ + async getMusicVideoRemoteSearchResults(requestParameters: GetMusicVideoRemoteSearchResultsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getMusicVideoRemoteSearchResultsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get person remote search. + */ + async getPersonRemoteSearchResultsRaw(requestParameters: GetPersonRemoteSearchResultsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.getPersonRemoteSearchResultsRequest === null || requestParameters.getPersonRemoteSearchResultsRequest === undefined) { + throw new runtime.RequiredError('getPersonRemoteSearchResultsRequest','Required parameter requestParameters.getPersonRemoteSearchResultsRequest was null or undefined when calling getPersonRemoteSearchResults.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/RemoteSearch/Person`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: GetPersonRemoteSearchResultsRequestToJSON(requestParameters.getPersonRemoteSearchResultsRequest), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(RemoteSearchResultFromJSON)); + } + + /** + * Get person remote search. + */ + async getPersonRemoteSearchResults(requestParameters: GetPersonRemoteSearchResultsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getPersonRemoteSearchResultsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get series remote search. + */ + async getSeriesRemoteSearchResultsRaw(requestParameters: GetSeriesRemoteSearchResultsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.getSeriesRemoteSearchResultsRequest === null || requestParameters.getSeriesRemoteSearchResultsRequest === undefined) { + throw new runtime.RequiredError('getSeriesRemoteSearchResultsRequest','Required parameter requestParameters.getSeriesRemoteSearchResultsRequest was null or undefined when calling getSeriesRemoteSearchResults.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/RemoteSearch/Series`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: GetSeriesRemoteSearchResultsRequestToJSON(requestParameters.getSeriesRemoteSearchResultsRequest), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(RemoteSearchResultFromJSON)); + } + + /** + * Get series remote search. + */ + async getSeriesRemoteSearchResults(requestParameters: GetSeriesRemoteSearchResultsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getSeriesRemoteSearchResultsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get trailer remote search. + */ + async getTrailerRemoteSearchResultsRaw(requestParameters: GetTrailerRemoteSearchResultsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.getTrailerRemoteSearchResultsRequest === null || requestParameters.getTrailerRemoteSearchResultsRequest === undefined) { + throw new runtime.RequiredError('getTrailerRemoteSearchResultsRequest','Required parameter requestParameters.getTrailerRemoteSearchResultsRequest was null or undefined when calling getTrailerRemoteSearchResults.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/RemoteSearch/Trailer`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: GetTrailerRemoteSearchResultsRequestToJSON(requestParameters.getTrailerRemoteSearchResultsRequest), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(RemoteSearchResultFromJSON)); + } + + /** + * Get trailer remote search. + */ + async getTrailerRemoteSearchResults(requestParameters: GetTrailerRemoteSearchResultsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getTrailerRemoteSearchResultsRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/ItemRefreshApi.ts b/server/jellyfin/apis/ItemRefreshApi.ts new file mode 100644 index 0000000..9bebb3a --- /dev/null +++ b/server/jellyfin/apis/ItemRefreshApi.ts @@ -0,0 +1,90 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + MetadataRefreshMode, + ProblemDetails, +} from '../models'; +import { + MetadataRefreshModeFromJSON, + MetadataRefreshModeToJSON, + ProblemDetailsFromJSON, + ProblemDetailsToJSON, +} from '../models'; + +export interface RefreshItemRequest { + itemId: string; + metadataRefreshMode?: MetadataRefreshMode; + imageRefreshMode?: MetadataRefreshMode; + replaceAllMetadata?: boolean; + replaceAllImages?: boolean; +} + +/** + * + */ +export class ItemRefreshApi extends runtime.BaseAPI { + + /** + * Refreshes metadata for an item. + */ + async refreshItemRaw(requestParameters: RefreshItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling refreshItem.'); + } + + const queryParameters: any = {}; + + if (requestParameters.metadataRefreshMode !== undefined) { + queryParameters['metadataRefreshMode'] = requestParameters.metadataRefreshMode; + } + + if (requestParameters.imageRefreshMode !== undefined) { + queryParameters['imageRefreshMode'] = requestParameters.imageRefreshMode; + } + + if (requestParameters.replaceAllMetadata !== undefined) { + queryParameters['replaceAllMetadata'] = requestParameters.replaceAllMetadata; + } + + if (requestParameters.replaceAllImages !== undefined) { + queryParameters['replaceAllImages'] = requestParameters.replaceAllImages; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{itemId}/Refresh`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Refreshes metadata for an item. + */ + async refreshItem(requestParameters: RefreshItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.refreshItemRaw(requestParameters, initOverrides); + } + +} diff --git a/server/jellyfin/apis/ItemUpdateApi.ts b/server/jellyfin/apis/ItemUpdateApi.ts new file mode 100644 index 0000000..c0464d9 --- /dev/null +++ b/server/jellyfin/apis/ItemUpdateApi.ts @@ -0,0 +1,161 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + MetadataEditorInfo, + ProblemDetails, + UpdateItemRequest, +} from '../models'; +import { + MetadataEditorInfoFromJSON, + MetadataEditorInfoToJSON, + ProblemDetailsFromJSON, + ProblemDetailsToJSON, + UpdateItemRequestFromJSON, + UpdateItemRequestToJSON, +} from '../models'; + +export interface GetMetadataEditorInfoRequest { + itemId: string; +} + +export interface UpdateItemOperationRequest { + itemId: string; + updateItemRequest: UpdateItemRequest; +} + +export interface UpdateItemContentTypeRequest { + itemId: string; + contentType?: string; +} + +/** + * + */ +export class ItemUpdateApi extends runtime.BaseAPI { + + /** + * Gets metadata editor info for an item. + */ + async getMetadataEditorInfoRaw(requestParameters: GetMetadataEditorInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getMetadataEditorInfo.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{itemId}/MetadataEditor`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => MetadataEditorInfoFromJSON(jsonValue)); + } + + /** + * Gets metadata editor info for an item. + */ + async getMetadataEditorInfo(requestParameters: GetMetadataEditorInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getMetadataEditorInfoRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Updates an item. + */ + async updateItemRaw(requestParameters: UpdateItemOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling updateItem.'); + } + + if (requestParameters.updateItemRequest === null || requestParameters.updateItemRequest === undefined) { + throw new runtime.RequiredError('updateItemRequest','Required parameter requestParameters.updateItemRequest was null or undefined when calling updateItem.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{itemId}`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: UpdateItemRequestToJSON(requestParameters.updateItemRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Updates an item. + */ + async updateItem(requestParameters: UpdateItemOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.updateItemRaw(requestParameters, initOverrides); + } + + /** + * Updates an item\'s content type. + */ + async updateItemContentTypeRaw(requestParameters: UpdateItemContentTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling updateItemContentType.'); + } + + const queryParameters: any = {}; + + if (requestParameters.contentType !== undefined) { + queryParameters['contentType'] = requestParameters.contentType; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{itemId}/ContentType`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Updates an item\'s content type. + */ + async updateItemContentType(requestParameters: UpdateItemContentTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.updateItemContentTypeRaw(requestParameters, initOverrides); + } + +} diff --git a/server/jellyfin/apis/ItemsApi.ts b/server/jellyfin/apis/ItemsApi.ts new file mode 100644 index 0000000..a0c8e37 --- /dev/null +++ b/server/jellyfin/apis/ItemsApi.ts @@ -0,0 +1,1078 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + BaseItemDtoQueryResult, + BaseItemKind, + ImageType, + ItemFields, + ItemFilter, + LocationType, + SeriesStatus, + SortOrder, + VideoType, +} from '../models'; +import { + BaseItemDtoQueryResultFromJSON, + BaseItemDtoQueryResultToJSON, + BaseItemKindFromJSON, + BaseItemKindToJSON, + ImageTypeFromJSON, + ImageTypeToJSON, + ItemFieldsFromJSON, + ItemFieldsToJSON, + ItemFilterFromJSON, + ItemFilterToJSON, + LocationTypeFromJSON, + LocationTypeToJSON, + SeriesStatusFromJSON, + SeriesStatusToJSON, + SortOrderFromJSON, + SortOrderToJSON, + VideoTypeFromJSON, + VideoTypeToJSON, +} from '../models'; + +export interface GetItemsRequest { + userId?: string; + maxOfficialRating?: string; + hasThemeSong?: boolean; + hasThemeVideo?: boolean; + hasSubtitles?: boolean; + hasSpecialFeature?: boolean; + hasTrailer?: boolean; + adjacentTo?: string; + parentIndexNumber?: number; + hasParentalRating?: boolean; + isHd?: boolean; + is4K?: boolean; + locationTypes?: Array; + excludeLocationTypes?: Array; + isMissing?: boolean; + isUnaired?: boolean; + minCommunityRating?: number; + minCriticRating?: number; + minPremiereDate?: Date; + minDateLastSaved?: Date; + minDateLastSavedForUser?: Date; + maxPremiereDate?: Date; + hasOverview?: boolean; + hasImdbId?: boolean; + hasTmdbId?: boolean; + hasTvdbId?: boolean; + isMovie?: boolean; + isSeries?: boolean; + isNews?: boolean; + isKids?: boolean; + isSports?: boolean; + excludeItemIds?: Array; + startIndex?: number; + limit?: number; + recursive?: boolean; + searchTerm?: string; + sortOrder?: Array; + parentId?: string; + fields?: Array; + excludeItemTypes?: Array; + includeItemTypes?: Array; + filters?: Array; + isFavorite?: boolean; + mediaTypes?: Array; + imageTypes?: Array; + sortBy?: Array; + isPlayed?: boolean; + genres?: Array; + officialRatings?: Array; + tags?: Array; + years?: Array; + enableUserData?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; + person?: string; + personIds?: Array; + personTypes?: Array; + studios?: Array; + artists?: Array; + excludeArtistIds?: Array; + artistIds?: Array; + albumArtistIds?: Array; + contributingArtistIds?: Array; + albums?: Array; + albumIds?: Array; + ids?: Array; + videoTypes?: Array; + minOfficialRating?: string; + isLocked?: boolean; + isPlaceHolder?: boolean; + hasOfficialRating?: boolean; + collapseBoxSetItems?: boolean; + minWidth?: number; + minHeight?: number; + maxWidth?: number; + maxHeight?: number; + is3D?: boolean; + seriesStatus?: Array; + nameStartsWithOrGreater?: string; + nameStartsWith?: string; + nameLessThan?: string; + studioIds?: Array; + genreIds?: Array; + enableTotalRecordCount?: boolean; + enableImages?: boolean; +} + +export interface GetItemsByUserIdRequest { + userId: string; + maxOfficialRating?: string; + hasThemeSong?: boolean; + hasThemeVideo?: boolean; + hasSubtitles?: boolean; + hasSpecialFeature?: boolean; + hasTrailer?: boolean; + adjacentTo?: string; + parentIndexNumber?: number; + hasParentalRating?: boolean; + isHd?: boolean; + is4K?: boolean; + locationTypes?: Array; + excludeLocationTypes?: Array; + isMissing?: boolean; + isUnaired?: boolean; + minCommunityRating?: number; + minCriticRating?: number; + minPremiereDate?: Date; + minDateLastSaved?: Date; + minDateLastSavedForUser?: Date; + maxPremiereDate?: Date; + hasOverview?: boolean; + hasImdbId?: boolean; + hasTmdbId?: boolean; + hasTvdbId?: boolean; + isMovie?: boolean; + isSeries?: boolean; + isNews?: boolean; + isKids?: boolean; + isSports?: boolean; + excludeItemIds?: Array; + startIndex?: number; + limit?: number; + recursive?: boolean; + searchTerm?: string; + sortOrder?: Array; + parentId?: string; + fields?: Array; + excludeItemTypes?: Array; + includeItemTypes?: Array; + filters?: Array; + isFavorite?: boolean; + mediaTypes?: Array; + imageTypes?: Array; + sortBy?: Array; + isPlayed?: boolean; + genres?: Array; + officialRatings?: Array; + tags?: Array; + years?: Array; + enableUserData?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; + person?: string; + personIds?: Array; + personTypes?: Array; + studios?: Array; + artists?: Array; + excludeArtistIds?: Array; + artistIds?: Array; + albumArtistIds?: Array; + contributingArtistIds?: Array; + albums?: Array; + albumIds?: Array; + ids?: Array; + videoTypes?: Array; + minOfficialRating?: string; + isLocked?: boolean; + isPlaceHolder?: boolean; + hasOfficialRating?: boolean; + collapseBoxSetItems?: boolean; + minWidth?: number; + minHeight?: number; + maxWidth?: number; + maxHeight?: number; + is3D?: boolean; + seriesStatus?: Array; + nameStartsWithOrGreater?: string; + nameStartsWith?: string; + nameLessThan?: string; + studioIds?: Array; + genreIds?: Array; + enableTotalRecordCount?: boolean; + enableImages?: boolean; +} + +export interface GetResumeItemsRequest { + userId: string; + startIndex?: number; + limit?: number; + searchTerm?: string; + parentId?: string; + fields?: Array; + mediaTypes?: Array; + enableUserData?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; + excludeItemTypes?: Array; + includeItemTypes?: Array; + enableTotalRecordCount?: boolean; + enableImages?: boolean; + excludeActiveSessions?: boolean; +} + +/** + * + */ +export class ItemsApi extends runtime.BaseAPI { + + /** + * Gets items based on a query. + */ + async getItemsRaw(requestParameters: GetItemsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.maxOfficialRating !== undefined) { + queryParameters['maxOfficialRating'] = requestParameters.maxOfficialRating; + } + + if (requestParameters.hasThemeSong !== undefined) { + queryParameters['hasThemeSong'] = requestParameters.hasThemeSong; + } + + if (requestParameters.hasThemeVideo !== undefined) { + queryParameters['hasThemeVideo'] = requestParameters.hasThemeVideo; + } + + if (requestParameters.hasSubtitles !== undefined) { + queryParameters['hasSubtitles'] = requestParameters.hasSubtitles; + } + + if (requestParameters.hasSpecialFeature !== undefined) { + queryParameters['hasSpecialFeature'] = requestParameters.hasSpecialFeature; + } + + if (requestParameters.hasTrailer !== undefined) { + queryParameters['hasTrailer'] = requestParameters.hasTrailer; + } + + if (requestParameters.adjacentTo !== undefined) { + queryParameters['adjacentTo'] = requestParameters.adjacentTo; + } + + if (requestParameters.parentIndexNumber !== undefined) { + queryParameters['parentIndexNumber'] = requestParameters.parentIndexNumber; + } + + if (requestParameters.hasParentalRating !== undefined) { + queryParameters['hasParentalRating'] = requestParameters.hasParentalRating; + } + + if (requestParameters.isHd !== undefined) { + queryParameters['isHd'] = requestParameters.isHd; + } + + if (requestParameters.is4K !== undefined) { + queryParameters['is4K'] = requestParameters.is4K; + } + + if (requestParameters.locationTypes) { + queryParameters['locationTypes'] = requestParameters.locationTypes; + } + + if (requestParameters.excludeLocationTypes) { + queryParameters['excludeLocationTypes'] = requestParameters.excludeLocationTypes; + } + + if (requestParameters.isMissing !== undefined) { + queryParameters['isMissing'] = requestParameters.isMissing; + } + + if (requestParameters.isUnaired !== undefined) { + queryParameters['isUnaired'] = requestParameters.isUnaired; + } + + if (requestParameters.minCommunityRating !== undefined) { + queryParameters['minCommunityRating'] = requestParameters.minCommunityRating; + } + + if (requestParameters.minCriticRating !== undefined) { + queryParameters['minCriticRating'] = requestParameters.minCriticRating; + } + + if (requestParameters.minPremiereDate !== undefined) { + queryParameters['minPremiereDate'] = (requestParameters.minPremiereDate as any).toISOString(); + } + + if (requestParameters.minDateLastSaved !== undefined) { + queryParameters['minDateLastSaved'] = (requestParameters.minDateLastSaved as any).toISOString(); + } + + if (requestParameters.minDateLastSavedForUser !== undefined) { + queryParameters['minDateLastSavedForUser'] = (requestParameters.minDateLastSavedForUser as any).toISOString(); + } + + if (requestParameters.maxPremiereDate !== undefined) { + queryParameters['maxPremiereDate'] = (requestParameters.maxPremiereDate as any).toISOString(); + } + + if (requestParameters.hasOverview !== undefined) { + queryParameters['hasOverview'] = requestParameters.hasOverview; + } + + if (requestParameters.hasImdbId !== undefined) { + queryParameters['hasImdbId'] = requestParameters.hasImdbId; + } + + if (requestParameters.hasTmdbId !== undefined) { + queryParameters['hasTmdbId'] = requestParameters.hasTmdbId; + } + + if (requestParameters.hasTvdbId !== undefined) { + queryParameters['hasTvdbId'] = requestParameters.hasTvdbId; + } + + if (requestParameters.isMovie !== undefined) { + queryParameters['isMovie'] = requestParameters.isMovie; + } + + if (requestParameters.isSeries !== undefined) { + queryParameters['isSeries'] = requestParameters.isSeries; + } + + if (requestParameters.isNews !== undefined) { + queryParameters['isNews'] = requestParameters.isNews; + } + + if (requestParameters.isKids !== undefined) { + queryParameters['isKids'] = requestParameters.isKids; + } + + if (requestParameters.isSports !== undefined) { + queryParameters['isSports'] = requestParameters.isSports; + } + + if (requestParameters.excludeItemIds) { + queryParameters['excludeItemIds'] = requestParameters.excludeItemIds; + } + + if (requestParameters.startIndex !== undefined) { + queryParameters['startIndex'] = requestParameters.startIndex; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.recursive !== undefined) { + queryParameters['recursive'] = requestParameters.recursive; + } + + if (requestParameters.searchTerm !== undefined) { + queryParameters['searchTerm'] = requestParameters.searchTerm; + } + + if (requestParameters.sortOrder) { + queryParameters['sortOrder'] = requestParameters.sortOrder; + } + + if (requestParameters.parentId !== undefined) { + queryParameters['parentId'] = requestParameters.parentId; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.excludeItemTypes) { + queryParameters['excludeItemTypes'] = requestParameters.excludeItemTypes; + } + + if (requestParameters.includeItemTypes) { + queryParameters['includeItemTypes'] = requestParameters.includeItemTypes; + } + + if (requestParameters.filters) { + queryParameters['filters'] = requestParameters.filters; + } + + if (requestParameters.isFavorite !== undefined) { + queryParameters['isFavorite'] = requestParameters.isFavorite; + } + + if (requestParameters.mediaTypes) { + queryParameters['mediaTypes'] = requestParameters.mediaTypes; + } + + if (requestParameters.imageTypes) { + queryParameters['imageTypes'] = requestParameters.imageTypes; + } + + if (requestParameters.sortBy) { + queryParameters['sortBy'] = requestParameters.sortBy; + } + + if (requestParameters.isPlayed !== undefined) { + queryParameters['isPlayed'] = requestParameters.isPlayed; + } + + if (requestParameters.genres) { + queryParameters['genres'] = requestParameters.genres; + } + + if (requestParameters.officialRatings) { + queryParameters['officialRatings'] = requestParameters.officialRatings; + } + + if (requestParameters.tags) { + queryParameters['tags'] = requestParameters.tags; + } + + if (requestParameters.years) { + queryParameters['years'] = requestParameters.years; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + if (requestParameters.person !== undefined) { + queryParameters['person'] = requestParameters.person; + } + + if (requestParameters.personIds) { + queryParameters['personIds'] = requestParameters.personIds; + } + + if (requestParameters.personTypes) { + queryParameters['personTypes'] = requestParameters.personTypes; + } + + if (requestParameters.studios) { + queryParameters['studios'] = requestParameters.studios; + } + + if (requestParameters.artists) { + queryParameters['artists'] = requestParameters.artists; + } + + if (requestParameters.excludeArtistIds) { + queryParameters['excludeArtistIds'] = requestParameters.excludeArtistIds; + } + + if (requestParameters.artistIds) { + queryParameters['artistIds'] = requestParameters.artistIds; + } + + if (requestParameters.albumArtistIds) { + queryParameters['albumArtistIds'] = requestParameters.albumArtistIds; + } + + if (requestParameters.contributingArtistIds) { + queryParameters['contributingArtistIds'] = requestParameters.contributingArtistIds; + } + + if (requestParameters.albums) { + queryParameters['albums'] = requestParameters.albums; + } + + if (requestParameters.albumIds) { + queryParameters['albumIds'] = requestParameters.albumIds; + } + + if (requestParameters.ids) { + queryParameters['ids'] = requestParameters.ids; + } + + if (requestParameters.videoTypes) { + queryParameters['videoTypes'] = requestParameters.videoTypes; + } + + if (requestParameters.minOfficialRating !== undefined) { + queryParameters['minOfficialRating'] = requestParameters.minOfficialRating; + } + + if (requestParameters.isLocked !== undefined) { + queryParameters['isLocked'] = requestParameters.isLocked; + } + + if (requestParameters.isPlaceHolder !== undefined) { + queryParameters['isPlaceHolder'] = requestParameters.isPlaceHolder; + } + + if (requestParameters.hasOfficialRating !== undefined) { + queryParameters['hasOfficialRating'] = requestParameters.hasOfficialRating; + } + + if (requestParameters.collapseBoxSetItems !== undefined) { + queryParameters['collapseBoxSetItems'] = requestParameters.collapseBoxSetItems; + } + + if (requestParameters.minWidth !== undefined) { + queryParameters['minWidth'] = requestParameters.minWidth; + } + + if (requestParameters.minHeight !== undefined) { + queryParameters['minHeight'] = requestParameters.minHeight; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.is3D !== undefined) { + queryParameters['is3D'] = requestParameters.is3D; + } + + if (requestParameters.seriesStatus) { + queryParameters['seriesStatus'] = requestParameters.seriesStatus; + } + + if (requestParameters.nameStartsWithOrGreater !== undefined) { + queryParameters['nameStartsWithOrGreater'] = requestParameters.nameStartsWithOrGreater; + } + + if (requestParameters.nameStartsWith !== undefined) { + queryParameters['nameStartsWith'] = requestParameters.nameStartsWith; + } + + if (requestParameters.nameLessThan !== undefined) { + queryParameters['nameLessThan'] = requestParameters.nameLessThan; + } + + if (requestParameters.studioIds) { + queryParameters['studioIds'] = requestParameters.studioIds; + } + + if (requestParameters.genreIds) { + queryParameters['genreIds'] = requestParameters.genreIds; + } + + if (requestParameters.enableTotalRecordCount !== undefined) { + queryParameters['enableTotalRecordCount'] = requestParameters.enableTotalRecordCount; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets items based on a query. + */ + async getItems(requestParameters: GetItemsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getItemsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets items based on a query. + */ + async getItemsByUserIdRaw(requestParameters: GetItemsByUserIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling getItemsByUserId.'); + } + + const queryParameters: any = {}; + + if (requestParameters.maxOfficialRating !== undefined) { + queryParameters['maxOfficialRating'] = requestParameters.maxOfficialRating; + } + + if (requestParameters.hasThemeSong !== undefined) { + queryParameters['hasThemeSong'] = requestParameters.hasThemeSong; + } + + if (requestParameters.hasThemeVideo !== undefined) { + queryParameters['hasThemeVideo'] = requestParameters.hasThemeVideo; + } + + if (requestParameters.hasSubtitles !== undefined) { + queryParameters['hasSubtitles'] = requestParameters.hasSubtitles; + } + + if (requestParameters.hasSpecialFeature !== undefined) { + queryParameters['hasSpecialFeature'] = requestParameters.hasSpecialFeature; + } + + if (requestParameters.hasTrailer !== undefined) { + queryParameters['hasTrailer'] = requestParameters.hasTrailer; + } + + if (requestParameters.adjacentTo !== undefined) { + queryParameters['adjacentTo'] = requestParameters.adjacentTo; + } + + if (requestParameters.parentIndexNumber !== undefined) { + queryParameters['parentIndexNumber'] = requestParameters.parentIndexNumber; + } + + if (requestParameters.hasParentalRating !== undefined) { + queryParameters['hasParentalRating'] = requestParameters.hasParentalRating; + } + + if (requestParameters.isHd !== undefined) { + queryParameters['isHd'] = requestParameters.isHd; + } + + if (requestParameters.is4K !== undefined) { + queryParameters['is4K'] = requestParameters.is4K; + } + + if (requestParameters.locationTypes) { + queryParameters['locationTypes'] = requestParameters.locationTypes; + } + + if (requestParameters.excludeLocationTypes) { + queryParameters['excludeLocationTypes'] = requestParameters.excludeLocationTypes; + } + + if (requestParameters.isMissing !== undefined) { + queryParameters['isMissing'] = requestParameters.isMissing; + } + + if (requestParameters.isUnaired !== undefined) { + queryParameters['isUnaired'] = requestParameters.isUnaired; + } + + if (requestParameters.minCommunityRating !== undefined) { + queryParameters['minCommunityRating'] = requestParameters.minCommunityRating; + } + + if (requestParameters.minCriticRating !== undefined) { + queryParameters['minCriticRating'] = requestParameters.minCriticRating; + } + + if (requestParameters.minPremiereDate !== undefined) { + queryParameters['minPremiereDate'] = (requestParameters.minPremiereDate as any).toISOString(); + } + + if (requestParameters.minDateLastSaved !== undefined) { + queryParameters['minDateLastSaved'] = (requestParameters.minDateLastSaved as any).toISOString(); + } + + if (requestParameters.minDateLastSavedForUser !== undefined) { + queryParameters['minDateLastSavedForUser'] = (requestParameters.minDateLastSavedForUser as any).toISOString(); + } + + if (requestParameters.maxPremiereDate !== undefined) { + queryParameters['maxPremiereDate'] = (requestParameters.maxPremiereDate as any).toISOString(); + } + + if (requestParameters.hasOverview !== undefined) { + queryParameters['hasOverview'] = requestParameters.hasOverview; + } + + if (requestParameters.hasImdbId !== undefined) { + queryParameters['hasImdbId'] = requestParameters.hasImdbId; + } + + if (requestParameters.hasTmdbId !== undefined) { + queryParameters['hasTmdbId'] = requestParameters.hasTmdbId; + } + + if (requestParameters.hasTvdbId !== undefined) { + queryParameters['hasTvdbId'] = requestParameters.hasTvdbId; + } + + if (requestParameters.isMovie !== undefined) { + queryParameters['isMovie'] = requestParameters.isMovie; + } + + if (requestParameters.isSeries !== undefined) { + queryParameters['isSeries'] = requestParameters.isSeries; + } + + if (requestParameters.isNews !== undefined) { + queryParameters['isNews'] = requestParameters.isNews; + } + + if (requestParameters.isKids !== undefined) { + queryParameters['isKids'] = requestParameters.isKids; + } + + if (requestParameters.isSports !== undefined) { + queryParameters['isSports'] = requestParameters.isSports; + } + + if (requestParameters.excludeItemIds) { + queryParameters['excludeItemIds'] = requestParameters.excludeItemIds; + } + + if (requestParameters.startIndex !== undefined) { + queryParameters['startIndex'] = requestParameters.startIndex; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.recursive !== undefined) { + queryParameters['recursive'] = requestParameters.recursive; + } + + if (requestParameters.searchTerm !== undefined) { + queryParameters['searchTerm'] = requestParameters.searchTerm; + } + + if (requestParameters.sortOrder) { + queryParameters['sortOrder'] = requestParameters.sortOrder; + } + + if (requestParameters.parentId !== undefined) { + queryParameters['parentId'] = requestParameters.parentId; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.excludeItemTypes) { + queryParameters['excludeItemTypes'] = requestParameters.excludeItemTypes; + } + + if (requestParameters.includeItemTypes) { + queryParameters['includeItemTypes'] = requestParameters.includeItemTypes; + } + + if (requestParameters.filters) { + queryParameters['filters'] = requestParameters.filters; + } + + if (requestParameters.isFavorite !== undefined) { + queryParameters['isFavorite'] = requestParameters.isFavorite; + } + + if (requestParameters.mediaTypes) { + queryParameters['mediaTypes'] = requestParameters.mediaTypes; + } + + if (requestParameters.imageTypes) { + queryParameters['imageTypes'] = requestParameters.imageTypes; + } + + if (requestParameters.sortBy) { + queryParameters['sortBy'] = requestParameters.sortBy; + } + + if (requestParameters.isPlayed !== undefined) { + queryParameters['isPlayed'] = requestParameters.isPlayed; + } + + if (requestParameters.genres) { + queryParameters['genres'] = requestParameters.genres; + } + + if (requestParameters.officialRatings) { + queryParameters['officialRatings'] = requestParameters.officialRatings; + } + + if (requestParameters.tags) { + queryParameters['tags'] = requestParameters.tags; + } + + if (requestParameters.years) { + queryParameters['years'] = requestParameters.years; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + if (requestParameters.person !== undefined) { + queryParameters['person'] = requestParameters.person; + } + + if (requestParameters.personIds) { + queryParameters['personIds'] = requestParameters.personIds; + } + + if (requestParameters.personTypes) { + queryParameters['personTypes'] = requestParameters.personTypes; + } + + if (requestParameters.studios) { + queryParameters['studios'] = requestParameters.studios; + } + + if (requestParameters.artists) { + queryParameters['artists'] = requestParameters.artists; + } + + if (requestParameters.excludeArtistIds) { + queryParameters['excludeArtistIds'] = requestParameters.excludeArtistIds; + } + + if (requestParameters.artistIds) { + queryParameters['artistIds'] = requestParameters.artistIds; + } + + if (requestParameters.albumArtistIds) { + queryParameters['albumArtistIds'] = requestParameters.albumArtistIds; + } + + if (requestParameters.contributingArtistIds) { + queryParameters['contributingArtistIds'] = requestParameters.contributingArtistIds; + } + + if (requestParameters.albums) { + queryParameters['albums'] = requestParameters.albums; + } + + if (requestParameters.albumIds) { + queryParameters['albumIds'] = requestParameters.albumIds; + } + + if (requestParameters.ids) { + queryParameters['ids'] = requestParameters.ids; + } + + if (requestParameters.videoTypes) { + queryParameters['videoTypes'] = requestParameters.videoTypes; + } + + if (requestParameters.minOfficialRating !== undefined) { + queryParameters['minOfficialRating'] = requestParameters.minOfficialRating; + } + + if (requestParameters.isLocked !== undefined) { + queryParameters['isLocked'] = requestParameters.isLocked; + } + + if (requestParameters.isPlaceHolder !== undefined) { + queryParameters['isPlaceHolder'] = requestParameters.isPlaceHolder; + } + + if (requestParameters.hasOfficialRating !== undefined) { + queryParameters['hasOfficialRating'] = requestParameters.hasOfficialRating; + } + + if (requestParameters.collapseBoxSetItems !== undefined) { + queryParameters['collapseBoxSetItems'] = requestParameters.collapseBoxSetItems; + } + + if (requestParameters.minWidth !== undefined) { + queryParameters['minWidth'] = requestParameters.minWidth; + } + + if (requestParameters.minHeight !== undefined) { + queryParameters['minHeight'] = requestParameters.minHeight; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.is3D !== undefined) { + queryParameters['is3D'] = requestParameters.is3D; + } + + if (requestParameters.seriesStatus) { + queryParameters['seriesStatus'] = requestParameters.seriesStatus; + } + + if (requestParameters.nameStartsWithOrGreater !== undefined) { + queryParameters['nameStartsWithOrGreater'] = requestParameters.nameStartsWithOrGreater; + } + + if (requestParameters.nameStartsWith !== undefined) { + queryParameters['nameStartsWith'] = requestParameters.nameStartsWith; + } + + if (requestParameters.nameLessThan !== undefined) { + queryParameters['nameLessThan'] = requestParameters.nameLessThan; + } + + if (requestParameters.studioIds) { + queryParameters['studioIds'] = requestParameters.studioIds; + } + + if (requestParameters.genreIds) { + queryParameters['genreIds'] = requestParameters.genreIds; + } + + if (requestParameters.enableTotalRecordCount !== undefined) { + queryParameters['enableTotalRecordCount'] = requestParameters.enableTotalRecordCount; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/Items`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets items based on a query. + */ + async getItemsByUserId(requestParameters: GetItemsByUserIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getItemsByUserIdRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets items based on a query. + */ + async getResumeItemsRaw(requestParameters: GetResumeItemsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling getResumeItems.'); + } + + const queryParameters: any = {}; + + if (requestParameters.startIndex !== undefined) { + queryParameters['startIndex'] = requestParameters.startIndex; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.searchTerm !== undefined) { + queryParameters['searchTerm'] = requestParameters.searchTerm; + } + + if (requestParameters.parentId !== undefined) { + queryParameters['parentId'] = requestParameters.parentId; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.mediaTypes) { + queryParameters['mediaTypes'] = requestParameters.mediaTypes; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + if (requestParameters.excludeItemTypes) { + queryParameters['excludeItemTypes'] = requestParameters.excludeItemTypes; + } + + if (requestParameters.includeItemTypes) { + queryParameters['includeItemTypes'] = requestParameters.includeItemTypes; + } + + if (requestParameters.enableTotalRecordCount !== undefined) { + queryParameters['enableTotalRecordCount'] = requestParameters.enableTotalRecordCount; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + if (requestParameters.excludeActiveSessions !== undefined) { + queryParameters['excludeActiveSessions'] = requestParameters.excludeActiveSessions; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/Items/Resume`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets items based on a query. + */ + async getResumeItems(requestParameters: GetResumeItemsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getResumeItemsRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/LibraryApi.ts b/server/jellyfin/apis/LibraryApi.ts new file mode 100644 index 0000000..70f07dd --- /dev/null +++ b/server/jellyfin/apis/LibraryApi.ts @@ -0,0 +1,1158 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + AllThemeMediaResult, + BaseItemDto, + BaseItemDtoQueryResult, + ItemCounts, + ItemFields, + LibraryOptionsResultDto, + PostUpdatedMediaRequest, + ProblemDetails, + ThemeMediaResult, +} from '../models'; +import { + AllThemeMediaResultFromJSON, + AllThemeMediaResultToJSON, + BaseItemDtoFromJSON, + BaseItemDtoToJSON, + BaseItemDtoQueryResultFromJSON, + BaseItemDtoQueryResultToJSON, + ItemCountsFromJSON, + ItemCountsToJSON, + ItemFieldsFromJSON, + ItemFieldsToJSON, + LibraryOptionsResultDtoFromJSON, + LibraryOptionsResultDtoToJSON, + PostUpdatedMediaRequestFromJSON, + PostUpdatedMediaRequestToJSON, + ProblemDetailsFromJSON, + ProblemDetailsToJSON, + ThemeMediaResultFromJSON, + ThemeMediaResultToJSON, +} from '../models'; + +export interface DeleteItemRequest { + itemId: string; +} + +export interface DeleteItemsRequest { + ids?: Array; +} + +export interface GetAncestorsRequest { + itemId: string; + userId?: string; +} + +export interface GetCriticReviewsRequest { + itemId: string; +} + +export interface GetDownloadRequest { + itemId: string; +} + +export interface GetFileRequest { + itemId: string; +} + +export interface GetItemCountsRequest { + userId?: string; + isFavorite?: boolean; +} + +export interface GetLibraryOptionsInfoRequest { + libraryContentType?: string; + isNewLibrary?: boolean; +} + +export interface GetMediaFoldersRequest { + isHidden?: boolean; +} + +export interface GetSimilarAlbumsRequest { + itemId: string; + excludeArtistIds?: Array; + userId?: string; + limit?: number; + fields?: Array; +} + +export interface GetSimilarArtistsRequest { + itemId: string; + excludeArtistIds?: Array; + userId?: string; + limit?: number; + fields?: Array; +} + +export interface GetSimilarItemsRequest { + itemId: string; + excludeArtistIds?: Array; + userId?: string; + limit?: number; + fields?: Array; +} + +export interface GetSimilarMoviesRequest { + itemId: string; + excludeArtistIds?: Array; + userId?: string; + limit?: number; + fields?: Array; +} + +export interface GetSimilarShowsRequest { + itemId: string; + excludeArtistIds?: Array; + userId?: string; + limit?: number; + fields?: Array; +} + +export interface GetSimilarTrailersRequest { + itemId: string; + excludeArtistIds?: Array; + userId?: string; + limit?: number; + fields?: Array; +} + +export interface GetThemeMediaRequest { + itemId: string; + userId?: string; + inheritFromParent?: boolean; +} + +export interface GetThemeSongsRequest { + itemId: string; + userId?: string; + inheritFromParent?: boolean; +} + +export interface GetThemeVideosRequest { + itemId: string; + userId?: string; + inheritFromParent?: boolean; +} + +export interface PostAddedMoviesRequest { + tmdbId?: string; + imdbId?: string; +} + +export interface PostAddedSeriesRequest { + tvdbId?: string; +} + +export interface PostUpdatedMediaOperationRequest { + postUpdatedMediaRequest: PostUpdatedMediaRequest; +} + +export interface PostUpdatedMoviesRequest { + tmdbId?: string; + imdbId?: string; +} + +export interface PostUpdatedSeriesRequest { + tvdbId?: string; +} + +/** + * + */ +export class LibraryApi extends runtime.BaseAPI { + + /** + * Deletes an item from the library and filesystem. + */ + async deleteItemRaw(requestParameters: DeleteItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling deleteItem.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{itemId}`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Deletes an item from the library and filesystem. + */ + async deleteItem(requestParameters: DeleteItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.deleteItemRaw(requestParameters, initOverrides); + } + + /** + * Deletes items from the library and filesystem. + */ + async deleteItemsRaw(requestParameters: DeleteItemsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.ids) { + queryParameters['ids'] = requestParameters.ids; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items`, + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Deletes items from the library and filesystem. + */ + async deleteItems(requestParameters: DeleteItemsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.deleteItemsRaw(requestParameters, initOverrides); + } + + /** + * Gets all parents of an item. + */ + async getAncestorsRaw(requestParameters: GetAncestorsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getAncestors.'); + } + + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{itemId}/Ancestors`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(BaseItemDtoFromJSON)); + } + + /** + * Gets all parents of an item. + */ + async getAncestors(requestParameters: GetAncestorsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getAncestorsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets critic review for an item. + */ + async getCriticReviewsRaw(requestParameters: GetCriticReviewsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getCriticReviews.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{itemId}/CriticReviews`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets critic review for an item. + */ + async getCriticReviews(requestParameters: GetCriticReviewsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getCriticReviewsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Downloads item media. + */ + async getDownloadRaw(requestParameters: GetDownloadRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getDownload.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{itemId}/Download`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Downloads item media. + */ + async getDownload(requestParameters: GetDownloadRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getDownloadRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get the original file of an item. + */ + async getFileRaw(requestParameters: GetFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getFile.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{itemId}/File`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get the original file of an item. + */ + async getFile(requestParameters: GetFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getFileRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get item counts. + */ + async getItemCountsRaw(requestParameters: GetItemCountsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.isFavorite !== undefined) { + queryParameters['isFavorite'] = requestParameters.isFavorite; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/Counts`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ItemCountsFromJSON(jsonValue)); + } + + /** + * Get item counts. + */ + async getItemCounts(requestParameters: GetItemCountsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getItemCountsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets the library options info. + */ + async getLibraryOptionsInfoRaw(requestParameters: GetLibraryOptionsInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.libraryContentType !== undefined) { + queryParameters['libraryContentType'] = requestParameters.libraryContentType; + } + + if (requestParameters.isNewLibrary !== undefined) { + queryParameters['isNewLibrary'] = requestParameters.isNewLibrary; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Libraries/AvailableOptions`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => LibraryOptionsResultDtoFromJSON(jsonValue)); + } + + /** + * Gets the library options info. + */ + async getLibraryOptionsInfo(requestParameters: GetLibraryOptionsInfoRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getLibraryOptionsInfoRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets all user media folders. + */ + async getMediaFoldersRaw(requestParameters: GetMediaFoldersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.isHidden !== undefined) { + queryParameters['isHidden'] = requestParameters.isHidden; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Library/MediaFolders`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets all user media folders. + */ + async getMediaFolders(requestParameters: GetMediaFoldersRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getMediaFoldersRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a list of physical paths from virtual folders. + */ + async getPhysicalPathsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Library/PhysicalPaths`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response); + } + + /** + * Gets a list of physical paths from virtual folders. + */ + async getPhysicalPaths(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getPhysicalPathsRaw(initOverrides); + return await response.value(); + } + + /** + * Gets similar items. + */ + async getSimilarAlbumsRaw(requestParameters: GetSimilarAlbumsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getSimilarAlbums.'); + } + + const queryParameters: any = {}; + + if (requestParameters.excludeArtistIds) { + queryParameters['excludeArtistIds'] = requestParameters.excludeArtistIds; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Albums/{itemId}/Similar`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets similar items. + */ + async getSimilarAlbums(requestParameters: GetSimilarAlbumsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getSimilarAlbumsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets similar items. + */ + async getSimilarArtistsRaw(requestParameters: GetSimilarArtistsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getSimilarArtists.'); + } + + const queryParameters: any = {}; + + if (requestParameters.excludeArtistIds) { + queryParameters['excludeArtistIds'] = requestParameters.excludeArtistIds; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Artists/{itemId}/Similar`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets similar items. + */ + async getSimilarArtists(requestParameters: GetSimilarArtistsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getSimilarArtistsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets similar items. + */ + async getSimilarItemsRaw(requestParameters: GetSimilarItemsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getSimilarItems.'); + } + + const queryParameters: any = {}; + + if (requestParameters.excludeArtistIds) { + queryParameters['excludeArtistIds'] = requestParameters.excludeArtistIds; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{itemId}/Similar`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets similar items. + */ + async getSimilarItems(requestParameters: GetSimilarItemsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getSimilarItemsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets similar items. + */ + async getSimilarMoviesRaw(requestParameters: GetSimilarMoviesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getSimilarMovies.'); + } + + const queryParameters: any = {}; + + if (requestParameters.excludeArtistIds) { + queryParameters['excludeArtistIds'] = requestParameters.excludeArtistIds; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Movies/{itemId}/Similar`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets similar items. + */ + async getSimilarMovies(requestParameters: GetSimilarMoviesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getSimilarMoviesRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets similar items. + */ + async getSimilarShowsRaw(requestParameters: GetSimilarShowsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getSimilarShows.'); + } + + const queryParameters: any = {}; + + if (requestParameters.excludeArtistIds) { + queryParameters['excludeArtistIds'] = requestParameters.excludeArtistIds; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Shows/{itemId}/Similar`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets similar items. + */ + async getSimilarShows(requestParameters: GetSimilarShowsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getSimilarShowsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets similar items. + */ + async getSimilarTrailersRaw(requestParameters: GetSimilarTrailersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getSimilarTrailers.'); + } + + const queryParameters: any = {}; + + if (requestParameters.excludeArtistIds) { + queryParameters['excludeArtistIds'] = requestParameters.excludeArtistIds; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Trailers/{itemId}/Similar`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets similar items. + */ + async getSimilarTrailers(requestParameters: GetSimilarTrailersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getSimilarTrailersRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get theme songs and videos for an item. + */ + async getThemeMediaRaw(requestParameters: GetThemeMediaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getThemeMedia.'); + } + + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.inheritFromParent !== undefined) { + queryParameters['inheritFromParent'] = requestParameters.inheritFromParent; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{itemId}/ThemeMedia`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AllThemeMediaResultFromJSON(jsonValue)); + } + + /** + * Get theme songs and videos for an item. + */ + async getThemeMedia(requestParameters: GetThemeMediaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getThemeMediaRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get theme songs for an item. + */ + async getThemeSongsRaw(requestParameters: GetThemeSongsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getThemeSongs.'); + } + + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.inheritFromParent !== undefined) { + queryParameters['inheritFromParent'] = requestParameters.inheritFromParent; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{itemId}/ThemeSongs`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ThemeMediaResultFromJSON(jsonValue)); + } + + /** + * Get theme songs for an item. + */ + async getThemeSongs(requestParameters: GetThemeSongsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getThemeSongsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get theme videos for an item. + */ + async getThemeVideosRaw(requestParameters: GetThemeVideosRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getThemeVideos.'); + } + + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.inheritFromParent !== undefined) { + queryParameters['inheritFromParent'] = requestParameters.inheritFromParent; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{itemId}/ThemeVideos`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ThemeMediaResultFromJSON(jsonValue)); + } + + /** + * Get theme videos for an item. + */ + async getThemeVideos(requestParameters: GetThemeVideosRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getThemeVideosRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Reports that new movies have been added by an external source. + */ + async postAddedMoviesRaw(requestParameters: PostAddedMoviesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.tmdbId !== undefined) { + queryParameters['tmdbId'] = requestParameters.tmdbId; + } + + if (requestParameters.imdbId !== undefined) { + queryParameters['imdbId'] = requestParameters.imdbId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Library/Movies/Added`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Reports that new movies have been added by an external source. + */ + async postAddedMovies(requestParameters: PostAddedMoviesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.postAddedMoviesRaw(requestParameters, initOverrides); + } + + /** + * Reports that new episodes of a series have been added by an external source. + */ + async postAddedSeriesRaw(requestParameters: PostAddedSeriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.tvdbId !== undefined) { + queryParameters['tvdbId'] = requestParameters.tvdbId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Library/Series/Added`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Reports that new episodes of a series have been added by an external source. + */ + async postAddedSeries(requestParameters: PostAddedSeriesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.postAddedSeriesRaw(requestParameters, initOverrides); + } + + /** + * Reports that new movies have been added by an external source. + */ + async postUpdatedMediaRaw(requestParameters: PostUpdatedMediaOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.postUpdatedMediaRequest === null || requestParameters.postUpdatedMediaRequest === undefined) { + throw new runtime.RequiredError('postUpdatedMediaRequest','Required parameter requestParameters.postUpdatedMediaRequest was null or undefined when calling postUpdatedMedia.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Library/Media/Updated`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: PostUpdatedMediaRequestToJSON(requestParameters.postUpdatedMediaRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Reports that new movies have been added by an external source. + */ + async postUpdatedMedia(requestParameters: PostUpdatedMediaOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.postUpdatedMediaRaw(requestParameters, initOverrides); + } + + /** + * Reports that new movies have been added by an external source. + */ + async postUpdatedMoviesRaw(requestParameters: PostUpdatedMoviesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.tmdbId !== undefined) { + queryParameters['tmdbId'] = requestParameters.tmdbId; + } + + if (requestParameters.imdbId !== undefined) { + queryParameters['imdbId'] = requestParameters.imdbId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Library/Movies/Updated`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Reports that new movies have been added by an external source. + */ + async postUpdatedMovies(requestParameters: PostUpdatedMoviesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.postUpdatedMoviesRaw(requestParameters, initOverrides); + } + + /** + * Reports that new episodes of a series have been added by an external source. + */ + async postUpdatedSeriesRaw(requestParameters: PostUpdatedSeriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.tvdbId !== undefined) { + queryParameters['tvdbId'] = requestParameters.tvdbId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Library/Series/Updated`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Reports that new episodes of a series have been added by an external source. + */ + async postUpdatedSeries(requestParameters: PostUpdatedSeriesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.postUpdatedSeriesRaw(requestParameters, initOverrides); + } + + /** + * Starts a library scan. + */ + async refreshLibraryRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Library/Refresh`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Starts a library scan. + */ + async refreshLibrary(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.refreshLibraryRaw(initOverrides); + } + +} diff --git a/server/jellyfin/apis/LibraryStructureApi.ts b/server/jellyfin/apis/LibraryStructureApi.ts new file mode 100644 index 0000000..1c76457 --- /dev/null +++ b/server/jellyfin/apis/LibraryStructureApi.ts @@ -0,0 +1,391 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + AddMediaPathRequest, + AddVirtualFolderRequest, + CollectionTypeOptions, + ProblemDetails, + UpdateLibraryOptionsRequest, + UpdateMediaPathRequest, + VirtualFolderInfo, +} from '../models'; +import { + AddMediaPathRequestFromJSON, + AddMediaPathRequestToJSON, + AddVirtualFolderRequestFromJSON, + AddVirtualFolderRequestToJSON, + CollectionTypeOptionsFromJSON, + CollectionTypeOptionsToJSON, + ProblemDetailsFromJSON, + ProblemDetailsToJSON, + UpdateLibraryOptionsRequestFromJSON, + UpdateLibraryOptionsRequestToJSON, + UpdateMediaPathRequestFromJSON, + UpdateMediaPathRequestToJSON, + VirtualFolderInfoFromJSON, + VirtualFolderInfoToJSON, +} from '../models'; + +export interface AddMediaPathOperationRequest { + addMediaPathRequest: AddMediaPathRequest; + refreshLibrary?: boolean; +} + +export interface AddVirtualFolderOperationRequest { + name?: string; + collectionType?: CollectionTypeOptions; + paths?: Array; + refreshLibrary?: boolean; + addVirtualFolderRequest?: AddVirtualFolderRequest; +} + +export interface RemoveMediaPathRequest { + name?: string; + path?: string; + refreshLibrary?: boolean; +} + +export interface RemoveVirtualFolderRequest { + name?: string; + refreshLibrary?: boolean; +} + +export interface RenameVirtualFolderRequest { + name?: string; + newName?: string; + refreshLibrary?: boolean; +} + +export interface UpdateLibraryOptionsOperationRequest { + updateLibraryOptionsRequest?: UpdateLibraryOptionsRequest; +} + +export interface UpdateMediaPathOperationRequest { + updateMediaPathRequest: UpdateMediaPathRequest; +} + +/** + * + */ +export class LibraryStructureApi extends runtime.BaseAPI { + + /** + * Add a media path to a library. + */ + async addMediaPathRaw(requestParameters: AddMediaPathOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.addMediaPathRequest === null || requestParameters.addMediaPathRequest === undefined) { + throw new runtime.RequiredError('addMediaPathRequest','Required parameter requestParameters.addMediaPathRequest was null or undefined when calling addMediaPath.'); + } + + const queryParameters: any = {}; + + if (requestParameters.refreshLibrary !== undefined) { + queryParameters['refreshLibrary'] = requestParameters.refreshLibrary; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Library/VirtualFolders/Paths`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: AddMediaPathRequestToJSON(requestParameters.addMediaPathRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Add a media path to a library. + */ + async addMediaPath(requestParameters: AddMediaPathOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.addMediaPathRaw(requestParameters, initOverrides); + } + + /** + * Adds a virtual folder. + */ + async addVirtualFolderRaw(requestParameters: AddVirtualFolderOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.name !== undefined) { + queryParameters['name'] = requestParameters.name; + } + + if (requestParameters.collectionType !== undefined) { + queryParameters['collectionType'] = requestParameters.collectionType; + } + + if (requestParameters.paths) { + queryParameters['paths'] = requestParameters.paths; + } + + if (requestParameters.refreshLibrary !== undefined) { + queryParameters['refreshLibrary'] = requestParameters.refreshLibrary; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Library/VirtualFolders`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: AddVirtualFolderRequestToJSON(requestParameters.addVirtualFolderRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Adds a virtual folder. + */ + async addVirtualFolder(requestParameters: AddVirtualFolderOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.addVirtualFolderRaw(requestParameters, initOverrides); + } + + /** + * Gets all virtual folders. + */ + async getVirtualFoldersRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Library/VirtualFolders`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(VirtualFolderInfoFromJSON)); + } + + /** + * Gets all virtual folders. + */ + async getVirtualFolders(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getVirtualFoldersRaw(initOverrides); + return await response.value(); + } + + /** + * Remove a media path. + */ + async removeMediaPathRaw(requestParameters: RemoveMediaPathRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.name !== undefined) { + queryParameters['name'] = requestParameters.name; + } + + if (requestParameters.path !== undefined) { + queryParameters['path'] = requestParameters.path; + } + + if (requestParameters.refreshLibrary !== undefined) { + queryParameters['refreshLibrary'] = requestParameters.refreshLibrary; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Library/VirtualFolders/Paths`, + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Remove a media path. + */ + async removeMediaPath(requestParameters: RemoveMediaPathRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.removeMediaPathRaw(requestParameters, initOverrides); + } + + /** + * Removes a virtual folder. + */ + async removeVirtualFolderRaw(requestParameters: RemoveVirtualFolderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.name !== undefined) { + queryParameters['name'] = requestParameters.name; + } + + if (requestParameters.refreshLibrary !== undefined) { + queryParameters['refreshLibrary'] = requestParameters.refreshLibrary; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Library/VirtualFolders`, + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Removes a virtual folder. + */ + async removeVirtualFolder(requestParameters: RemoveVirtualFolderRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.removeVirtualFolderRaw(requestParameters, initOverrides); + } + + /** + * Renames a virtual folder. + */ + async renameVirtualFolderRaw(requestParameters: RenameVirtualFolderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.name !== undefined) { + queryParameters['name'] = requestParameters.name; + } + + if (requestParameters.newName !== undefined) { + queryParameters['newName'] = requestParameters.newName; + } + + if (requestParameters.refreshLibrary !== undefined) { + queryParameters['refreshLibrary'] = requestParameters.refreshLibrary; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Library/VirtualFolders/Name`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Renames a virtual folder. + */ + async renameVirtualFolder(requestParameters: RenameVirtualFolderRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.renameVirtualFolderRaw(requestParameters, initOverrides); + } + + /** + * Update library options. + */ + async updateLibraryOptionsRaw(requestParameters: UpdateLibraryOptionsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Library/VirtualFolders/LibraryOptions`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: UpdateLibraryOptionsRequestToJSON(requestParameters.updateLibraryOptionsRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Update library options. + */ + async updateLibraryOptions(requestParameters: UpdateLibraryOptionsOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.updateLibraryOptionsRaw(requestParameters, initOverrides); + } + + /** + * Updates a media path. + */ + async updateMediaPathRaw(requestParameters: UpdateMediaPathOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.updateMediaPathRequest === null || requestParameters.updateMediaPathRequest === undefined) { + throw new runtime.RequiredError('updateMediaPathRequest','Required parameter requestParameters.updateMediaPathRequest was null or undefined when calling updateMediaPath.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Library/VirtualFolders/Paths/Update`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: UpdateMediaPathRequestToJSON(requestParameters.updateMediaPathRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Updates a media path. + */ + async updateMediaPath(requestParameters: UpdateMediaPathOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.updateMediaPathRaw(requestParameters, initOverrides); + } + +} diff --git a/server/jellyfin/apis/LiveTvApi.ts b/server/jellyfin/apis/LiveTvApi.ts new file mode 100644 index 0000000..56ae6b8 --- /dev/null +++ b/server/jellyfin/apis/LiveTvApi.ts @@ -0,0 +1,2137 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + AddListingProviderRequest, + AddTunerHostRequest, + BaseItemDto, + BaseItemDtoQueryResult, + ChannelMappingOptionsDto, + ChannelType, + CreateSeriesTimerRequest, + CreateTimerRequest, + GetProgramsRequest, + GuideInfo, + ImageType, + ItemFields, + ListingsProviderInfo, + LiveTvInfo, + NameIdPair, + ProblemDetails, + RecordingStatus, + SeriesTimerInfoDto, + SeriesTimerInfoDtoQueryResult, + SetChannelMappingRequest, + SortOrder, + TimerInfoDto, + TimerInfoDtoQueryResult, + TunerChannelMapping, + TunerHostInfo, +} from '../models'; +import { + AddListingProviderRequestFromJSON, + AddListingProviderRequestToJSON, + AddTunerHostRequestFromJSON, + AddTunerHostRequestToJSON, + BaseItemDtoFromJSON, + BaseItemDtoToJSON, + BaseItemDtoQueryResultFromJSON, + BaseItemDtoQueryResultToJSON, + ChannelMappingOptionsDtoFromJSON, + ChannelMappingOptionsDtoToJSON, + ChannelTypeFromJSON, + ChannelTypeToJSON, + CreateSeriesTimerRequestFromJSON, + CreateSeriesTimerRequestToJSON, + CreateTimerRequestFromJSON, + CreateTimerRequestToJSON, + GetProgramsRequestFromJSON, + GetProgramsRequestToJSON, + GuideInfoFromJSON, + GuideInfoToJSON, + ImageTypeFromJSON, + ImageTypeToJSON, + ItemFieldsFromJSON, + ItemFieldsToJSON, + ListingsProviderInfoFromJSON, + ListingsProviderInfoToJSON, + LiveTvInfoFromJSON, + LiveTvInfoToJSON, + NameIdPairFromJSON, + NameIdPairToJSON, + ProblemDetailsFromJSON, + ProblemDetailsToJSON, + RecordingStatusFromJSON, + RecordingStatusToJSON, + SeriesTimerInfoDtoFromJSON, + SeriesTimerInfoDtoToJSON, + SeriesTimerInfoDtoQueryResultFromJSON, + SeriesTimerInfoDtoQueryResultToJSON, + SetChannelMappingRequestFromJSON, + SetChannelMappingRequestToJSON, + SortOrderFromJSON, + SortOrderToJSON, + TimerInfoDtoFromJSON, + TimerInfoDtoToJSON, + TimerInfoDtoQueryResultFromJSON, + TimerInfoDtoQueryResultToJSON, + TunerChannelMappingFromJSON, + TunerChannelMappingToJSON, + TunerHostInfoFromJSON, + TunerHostInfoToJSON, +} from '../models'; + +export interface AddListingProviderOperationRequest { + pw?: string; + validateListings?: boolean; + validateLogin?: boolean; + addListingProviderRequest?: AddListingProviderRequest; +} + +export interface AddTunerHostOperationRequest { + addTunerHostRequest?: AddTunerHostRequest; +} + +export interface CancelSeriesTimerRequest { + timerId: string; +} + +export interface CancelTimerRequest { + timerId: string; +} + +export interface CreateSeriesTimerOperationRequest { + createSeriesTimerRequest?: CreateSeriesTimerRequest; +} + +export interface CreateTimerOperationRequest { + createTimerRequest?: CreateTimerRequest; +} + +export interface DeleteListingProviderRequest { + id?: string; +} + +export interface DeleteRecordingRequest { + recordingId: string; +} + +export interface DeleteTunerHostRequest { + id?: string; +} + +export interface DiscoverTunersRequest { + newDevicesOnly?: boolean; +} + +export interface DiscvoverTunersRequest { + newDevicesOnly?: boolean; +} + +export interface GetChannelRequest { + channelId: string; + userId?: string; +} + +export interface GetChannelMappingOptionsRequest { + providerId?: string; +} + +export interface GetDefaultTimerRequest { + programId?: string; +} + +export interface GetLineupsRequest { + id?: string; + type?: string; + location?: string; + country?: string; +} + +export interface GetLiveRecordingFileRequest { + recordingId: string; +} + +export interface GetLiveStreamFileRequest { + streamId: string; + container: string; +} + +export interface GetLiveTvChannelsRequest { + type?: ChannelType; + userId?: string; + startIndex?: number; + isMovie?: boolean; + isSeries?: boolean; + isNews?: boolean; + isKids?: boolean; + isSports?: boolean; + limit?: number; + isFavorite?: boolean; + isLiked?: boolean; + isDisliked?: boolean; + enableImages?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; + fields?: Array; + enableUserData?: boolean; + sortBy?: Array; + sortOrder?: SortOrder; + enableFavoriteSorting?: boolean; + addCurrentProgram?: boolean; +} + +export interface GetLiveTvProgramsRequest { + channelIds?: Array; + userId?: string; + minStartDate?: Date; + hasAired?: boolean; + isAiring?: boolean; + maxStartDate?: Date; + minEndDate?: Date; + maxEndDate?: Date; + isMovie?: boolean; + isSeries?: boolean; + isNews?: boolean; + isKids?: boolean; + isSports?: boolean; + startIndex?: number; + limit?: number; + sortBy?: Array; + sortOrder?: Array; + genres?: Array; + genreIds?: Array; + enableImages?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; + enableUserData?: boolean; + seriesTimerId?: string; + librarySeriesId?: string; + fields?: Array; + enableTotalRecordCount?: boolean; +} + +export interface GetProgramRequest { + programId: string; + userId?: string; +} + +export interface GetProgramsOperationRequest { + getProgramsRequest?: GetProgramsRequest; +} + +export interface GetRecommendedProgramsRequest { + userId?: string; + limit?: number; + isAiring?: boolean; + hasAired?: boolean; + isSeries?: boolean; + isMovie?: boolean; + isNews?: boolean; + isKids?: boolean; + isSports?: boolean; + enableImages?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; + genreIds?: Array; + fields?: Array; + enableUserData?: boolean; + enableTotalRecordCount?: boolean; +} + +export interface GetRecordingRequest { + recordingId: string; + userId?: string; +} + +export interface GetRecordingFoldersRequest { + userId?: string; +} + +export interface GetRecordingGroupRequest { + groupId: string; +} + +export interface GetRecordingGroupsRequest { + userId?: string; +} + +export interface GetRecordingsRequest { + channelId?: string; + userId?: string; + startIndex?: number; + limit?: number; + status?: RecordingStatus; + isInProgress?: boolean; + seriesTimerId?: string; + enableImages?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; + fields?: Array; + enableUserData?: boolean; + isMovie?: boolean; + isSeries?: boolean; + isKids?: boolean; + isSports?: boolean; + isNews?: boolean; + isLibraryItem?: boolean; + enableTotalRecordCount?: boolean; +} + +export interface GetRecordingsSeriesRequest { + channelId?: string; + userId?: string; + groupId?: string; + startIndex?: number; + limit?: number; + status?: RecordingStatus; + isInProgress?: boolean; + seriesTimerId?: string; + enableImages?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; + fields?: Array; + enableUserData?: boolean; + enableTotalRecordCount?: boolean; +} + +export interface GetSeriesTimerRequest { + timerId: string; +} + +export interface GetSeriesTimersRequest { + sortBy?: string; + sortOrder?: SortOrder; +} + +export interface GetTimerRequest { + timerId: string; +} + +export interface GetTimersRequest { + channelId?: string; + seriesTimerId?: string; + isActive?: boolean; + isScheduled?: boolean; +} + +export interface ResetTunerRequest { + tunerId: string; +} + +export interface SetChannelMappingOperationRequest { + setChannelMappingRequest: SetChannelMappingRequest; +} + +export interface UpdateSeriesTimerRequest { + timerId: string; + createSeriesTimerRequest?: CreateSeriesTimerRequest; +} + +export interface UpdateTimerRequest { + timerId: string; + createTimerRequest?: CreateTimerRequest; +} + +/** + * + */ +export class LiveTvApi extends runtime.BaseAPI { + + /** + * Adds a listings provider. + */ + async addListingProviderRaw(requestParameters: AddListingProviderOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.pw !== undefined) { + queryParameters['pw'] = requestParameters.pw; + } + + if (requestParameters.validateListings !== undefined) { + queryParameters['validateListings'] = requestParameters.validateListings; + } + + if (requestParameters.validateLogin !== undefined) { + queryParameters['validateLogin'] = requestParameters.validateLogin; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/ListingProviders`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: AddListingProviderRequestToJSON(requestParameters.addListingProviderRequest), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ListingsProviderInfoFromJSON(jsonValue)); + } + + /** + * Adds a listings provider. + */ + async addListingProvider(requestParameters: AddListingProviderOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.addListingProviderRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Adds a tuner host. + */ + async addTunerHostRaw(requestParameters: AddTunerHostOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/TunerHosts`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: AddTunerHostRequestToJSON(requestParameters.addTunerHostRequest), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => TunerHostInfoFromJSON(jsonValue)); + } + + /** + * Adds a tuner host. + */ + async addTunerHost(requestParameters: AddTunerHostOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.addTunerHostRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Cancels a live tv series timer. + */ + async cancelSeriesTimerRaw(requestParameters: CancelSeriesTimerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.timerId === null || requestParameters.timerId === undefined) { + throw new runtime.RequiredError('timerId','Required parameter requestParameters.timerId was null or undefined when calling cancelSeriesTimer.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/SeriesTimers/{timerId}`.replace(`{${"timerId"}}`, encodeURIComponent(String(requestParameters.timerId))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Cancels a live tv series timer. + */ + async cancelSeriesTimer(requestParameters: CancelSeriesTimerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.cancelSeriesTimerRaw(requestParameters, initOverrides); + } + + /** + * Cancels a live tv timer. + */ + async cancelTimerRaw(requestParameters: CancelTimerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.timerId === null || requestParameters.timerId === undefined) { + throw new runtime.RequiredError('timerId','Required parameter requestParameters.timerId was null or undefined when calling cancelTimer.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/Timers/{timerId}`.replace(`{${"timerId"}}`, encodeURIComponent(String(requestParameters.timerId))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Cancels a live tv timer. + */ + async cancelTimer(requestParameters: CancelTimerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.cancelTimerRaw(requestParameters, initOverrides); + } + + /** + * Creates a live tv series timer. + */ + async createSeriesTimerRaw(requestParameters: CreateSeriesTimerOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/SeriesTimers`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: CreateSeriesTimerRequestToJSON(requestParameters.createSeriesTimerRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Creates a live tv series timer. + */ + async createSeriesTimer(requestParameters: CreateSeriesTimerOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.createSeriesTimerRaw(requestParameters, initOverrides); + } + + /** + * Creates a live tv timer. + */ + async createTimerRaw(requestParameters: CreateTimerOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/Timers`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: CreateTimerRequestToJSON(requestParameters.createTimerRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Creates a live tv timer. + */ + async createTimer(requestParameters: CreateTimerOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.createTimerRaw(requestParameters, initOverrides); + } + + /** + * Delete listing provider. + */ + async deleteListingProviderRaw(requestParameters: DeleteListingProviderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.id !== undefined) { + queryParameters['id'] = requestParameters.id; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/ListingProviders`, + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Delete listing provider. + */ + async deleteListingProvider(requestParameters: DeleteListingProviderRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.deleteListingProviderRaw(requestParameters, initOverrides); + } + + /** + * Deletes a live tv recording. + */ + async deleteRecordingRaw(requestParameters: DeleteRecordingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.recordingId === null || requestParameters.recordingId === undefined) { + throw new runtime.RequiredError('recordingId','Required parameter requestParameters.recordingId was null or undefined when calling deleteRecording.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/Recordings/{recordingId}`.replace(`{${"recordingId"}}`, encodeURIComponent(String(requestParameters.recordingId))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Deletes a live tv recording. + */ + async deleteRecording(requestParameters: DeleteRecordingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.deleteRecordingRaw(requestParameters, initOverrides); + } + + /** + * Deletes a tuner host. + */ + async deleteTunerHostRaw(requestParameters: DeleteTunerHostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.id !== undefined) { + queryParameters['id'] = requestParameters.id; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/TunerHosts`, + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Deletes a tuner host. + */ + async deleteTunerHost(requestParameters: DeleteTunerHostRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.deleteTunerHostRaw(requestParameters, initOverrides); + } + + /** + * Discover tuners. + */ + async discoverTunersRaw(requestParameters: DiscoverTunersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + if (requestParameters.newDevicesOnly !== undefined) { + queryParameters['newDevicesOnly'] = requestParameters.newDevicesOnly; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/Tuners/Discover`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(TunerHostInfoFromJSON)); + } + + /** + * Discover tuners. + */ + async discoverTuners(requestParameters: DiscoverTunersRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.discoverTunersRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Discover tuners. + */ + async discvoverTunersRaw(requestParameters: DiscvoverTunersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + if (requestParameters.newDevicesOnly !== undefined) { + queryParameters['newDevicesOnly'] = requestParameters.newDevicesOnly; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/Tuners/Discvover`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(TunerHostInfoFromJSON)); + } + + /** + * Discover tuners. + */ + async discvoverTuners(requestParameters: DiscvoverTunersRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.discvoverTunersRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a live tv channel. + */ + async getChannelRaw(requestParameters: GetChannelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.channelId === null || requestParameters.channelId === undefined) { + throw new runtime.RequiredError('channelId','Required parameter requestParameters.channelId was null or undefined when calling getChannel.'); + } + + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/Channels/{channelId}`.replace(`{${"channelId"}}`, encodeURIComponent(String(requestParameters.channelId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoFromJSON(jsonValue)); + } + + /** + * Gets a live tv channel. + */ + async getChannel(requestParameters: GetChannelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getChannelRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get channel mapping options. + */ + async getChannelMappingOptionsRaw(requestParameters: GetChannelMappingOptionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.providerId !== undefined) { + queryParameters['providerId'] = requestParameters.providerId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/ChannelMappingOptions`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ChannelMappingOptionsDtoFromJSON(jsonValue)); + } + + /** + * Get channel mapping options. + */ + async getChannelMappingOptions(requestParameters: GetChannelMappingOptionsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getChannelMappingOptionsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets default listings provider info. + */ + async getDefaultListingProviderRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/ListingProviders/Default`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ListingsProviderInfoFromJSON(jsonValue)); + } + + /** + * Gets default listings provider info. + */ + async getDefaultListingProvider(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getDefaultListingProviderRaw(initOverrides); + return await response.value(); + } + + /** + * Gets the default values for a new timer. + */ + async getDefaultTimerRaw(requestParameters: GetDefaultTimerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.programId !== undefined) { + queryParameters['programId'] = requestParameters.programId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/Timers/Defaults`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SeriesTimerInfoDtoFromJSON(jsonValue)); + } + + /** + * Gets the default values for a new timer. + */ + async getDefaultTimer(requestParameters: GetDefaultTimerRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getDefaultTimerRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get guid info. + */ + async getGuideInfoRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/GuideInfo`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => GuideInfoFromJSON(jsonValue)); + } + + /** + * Get guid info. + */ + async getGuideInfo(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getGuideInfoRaw(initOverrides); + return await response.value(); + } + + /** + * Gets available lineups. + */ + async getLineupsRaw(requestParameters: GetLineupsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + if (requestParameters.id !== undefined) { + queryParameters['id'] = requestParameters.id; + } + + if (requestParameters.type !== undefined) { + queryParameters['type'] = requestParameters.type; + } + + if (requestParameters.location !== undefined) { + queryParameters['location'] = requestParameters.location; + } + + if (requestParameters.country !== undefined) { + queryParameters['country'] = requestParameters.country; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/ListingProviders/Lineups`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(NameIdPairFromJSON)); + } + + /** + * Gets available lineups. + */ + async getLineups(requestParameters: GetLineupsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getLineupsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a live tv recording stream. + */ + async getLiveRecordingFileRaw(requestParameters: GetLiveRecordingFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.recordingId === null || requestParameters.recordingId === undefined) { + throw new runtime.RequiredError('recordingId','Required parameter requestParameters.recordingId was null or undefined when calling getLiveRecordingFile.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/LiveTv/LiveRecordings/{recordingId}/stream`.replace(`{${"recordingId"}}`, encodeURIComponent(String(requestParameters.recordingId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets a live tv recording stream. + */ + async getLiveRecordingFile(requestParameters: GetLiveRecordingFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getLiveRecordingFileRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a live tv channel stream. + */ + async getLiveStreamFileRaw(requestParameters: GetLiveStreamFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.streamId === null || requestParameters.streamId === undefined) { + throw new runtime.RequiredError('streamId','Required parameter requestParameters.streamId was null or undefined when calling getLiveStreamFile.'); + } + + if (requestParameters.container === null || requestParameters.container === undefined) { + throw new runtime.RequiredError('container','Required parameter requestParameters.container was null or undefined when calling getLiveStreamFile.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/LiveTv/LiveStreamFiles/{streamId}/stream.{container}`.replace(`{${"streamId"}}`, encodeURIComponent(String(requestParameters.streamId))).replace(`{${"container"}}`, encodeURIComponent(String(requestParameters.container))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets a live tv channel stream. + */ + async getLiveStreamFile(requestParameters: GetLiveStreamFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getLiveStreamFileRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets available live tv channels. + */ + async getLiveTvChannelsRaw(requestParameters: GetLiveTvChannelsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.type !== undefined) { + queryParameters['type'] = requestParameters.type; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.startIndex !== undefined) { + queryParameters['startIndex'] = requestParameters.startIndex; + } + + if (requestParameters.isMovie !== undefined) { + queryParameters['isMovie'] = requestParameters.isMovie; + } + + if (requestParameters.isSeries !== undefined) { + queryParameters['isSeries'] = requestParameters.isSeries; + } + + if (requestParameters.isNews !== undefined) { + queryParameters['isNews'] = requestParameters.isNews; + } + + if (requestParameters.isKids !== undefined) { + queryParameters['isKids'] = requestParameters.isKids; + } + + if (requestParameters.isSports !== undefined) { + queryParameters['isSports'] = requestParameters.isSports; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.isFavorite !== undefined) { + queryParameters['isFavorite'] = requestParameters.isFavorite; + } + + if (requestParameters.isLiked !== undefined) { + queryParameters['isLiked'] = requestParameters.isLiked; + } + + if (requestParameters.isDisliked !== undefined) { + queryParameters['isDisliked'] = requestParameters.isDisliked; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + if (requestParameters.sortBy) { + queryParameters['sortBy'] = requestParameters.sortBy; + } + + if (requestParameters.sortOrder !== undefined) { + queryParameters['sortOrder'] = requestParameters.sortOrder; + } + + if (requestParameters.enableFavoriteSorting !== undefined) { + queryParameters['enableFavoriteSorting'] = requestParameters.enableFavoriteSorting; + } + + if (requestParameters.addCurrentProgram !== undefined) { + queryParameters['addCurrentProgram'] = requestParameters.addCurrentProgram; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/Channels`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets available live tv channels. + */ + async getLiveTvChannels(requestParameters: GetLiveTvChannelsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getLiveTvChannelsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets available live tv services. + */ + async getLiveTvInfoRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/Info`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => LiveTvInfoFromJSON(jsonValue)); + } + + /** + * Gets available live tv services. + */ + async getLiveTvInfo(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getLiveTvInfoRaw(initOverrides); + return await response.value(); + } + + /** + * Gets available live tv epgs. + */ + async getLiveTvProgramsRaw(requestParameters: GetLiveTvProgramsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.channelIds) { + queryParameters['channelIds'] = requestParameters.channelIds; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.minStartDate !== undefined) { + queryParameters['minStartDate'] = (requestParameters.minStartDate as any).toISOString(); + } + + if (requestParameters.hasAired !== undefined) { + queryParameters['hasAired'] = requestParameters.hasAired; + } + + if (requestParameters.isAiring !== undefined) { + queryParameters['isAiring'] = requestParameters.isAiring; + } + + if (requestParameters.maxStartDate !== undefined) { + queryParameters['maxStartDate'] = (requestParameters.maxStartDate as any).toISOString(); + } + + if (requestParameters.minEndDate !== undefined) { + queryParameters['minEndDate'] = (requestParameters.minEndDate as any).toISOString(); + } + + if (requestParameters.maxEndDate !== undefined) { + queryParameters['maxEndDate'] = (requestParameters.maxEndDate as any).toISOString(); + } + + if (requestParameters.isMovie !== undefined) { + queryParameters['isMovie'] = requestParameters.isMovie; + } + + if (requestParameters.isSeries !== undefined) { + queryParameters['isSeries'] = requestParameters.isSeries; + } + + if (requestParameters.isNews !== undefined) { + queryParameters['isNews'] = requestParameters.isNews; + } + + if (requestParameters.isKids !== undefined) { + queryParameters['isKids'] = requestParameters.isKids; + } + + if (requestParameters.isSports !== undefined) { + queryParameters['isSports'] = requestParameters.isSports; + } + + if (requestParameters.startIndex !== undefined) { + queryParameters['startIndex'] = requestParameters.startIndex; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.sortBy) { + queryParameters['sortBy'] = requestParameters.sortBy; + } + + if (requestParameters.sortOrder) { + queryParameters['sortOrder'] = requestParameters.sortOrder; + } + + if (requestParameters.genres) { + queryParameters['genres'] = requestParameters.genres; + } + + if (requestParameters.genreIds) { + queryParameters['genreIds'] = requestParameters.genreIds; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + if (requestParameters.seriesTimerId !== undefined) { + queryParameters['seriesTimerId'] = requestParameters.seriesTimerId; + } + + if (requestParameters.librarySeriesId !== undefined) { + queryParameters['librarySeriesId'] = requestParameters.librarySeriesId; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.enableTotalRecordCount !== undefined) { + queryParameters['enableTotalRecordCount'] = requestParameters.enableTotalRecordCount; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/Programs`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets available live tv epgs. + */ + async getLiveTvPrograms(requestParameters: GetLiveTvProgramsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getLiveTvProgramsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a live tv program. + */ + async getProgramRaw(requestParameters: GetProgramRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.programId === null || requestParameters.programId === undefined) { + throw new runtime.RequiredError('programId','Required parameter requestParameters.programId was null or undefined when calling getProgram.'); + } + + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/Programs/{programId}`.replace(`{${"programId"}}`, encodeURIComponent(String(requestParameters.programId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoFromJSON(jsonValue)); + } + + /** + * Gets a live tv program. + */ + async getProgram(requestParameters: GetProgramRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getProgramRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets available live tv epgs. + */ + async getProgramsRaw(requestParameters: GetProgramsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/Programs`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: GetProgramsRequestToJSON(requestParameters.getProgramsRequest), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets available live tv epgs. + */ + async getPrograms(requestParameters: GetProgramsOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getProgramsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets recommended live tv epgs. + */ + async getRecommendedProgramsRaw(requestParameters: GetRecommendedProgramsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.isAiring !== undefined) { + queryParameters['isAiring'] = requestParameters.isAiring; + } + + if (requestParameters.hasAired !== undefined) { + queryParameters['hasAired'] = requestParameters.hasAired; + } + + if (requestParameters.isSeries !== undefined) { + queryParameters['isSeries'] = requestParameters.isSeries; + } + + if (requestParameters.isMovie !== undefined) { + queryParameters['isMovie'] = requestParameters.isMovie; + } + + if (requestParameters.isNews !== undefined) { + queryParameters['isNews'] = requestParameters.isNews; + } + + if (requestParameters.isKids !== undefined) { + queryParameters['isKids'] = requestParameters.isKids; + } + + if (requestParameters.isSports !== undefined) { + queryParameters['isSports'] = requestParameters.isSports; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + if (requestParameters.genreIds) { + queryParameters['genreIds'] = requestParameters.genreIds; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + if (requestParameters.enableTotalRecordCount !== undefined) { + queryParameters['enableTotalRecordCount'] = requestParameters.enableTotalRecordCount; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/Programs/Recommended`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets recommended live tv epgs. + */ + async getRecommendedPrograms(requestParameters: GetRecommendedProgramsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getRecommendedProgramsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a live tv recording. + */ + async getRecordingRaw(requestParameters: GetRecordingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.recordingId === null || requestParameters.recordingId === undefined) { + throw new runtime.RequiredError('recordingId','Required parameter requestParameters.recordingId was null or undefined when calling getRecording.'); + } + + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/Recordings/{recordingId}`.replace(`{${"recordingId"}}`, encodeURIComponent(String(requestParameters.recordingId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoFromJSON(jsonValue)); + } + + /** + * Gets a live tv recording. + */ + async getRecording(requestParameters: GetRecordingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getRecordingRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets recording folders. + */ + async getRecordingFoldersRaw(requestParameters: GetRecordingFoldersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/Recordings/Folders`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets recording folders. + */ + async getRecordingFolders(requestParameters: GetRecordingFoldersRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getRecordingFoldersRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get recording group. + */ + async getRecordingGroupRaw(requestParameters: GetRecordingGroupRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.groupId === null || requestParameters.groupId === undefined) { + throw new runtime.RequiredError('groupId','Required parameter requestParameters.groupId was null or undefined when calling getRecordingGroup.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/Recordings/Groups/{groupId}`.replace(`{${"groupId"}}`, encodeURIComponent(String(requestParameters.groupId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Get recording group. + */ + async getRecordingGroup(requestParameters: GetRecordingGroupRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.getRecordingGroupRaw(requestParameters, initOverrides); + } + + /** + * Gets live tv recording groups. + */ + async getRecordingGroupsRaw(requestParameters: GetRecordingGroupsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/Recordings/Groups`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets live tv recording groups. + */ + async getRecordingGroups(requestParameters: GetRecordingGroupsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getRecordingGroupsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets live tv recordings. + */ + async getRecordingsRaw(requestParameters: GetRecordingsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.channelId !== undefined) { + queryParameters['channelId'] = requestParameters.channelId; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.startIndex !== undefined) { + queryParameters['startIndex'] = requestParameters.startIndex; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.status !== undefined) { + queryParameters['status'] = requestParameters.status; + } + + if (requestParameters.isInProgress !== undefined) { + queryParameters['isInProgress'] = requestParameters.isInProgress; + } + + if (requestParameters.seriesTimerId !== undefined) { + queryParameters['seriesTimerId'] = requestParameters.seriesTimerId; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + if (requestParameters.isMovie !== undefined) { + queryParameters['isMovie'] = requestParameters.isMovie; + } + + if (requestParameters.isSeries !== undefined) { + queryParameters['isSeries'] = requestParameters.isSeries; + } + + if (requestParameters.isKids !== undefined) { + queryParameters['isKids'] = requestParameters.isKids; + } + + if (requestParameters.isSports !== undefined) { + queryParameters['isSports'] = requestParameters.isSports; + } + + if (requestParameters.isNews !== undefined) { + queryParameters['isNews'] = requestParameters.isNews; + } + + if (requestParameters.isLibraryItem !== undefined) { + queryParameters['isLibraryItem'] = requestParameters.isLibraryItem; + } + + if (requestParameters.enableTotalRecordCount !== undefined) { + queryParameters['enableTotalRecordCount'] = requestParameters.enableTotalRecordCount; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/Recordings`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets live tv recordings. + */ + async getRecordings(requestParameters: GetRecordingsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getRecordingsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets live tv recording series. + */ + async getRecordingsSeriesRaw(requestParameters: GetRecordingsSeriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.channelId !== undefined) { + queryParameters['channelId'] = requestParameters.channelId; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.groupId !== undefined) { + queryParameters['groupId'] = requestParameters.groupId; + } + + if (requestParameters.startIndex !== undefined) { + queryParameters['startIndex'] = requestParameters.startIndex; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.status !== undefined) { + queryParameters['status'] = requestParameters.status; + } + + if (requestParameters.isInProgress !== undefined) { + queryParameters['isInProgress'] = requestParameters.isInProgress; + } + + if (requestParameters.seriesTimerId !== undefined) { + queryParameters['seriesTimerId'] = requestParameters.seriesTimerId; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + if (requestParameters.enableTotalRecordCount !== undefined) { + queryParameters['enableTotalRecordCount'] = requestParameters.enableTotalRecordCount; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/Recordings/Series`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets live tv recording series. + */ + async getRecordingsSeries(requestParameters: GetRecordingsSeriesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getRecordingsSeriesRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets available countries. + */ + async getSchedulesDirectCountriesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/ListingProviders/SchedulesDirect/Countries`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets available countries. + */ + async getSchedulesDirectCountries(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getSchedulesDirectCountriesRaw(initOverrides); + return await response.value(); + } + + /** + * Gets a live tv series timer. + */ + async getSeriesTimerRaw(requestParameters: GetSeriesTimerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.timerId === null || requestParameters.timerId === undefined) { + throw new runtime.RequiredError('timerId','Required parameter requestParameters.timerId was null or undefined when calling getSeriesTimer.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/SeriesTimers/{timerId}`.replace(`{${"timerId"}}`, encodeURIComponent(String(requestParameters.timerId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SeriesTimerInfoDtoFromJSON(jsonValue)); + } + + /** + * Gets a live tv series timer. + */ + async getSeriesTimer(requestParameters: GetSeriesTimerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getSeriesTimerRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets live tv series timers. + */ + async getSeriesTimersRaw(requestParameters: GetSeriesTimersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.sortBy !== undefined) { + queryParameters['sortBy'] = requestParameters.sortBy; + } + + if (requestParameters.sortOrder !== undefined) { + queryParameters['sortOrder'] = requestParameters.sortOrder; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/SeriesTimers`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SeriesTimerInfoDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets live tv series timers. + */ + async getSeriesTimers(requestParameters: GetSeriesTimersRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getSeriesTimersRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a timer. + */ + async getTimerRaw(requestParameters: GetTimerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.timerId === null || requestParameters.timerId === undefined) { + throw new runtime.RequiredError('timerId','Required parameter requestParameters.timerId was null or undefined when calling getTimer.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/Timers/{timerId}`.replace(`{${"timerId"}}`, encodeURIComponent(String(requestParameters.timerId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => TimerInfoDtoFromJSON(jsonValue)); + } + + /** + * Gets a timer. + */ + async getTimer(requestParameters: GetTimerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getTimerRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets the live tv timers. + */ + async getTimersRaw(requestParameters: GetTimersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.channelId !== undefined) { + queryParameters['channelId'] = requestParameters.channelId; + } + + if (requestParameters.seriesTimerId !== undefined) { + queryParameters['seriesTimerId'] = requestParameters.seriesTimerId; + } + + if (requestParameters.isActive !== undefined) { + queryParameters['isActive'] = requestParameters.isActive; + } + + if (requestParameters.isScheduled !== undefined) { + queryParameters['isScheduled'] = requestParameters.isScheduled; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/Timers`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => TimerInfoDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets the live tv timers. + */ + async getTimers(requestParameters: GetTimersRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getTimersRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get tuner host types. + */ + async getTunerHostTypesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/TunerHosts/Types`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(NameIdPairFromJSON)); + } + + /** + * Get tuner host types. + */ + async getTunerHostTypes(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getTunerHostTypesRaw(initOverrides); + return await response.value(); + } + + /** + * Resets a tv tuner. + */ + async resetTunerRaw(requestParameters: ResetTunerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.tunerId === null || requestParameters.tunerId === undefined) { + throw new runtime.RequiredError('tunerId','Required parameter requestParameters.tunerId was null or undefined when calling resetTuner.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/Tuners/{tunerId}/Reset`.replace(`{${"tunerId"}}`, encodeURIComponent(String(requestParameters.tunerId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Resets a tv tuner. + */ + async resetTuner(requestParameters: ResetTunerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.resetTunerRaw(requestParameters, initOverrides); + } + + /** + * Set channel mappings. + */ + async setChannelMappingRaw(requestParameters: SetChannelMappingOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.setChannelMappingRequest === null || requestParameters.setChannelMappingRequest === undefined) { + throw new runtime.RequiredError('setChannelMappingRequest','Required parameter requestParameters.setChannelMappingRequest was null or undefined when calling setChannelMapping.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/ChannelMappings`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SetChannelMappingRequestToJSON(requestParameters.setChannelMappingRequest), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => TunerChannelMappingFromJSON(jsonValue)); + } + + /** + * Set channel mappings. + */ + async setChannelMapping(requestParameters: SetChannelMappingOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.setChannelMappingRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Updates a live tv series timer. + */ + async updateSeriesTimerRaw(requestParameters: UpdateSeriesTimerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.timerId === null || requestParameters.timerId === undefined) { + throw new runtime.RequiredError('timerId','Required parameter requestParameters.timerId was null or undefined when calling updateSeriesTimer.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/SeriesTimers/{timerId}`.replace(`{${"timerId"}}`, encodeURIComponent(String(requestParameters.timerId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: CreateSeriesTimerRequestToJSON(requestParameters.createSeriesTimerRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Updates a live tv series timer. + */ + async updateSeriesTimer(requestParameters: UpdateSeriesTimerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.updateSeriesTimerRaw(requestParameters, initOverrides); + } + + /** + * Updates a live tv timer. + */ + async updateTimerRaw(requestParameters: UpdateTimerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.timerId === null || requestParameters.timerId === undefined) { + throw new runtime.RequiredError('timerId','Required parameter requestParameters.timerId was null or undefined when calling updateTimer.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveTv/Timers/{timerId}`.replace(`{${"timerId"}}`, encodeURIComponent(String(requestParameters.timerId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: CreateTimerRequestToJSON(requestParameters.createTimerRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Updates a live tv timer. + */ + async updateTimer(requestParameters: UpdateTimerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.updateTimerRaw(requestParameters, initOverrides); + } + +} diff --git a/server/jellyfin/apis/LocalizationApi.ts b/server/jellyfin/apis/LocalizationApi.ts new file mode 100644 index 0000000..cb6200d --- /dev/null +++ b/server/jellyfin/apis/LocalizationApi.ts @@ -0,0 +1,159 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + CountryInfo, + CultureDto, + LocalizationOption, + ParentalRating, +} from '../models'; +import { + CountryInfoFromJSON, + CountryInfoToJSON, + CultureDtoFromJSON, + CultureDtoToJSON, + LocalizationOptionFromJSON, + LocalizationOptionToJSON, + ParentalRatingFromJSON, + ParentalRatingToJSON, +} from '../models'; + +/** + * + */ +export class LocalizationApi extends runtime.BaseAPI { + + /** + * Gets known countries. + */ + async getCountriesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Localization/Countries`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(CountryInfoFromJSON)); + } + + /** + * Gets known countries. + */ + async getCountries(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getCountriesRaw(initOverrides); + return await response.value(); + } + + /** + * Gets known cultures. + */ + async getCulturesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Localization/Cultures`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(CultureDtoFromJSON)); + } + + /** + * Gets known cultures. + */ + async getCultures(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getCulturesRaw(initOverrides); + return await response.value(); + } + + /** + * Gets localization options. + */ + async getLocalizationOptionsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Localization/Options`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(LocalizationOptionFromJSON)); + } + + /** + * Gets localization options. + */ + async getLocalizationOptions(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getLocalizationOptionsRaw(initOverrides); + return await response.value(); + } + + /** + * Gets known parental ratings. + */ + async getParentalRatingsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Localization/ParentalRatings`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ParentalRatingFromJSON)); + } + + /** + * Gets known parental ratings. + */ + async getParentalRatings(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getParentalRatingsRaw(initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/MediaInfoApi.ts b/server/jellyfin/apis/MediaInfoApi.ts new file mode 100644 index 0000000..3e8ce74 --- /dev/null +++ b/server/jellyfin/apis/MediaInfoApi.ts @@ -0,0 +1,371 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + GetPostedPlaybackInfoRequest, + LiveStreamResponse, + OpenLiveStreamRequest, + PlaybackInfoResponse, +} from '../models'; +import { + GetPostedPlaybackInfoRequestFromJSON, + GetPostedPlaybackInfoRequestToJSON, + LiveStreamResponseFromJSON, + LiveStreamResponseToJSON, + OpenLiveStreamRequestFromJSON, + OpenLiveStreamRequestToJSON, + PlaybackInfoResponseFromJSON, + PlaybackInfoResponseToJSON, +} from '../models'; + +export interface CloseLiveStreamRequest { + liveStreamId: string; +} + +export interface GetBitrateTestBytesRequest { + size?: number; +} + +export interface GetPlaybackInfoRequest { + itemId: string; + userId: string; +} + +export interface GetPostedPlaybackInfoOperationRequest { + itemId: string; + userId?: string; + maxStreamingBitrate?: number; + startTimeTicks?: number; + audioStreamIndex?: number; + subtitleStreamIndex?: number; + maxAudioChannels?: number; + mediaSourceId?: string; + liveStreamId?: string; + autoOpenLiveStream?: boolean; + enableDirectPlay?: boolean; + enableDirectStream?: boolean; + enableTranscoding?: boolean; + allowVideoStreamCopy?: boolean; + allowAudioStreamCopy?: boolean; + getPostedPlaybackInfoRequest?: GetPostedPlaybackInfoRequest; +} + +export interface OpenLiveStreamOperationRequest { + openToken?: string; + userId?: string; + playSessionId?: string; + maxStreamingBitrate?: number; + startTimeTicks?: number; + audioStreamIndex?: number; + subtitleStreamIndex?: number; + maxAudioChannels?: number; + itemId?: string; + enableDirectPlay?: boolean; + enableDirectStream?: boolean; + openLiveStreamRequest?: OpenLiveStreamRequest; +} + +/** + * + */ +export class MediaInfoApi extends runtime.BaseAPI { + + /** + * Closes a media source. + */ + async closeLiveStreamRaw(requestParameters: CloseLiveStreamRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.liveStreamId === null || requestParameters.liveStreamId === undefined) { + throw new runtime.RequiredError('liveStreamId','Required parameter requestParameters.liveStreamId was null or undefined when calling closeLiveStream.'); + } + + const queryParameters: any = {}; + + if (requestParameters.liveStreamId !== undefined) { + queryParameters['liveStreamId'] = requestParameters.liveStreamId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveStreams/Close`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Closes a media source. + */ + async closeLiveStream(requestParameters: CloseLiveStreamRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.closeLiveStreamRaw(requestParameters, initOverrides); + } + + /** + * Tests the network with a request with the size of the bitrate. + */ + async getBitrateTestBytesRaw(requestParameters: GetBitrateTestBytesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.size !== undefined) { + queryParameters['size'] = requestParameters.size; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Playback/BitrateTest`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Tests the network with a request with the size of the bitrate. + */ + async getBitrateTestBytes(requestParameters: GetBitrateTestBytesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getBitrateTestBytesRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets live playback media info for an item. + */ + async getPlaybackInfoRaw(requestParameters: GetPlaybackInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getPlaybackInfo.'); + } + + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling getPlaybackInfo.'); + } + + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{itemId}/PlaybackInfo`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PlaybackInfoResponseFromJSON(jsonValue)); + } + + /** + * Gets live playback media info for an item. + */ + async getPlaybackInfo(requestParameters: GetPlaybackInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getPlaybackInfoRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * For backwards compatibility parameters can be sent via Query or Body, with Query having higher precedence. Query parameters are obsolete. + * Gets live playback media info for an item. + */ + async getPostedPlaybackInfoRaw(requestParameters: GetPostedPlaybackInfoOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getPostedPlaybackInfo.'); + } + + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.maxStreamingBitrate !== undefined) { + queryParameters['maxStreamingBitrate'] = requestParameters.maxStreamingBitrate; + } + + if (requestParameters.startTimeTicks !== undefined) { + queryParameters['startTimeTicks'] = requestParameters.startTimeTicks; + } + + if (requestParameters.audioStreamIndex !== undefined) { + queryParameters['audioStreamIndex'] = requestParameters.audioStreamIndex; + } + + if (requestParameters.subtitleStreamIndex !== undefined) { + queryParameters['subtitleStreamIndex'] = requestParameters.subtitleStreamIndex; + } + + if (requestParameters.maxAudioChannels !== undefined) { + queryParameters['maxAudioChannels'] = requestParameters.maxAudioChannels; + } + + if (requestParameters.mediaSourceId !== undefined) { + queryParameters['mediaSourceId'] = requestParameters.mediaSourceId; + } + + if (requestParameters.liveStreamId !== undefined) { + queryParameters['liveStreamId'] = requestParameters.liveStreamId; + } + + if (requestParameters.autoOpenLiveStream !== undefined) { + queryParameters['autoOpenLiveStream'] = requestParameters.autoOpenLiveStream; + } + + if (requestParameters.enableDirectPlay !== undefined) { + queryParameters['enableDirectPlay'] = requestParameters.enableDirectPlay; + } + + if (requestParameters.enableDirectStream !== undefined) { + queryParameters['enableDirectStream'] = requestParameters.enableDirectStream; + } + + if (requestParameters.enableTranscoding !== undefined) { + queryParameters['enableTranscoding'] = requestParameters.enableTranscoding; + } + + if (requestParameters.allowVideoStreamCopy !== undefined) { + queryParameters['allowVideoStreamCopy'] = requestParameters.allowVideoStreamCopy; + } + + if (requestParameters.allowAudioStreamCopy !== undefined) { + queryParameters['allowAudioStreamCopy'] = requestParameters.allowAudioStreamCopy; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{itemId}/PlaybackInfo`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: GetPostedPlaybackInfoRequestToJSON(requestParameters.getPostedPlaybackInfoRequest), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PlaybackInfoResponseFromJSON(jsonValue)); + } + + /** + * For backwards compatibility parameters can be sent via Query or Body, with Query having higher precedence. Query parameters are obsolete. + * Gets live playback media info for an item. + */ + async getPostedPlaybackInfo(requestParameters: GetPostedPlaybackInfoOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getPostedPlaybackInfoRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Opens a media source. + */ + async openLiveStreamRaw(requestParameters: OpenLiveStreamOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.openToken !== undefined) { + queryParameters['openToken'] = requestParameters.openToken; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.playSessionId !== undefined) { + queryParameters['playSessionId'] = requestParameters.playSessionId; + } + + if (requestParameters.maxStreamingBitrate !== undefined) { + queryParameters['maxStreamingBitrate'] = requestParameters.maxStreamingBitrate; + } + + if (requestParameters.startTimeTicks !== undefined) { + queryParameters['startTimeTicks'] = requestParameters.startTimeTicks; + } + + if (requestParameters.audioStreamIndex !== undefined) { + queryParameters['audioStreamIndex'] = requestParameters.audioStreamIndex; + } + + if (requestParameters.subtitleStreamIndex !== undefined) { + queryParameters['subtitleStreamIndex'] = requestParameters.subtitleStreamIndex; + } + + if (requestParameters.maxAudioChannels !== undefined) { + queryParameters['maxAudioChannels'] = requestParameters.maxAudioChannels; + } + + if (requestParameters.itemId !== undefined) { + queryParameters['itemId'] = requestParameters.itemId; + } + + if (requestParameters.enableDirectPlay !== undefined) { + queryParameters['enableDirectPlay'] = requestParameters.enableDirectPlay; + } + + if (requestParameters.enableDirectStream !== undefined) { + queryParameters['enableDirectStream'] = requestParameters.enableDirectStream; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/LiveStreams/Open`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: OpenLiveStreamRequestToJSON(requestParameters.openLiveStreamRequest), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => LiveStreamResponseFromJSON(jsonValue)); + } + + /** + * Opens a media source. + */ + async openLiveStream(requestParameters: OpenLiveStreamOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.openLiveStreamRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/MoviesApi.ts b/server/jellyfin/apis/MoviesApi.ts new file mode 100644 index 0000000..47da55e --- /dev/null +++ b/server/jellyfin/apis/MoviesApi.ts @@ -0,0 +1,91 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + ItemFields, + RecommendationDto, +} from '../models'; +import { + ItemFieldsFromJSON, + ItemFieldsToJSON, + RecommendationDtoFromJSON, + RecommendationDtoToJSON, +} from '../models'; + +export interface GetMovieRecommendationsRequest { + userId?: string; + parentId?: string; + fields?: Array; + categoryLimit?: number; + itemLimit?: number; +} + +/** + * + */ +export class MoviesApi extends runtime.BaseAPI { + + /** + * Gets movie recommendations. + */ + async getMovieRecommendationsRaw(requestParameters: GetMovieRecommendationsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.parentId !== undefined) { + queryParameters['parentId'] = requestParameters.parentId; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.categoryLimit !== undefined) { + queryParameters['categoryLimit'] = requestParameters.categoryLimit; + } + + if (requestParameters.itemLimit !== undefined) { + queryParameters['itemLimit'] = requestParameters.itemLimit; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Movies/Recommendations`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(RecommendationDtoFromJSON)); + } + + /** + * Gets movie recommendations. + */ + async getMovieRecommendations(requestParameters: GetMovieRecommendationsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getMovieRecommendationsRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/MusicGenresApi.ts b/server/jellyfin/apis/MusicGenresApi.ts new file mode 100644 index 0000000..63fabed --- /dev/null +++ b/server/jellyfin/apis/MusicGenresApi.ts @@ -0,0 +1,211 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + BaseItemDto, + BaseItemDtoQueryResult, + BaseItemKind, + ImageType, + ItemFields, + SortOrder, +} from '../models'; +import { + BaseItemDtoFromJSON, + BaseItemDtoToJSON, + BaseItemDtoQueryResultFromJSON, + BaseItemDtoQueryResultToJSON, + BaseItemKindFromJSON, + BaseItemKindToJSON, + ImageTypeFromJSON, + ImageTypeToJSON, + ItemFieldsFromJSON, + ItemFieldsToJSON, + SortOrderFromJSON, + SortOrderToJSON, +} from '../models'; + +export interface GetMusicGenreRequest { + genreName: string; + userId?: string; +} + +export interface GetMusicGenresRequest { + startIndex?: number; + limit?: number; + searchTerm?: string; + parentId?: string; + fields?: Array; + excludeItemTypes?: Array; + includeItemTypes?: Array; + isFavorite?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; + userId?: string; + nameStartsWithOrGreater?: string; + nameStartsWith?: string; + nameLessThan?: string; + sortBy?: Array; + sortOrder?: Array; + enableImages?: boolean; + enableTotalRecordCount?: boolean; +} + +/** + * + */ +export class MusicGenresApi extends runtime.BaseAPI { + + /** + * Gets a music genre, by name. + */ + async getMusicGenreRaw(requestParameters: GetMusicGenreRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.genreName === null || requestParameters.genreName === undefined) { + throw new runtime.RequiredError('genreName','Required parameter requestParameters.genreName was null or undefined when calling getMusicGenre.'); + } + + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/MusicGenres/{genreName}`.replace(`{${"genreName"}}`, encodeURIComponent(String(requestParameters.genreName))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoFromJSON(jsonValue)); + } + + /** + * Gets a music genre, by name. + */ + async getMusicGenre(requestParameters: GetMusicGenreRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getMusicGenreRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets all music genres from a given item, folder, or the entire library. + */ + async getMusicGenresRaw(requestParameters: GetMusicGenresRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.startIndex !== undefined) { + queryParameters['startIndex'] = requestParameters.startIndex; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.searchTerm !== undefined) { + queryParameters['searchTerm'] = requestParameters.searchTerm; + } + + if (requestParameters.parentId !== undefined) { + queryParameters['parentId'] = requestParameters.parentId; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.excludeItemTypes) { + queryParameters['excludeItemTypes'] = requestParameters.excludeItemTypes; + } + + if (requestParameters.includeItemTypes) { + queryParameters['includeItemTypes'] = requestParameters.includeItemTypes; + } + + if (requestParameters.isFavorite !== undefined) { + queryParameters['isFavorite'] = requestParameters.isFavorite; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.nameStartsWithOrGreater !== undefined) { + queryParameters['nameStartsWithOrGreater'] = requestParameters.nameStartsWithOrGreater; + } + + if (requestParameters.nameStartsWith !== undefined) { + queryParameters['nameStartsWith'] = requestParameters.nameStartsWith; + } + + if (requestParameters.nameLessThan !== undefined) { + queryParameters['nameLessThan'] = requestParameters.nameLessThan; + } + + if (requestParameters.sortBy) { + queryParameters['sortBy'] = requestParameters.sortBy; + } + + if (requestParameters.sortOrder) { + queryParameters['sortOrder'] = requestParameters.sortOrder; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + if (requestParameters.enableTotalRecordCount !== undefined) { + queryParameters['enableTotalRecordCount'] = requestParameters.enableTotalRecordCount; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/MusicGenres`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets all music genres from a given item, folder, or the entire library. + */ + async getMusicGenres(requestParameters: GetMusicGenresRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getMusicGenresRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/NotificationsApi.ts b/server/jellyfin/apis/NotificationsApi.ts new file mode 100644 index 0000000..c3ee5ea --- /dev/null +++ b/server/jellyfin/apis/NotificationsApi.ts @@ -0,0 +1,292 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + CreateAdminNotificationRequest, + NameIdPair, + NotificationResultDto, + NotificationTypeInfo, + NotificationsSummaryDto, +} from '../models'; +import { + CreateAdminNotificationRequestFromJSON, + CreateAdminNotificationRequestToJSON, + NameIdPairFromJSON, + NameIdPairToJSON, + NotificationResultDtoFromJSON, + NotificationResultDtoToJSON, + NotificationTypeInfoFromJSON, + NotificationTypeInfoToJSON, + NotificationsSummaryDtoFromJSON, + NotificationsSummaryDtoToJSON, +} from '../models'; + +export interface CreateAdminNotificationOperationRequest { + createAdminNotificationRequest: CreateAdminNotificationRequest; +} + +export interface GetNotificationsRequest { + userId: string; +} + +export interface GetNotificationsSummaryRequest { + userId: string; +} + +export interface SetReadRequest { + userId: string; +} + +export interface SetUnreadRequest { + userId: string; +} + +/** + * + */ +export class NotificationsApi extends runtime.BaseAPI { + + /** + * Sends a notification to all admins. + */ + async createAdminNotificationRaw(requestParameters: CreateAdminNotificationOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.createAdminNotificationRequest === null || requestParameters.createAdminNotificationRequest === undefined) { + throw new runtime.RequiredError('createAdminNotificationRequest','Required parameter requestParameters.createAdminNotificationRequest was null or undefined when calling createAdminNotification.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Notifications/Admin`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: CreateAdminNotificationRequestToJSON(requestParameters.createAdminNotificationRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Sends a notification to all admins. + */ + async createAdminNotification(requestParameters: CreateAdminNotificationOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.createAdminNotificationRaw(requestParameters, initOverrides); + } + + /** + * Gets notification services. + */ + async getNotificationServicesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Notifications/Services`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(NameIdPairFromJSON)); + } + + /** + * Gets notification services. + */ + async getNotificationServices(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getNotificationServicesRaw(initOverrides); + return await response.value(); + } + + /** + * Gets notification types. + */ + async getNotificationTypesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Notifications/Types`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(NotificationTypeInfoFromJSON)); + } + + /** + * Gets notification types. + */ + async getNotificationTypes(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getNotificationTypesRaw(initOverrides); + return await response.value(); + } + + /** + * Gets a user\'s notifications. + */ + async getNotificationsRaw(requestParameters: GetNotificationsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling getNotifications.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Notifications/{userId}`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => NotificationResultDtoFromJSON(jsonValue)); + } + + /** + * Gets a user\'s notifications. + */ + async getNotifications(requestParameters: GetNotificationsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getNotificationsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a user\'s notification summary. + */ + async getNotificationsSummaryRaw(requestParameters: GetNotificationsSummaryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling getNotificationsSummary.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Notifications/{userId}/Summary`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => NotificationsSummaryDtoFromJSON(jsonValue)); + } + + /** + * Gets a user\'s notification summary. + */ + async getNotificationsSummary(requestParameters: GetNotificationsSummaryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getNotificationsSummaryRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Sets notifications as read. + */ + async setReadRaw(requestParameters: SetReadRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling setRead.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Notifications/{userId}/Read`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Sets notifications as read. + */ + async setRead(requestParameters: SetReadRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.setReadRaw(requestParameters, initOverrides); + } + + /** + * Sets notifications as unread. + */ + async setUnreadRaw(requestParameters: SetUnreadRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling setUnread.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Notifications/{userId}/Unread`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Sets notifications as unread. + */ + async setUnread(requestParameters: SetUnreadRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.setUnreadRaw(requestParameters, initOverrides); + } + +} diff --git a/server/jellyfin/apis/PackageApi.ts b/server/jellyfin/apis/PackageApi.ts new file mode 100644 index 0000000..f4703be --- /dev/null +++ b/server/jellyfin/apis/PackageApi.ts @@ -0,0 +1,268 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + PackageInfo, + ProblemDetails, + RepositoryInfo, +} from '../models'; +import { + PackageInfoFromJSON, + PackageInfoToJSON, + ProblemDetailsFromJSON, + ProblemDetailsToJSON, + RepositoryInfoFromJSON, + RepositoryInfoToJSON, +} from '../models'; + +export interface CancelPackageInstallationRequest { + packageId: string; +} + +export interface GetPackageInfoRequest { + name: string; + assemblyGuid?: string; +} + +export interface InstallPackageRequest { + name: string; + assemblyGuid?: string; + version?: string; + repositoryUrl?: string; +} + +export interface SetRepositoriesRequest { + repositoryInfo: Array; +} + +/** + * + */ +export class PackageApi extends runtime.BaseAPI { + + /** + * Cancels a package installation. + */ + async cancelPackageInstallationRaw(requestParameters: CancelPackageInstallationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.packageId === null || requestParameters.packageId === undefined) { + throw new runtime.RequiredError('packageId','Required parameter requestParameters.packageId was null or undefined when calling cancelPackageInstallation.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Packages/Installing/{packageId}`.replace(`{${"packageId"}}`, encodeURIComponent(String(requestParameters.packageId))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Cancels a package installation. + */ + async cancelPackageInstallation(requestParameters: CancelPackageInstallationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.cancelPackageInstallationRaw(requestParameters, initOverrides); + } + + /** + * Gets a package by name or assembly GUID. + */ + async getPackageInfoRaw(requestParameters: GetPackageInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getPackageInfo.'); + } + + const queryParameters: any = {}; + + if (requestParameters.assemblyGuid !== undefined) { + queryParameters['assemblyGuid'] = requestParameters.assemblyGuid; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Packages/{name}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PackageInfoFromJSON(jsonValue)); + } + + /** + * Gets a package by name or assembly GUID. + */ + async getPackageInfo(requestParameters: GetPackageInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getPackageInfoRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets available packages. + */ + async getPackagesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Packages`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(PackageInfoFromJSON)); + } + + /** + * Gets available packages. + */ + async getPackages(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getPackagesRaw(initOverrides); + return await response.value(); + } + + /** + * Gets all package repositories. + */ + async getRepositoriesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Repositories`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(RepositoryInfoFromJSON)); + } + + /** + * Gets all package repositories. + */ + async getRepositories(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getRepositoriesRaw(initOverrides); + return await response.value(); + } + + /** + * Installs a package. + */ + async installPackageRaw(requestParameters: InstallPackageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling installPackage.'); + } + + const queryParameters: any = {}; + + if (requestParameters.assemblyGuid !== undefined) { + queryParameters['assemblyGuid'] = requestParameters.assemblyGuid; + } + + if (requestParameters.version !== undefined) { + queryParameters['version'] = requestParameters.version; + } + + if (requestParameters.repositoryUrl !== undefined) { + queryParameters['repositoryUrl'] = requestParameters.repositoryUrl; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Packages/Installed/{name}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Installs a package. + */ + async installPackage(requestParameters: InstallPackageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.installPackageRaw(requestParameters, initOverrides); + } + + /** + * Sets the enabled and existing package repositories. + */ + async setRepositoriesRaw(requestParameters: SetRepositoriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.repositoryInfo === null || requestParameters.repositoryInfo === undefined) { + throw new runtime.RequiredError('repositoryInfo','Required parameter requestParameters.repositoryInfo was null or undefined when calling setRepositories.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Repositories`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: requestParameters.repositoryInfo.map(RepositoryInfoToJSON), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Sets the enabled and existing package repositories. + */ + async setRepositories(requestParameters: SetRepositoriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.setRepositoriesRaw(requestParameters, initOverrides); + } + +} diff --git a/server/jellyfin/apis/PersonsApi.ts b/server/jellyfin/apis/PersonsApi.ts new file mode 100644 index 0000000..e8e91c6 --- /dev/null +++ b/server/jellyfin/apis/PersonsApi.ts @@ -0,0 +1,186 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + BaseItemDto, + BaseItemDtoQueryResult, + ImageType, + ItemFields, + ItemFilter, + ProblemDetails, +} from '../models'; +import { + BaseItemDtoFromJSON, + BaseItemDtoToJSON, + BaseItemDtoQueryResultFromJSON, + BaseItemDtoQueryResultToJSON, + ImageTypeFromJSON, + ImageTypeToJSON, + ItemFieldsFromJSON, + ItemFieldsToJSON, + ItemFilterFromJSON, + ItemFilterToJSON, + ProblemDetailsFromJSON, + ProblemDetailsToJSON, +} from '../models'; + +export interface GetPersonRequest { + name: string; + userId?: string; +} + +export interface GetPersonsRequest { + limit?: number; + searchTerm?: string; + fields?: Array; + filters?: Array; + isFavorite?: boolean; + enableUserData?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; + excludePersonTypes?: Array; + personTypes?: Array; + appearsInItemId?: string; + userId?: string; + enableImages?: boolean; +} + +/** + * + */ +export class PersonsApi extends runtime.BaseAPI { + + /** + * Get person by name. + */ + async getPersonRaw(requestParameters: GetPersonRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getPerson.'); + } + + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Persons/{name}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoFromJSON(jsonValue)); + } + + /** + * Get person by name. + */ + async getPerson(requestParameters: GetPersonRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getPersonRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets all persons. + */ + async getPersonsRaw(requestParameters: GetPersonsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.searchTerm !== undefined) { + queryParameters['searchTerm'] = requestParameters.searchTerm; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.filters) { + queryParameters['filters'] = requestParameters.filters; + } + + if (requestParameters.isFavorite !== undefined) { + queryParameters['isFavorite'] = requestParameters.isFavorite; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + if (requestParameters.excludePersonTypes) { + queryParameters['excludePersonTypes'] = requestParameters.excludePersonTypes; + } + + if (requestParameters.personTypes) { + queryParameters['personTypes'] = requestParameters.personTypes; + } + + if (requestParameters.appearsInItemId !== undefined) { + queryParameters['appearsInItemId'] = requestParameters.appearsInItemId; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Persons`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets all persons. + */ + async getPersons(requestParameters: GetPersonsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getPersonsRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/PlaylistsApi.ts b/server/jellyfin/apis/PlaylistsApi.ts new file mode 100644 index 0000000..b18d6da --- /dev/null +++ b/server/jellyfin/apis/PlaylistsApi.ts @@ -0,0 +1,319 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + BaseItemDtoQueryResult, + CreatePlaylistRequest, + ImageType, + ItemFields, + PlaylistCreationResult, +} from '../models'; +import { + BaseItemDtoQueryResultFromJSON, + BaseItemDtoQueryResultToJSON, + CreatePlaylistRequestFromJSON, + CreatePlaylistRequestToJSON, + ImageTypeFromJSON, + ImageTypeToJSON, + ItemFieldsFromJSON, + ItemFieldsToJSON, + PlaylistCreationResultFromJSON, + PlaylistCreationResultToJSON, +} from '../models'; + +export interface AddToPlaylistRequest { + playlistId: string; + ids?: Array; + userId?: string; +} + +export interface CreatePlaylistOperationRequest { + name?: string; + ids?: Array; + userId?: string; + mediaType?: string; + createPlaylistRequest?: CreatePlaylistRequest; +} + +export interface GetPlaylistItemsRequest { + playlistId: string; + userId: string; + startIndex?: number; + limit?: number; + fields?: Array; + enableImages?: boolean; + enableUserData?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; +} + +export interface MoveItemRequest { + playlistId: string; + itemId: string; + newIndex: number; +} + +export interface RemoveFromPlaylistRequest { + playlistId: string; + entryIds?: Array; +} + +/** + * + */ +export class PlaylistsApi extends runtime.BaseAPI { + + /** + * Adds items to a playlist. + */ + async addToPlaylistRaw(requestParameters: AddToPlaylistRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.playlistId === null || requestParameters.playlistId === undefined) { + throw new runtime.RequiredError('playlistId','Required parameter requestParameters.playlistId was null or undefined when calling addToPlaylist.'); + } + + const queryParameters: any = {}; + + if (requestParameters.ids) { + queryParameters['ids'] = requestParameters.ids; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Playlists/{playlistId}/Items`.replace(`{${"playlistId"}}`, encodeURIComponent(String(requestParameters.playlistId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Adds items to a playlist. + */ + async addToPlaylist(requestParameters: AddToPlaylistRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.addToPlaylistRaw(requestParameters, initOverrides); + } + + /** + * For backwards compatibility parameters can be sent via Query or Body, with Query having higher precedence. Query parameters are obsolete. + * Creates a new playlist. + */ + async createPlaylistRaw(requestParameters: CreatePlaylistOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.name !== undefined) { + queryParameters['name'] = requestParameters.name; + } + + if (requestParameters.ids) { + queryParameters['ids'] = requestParameters.ids; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.mediaType !== undefined) { + queryParameters['mediaType'] = requestParameters.mediaType; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Playlists`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: CreatePlaylistRequestToJSON(requestParameters.createPlaylistRequest), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PlaylistCreationResultFromJSON(jsonValue)); + } + + /** + * For backwards compatibility parameters can be sent via Query or Body, with Query having higher precedence. Query parameters are obsolete. + * Creates a new playlist. + */ + async createPlaylist(requestParameters: CreatePlaylistOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.createPlaylistRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets the original items of a playlist. + */ + async getPlaylistItemsRaw(requestParameters: GetPlaylistItemsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.playlistId === null || requestParameters.playlistId === undefined) { + throw new runtime.RequiredError('playlistId','Required parameter requestParameters.playlistId was null or undefined when calling getPlaylistItems.'); + } + + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling getPlaylistItems.'); + } + + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.startIndex !== undefined) { + queryParameters['startIndex'] = requestParameters.startIndex; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Playlists/{playlistId}/Items`.replace(`{${"playlistId"}}`, encodeURIComponent(String(requestParameters.playlistId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets the original items of a playlist. + */ + async getPlaylistItems(requestParameters: GetPlaylistItemsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getPlaylistItemsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Moves a playlist item. + */ + async moveItemRaw(requestParameters: MoveItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.playlistId === null || requestParameters.playlistId === undefined) { + throw new runtime.RequiredError('playlistId','Required parameter requestParameters.playlistId was null or undefined when calling moveItem.'); + } + + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling moveItem.'); + } + + if (requestParameters.newIndex === null || requestParameters.newIndex === undefined) { + throw new runtime.RequiredError('newIndex','Required parameter requestParameters.newIndex was null or undefined when calling moveItem.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Playlists/{playlistId}/Items/{itemId}/Move/{newIndex}`.replace(`{${"playlistId"}}`, encodeURIComponent(String(requestParameters.playlistId))).replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))).replace(`{${"newIndex"}}`, encodeURIComponent(String(requestParameters.newIndex))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Moves a playlist item. + */ + async moveItem(requestParameters: MoveItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.moveItemRaw(requestParameters, initOverrides); + } + + /** + * Removes items from a playlist. + */ + async removeFromPlaylistRaw(requestParameters: RemoveFromPlaylistRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.playlistId === null || requestParameters.playlistId === undefined) { + throw new runtime.RequiredError('playlistId','Required parameter requestParameters.playlistId was null or undefined when calling removeFromPlaylist.'); + } + + const queryParameters: any = {}; + + if (requestParameters.entryIds) { + queryParameters['entryIds'] = requestParameters.entryIds; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Playlists/{playlistId}/Items`.replace(`{${"playlistId"}}`, encodeURIComponent(String(requestParameters.playlistId))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Removes items from a playlist. + */ + async removeFromPlaylist(requestParameters: RemoveFromPlaylistRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.removeFromPlaylistRaw(requestParameters, initOverrides); + } + +} diff --git a/server/jellyfin/apis/PlaystateApi.ts b/server/jellyfin/apis/PlaystateApi.ts new file mode 100644 index 0000000..782509d --- /dev/null +++ b/server/jellyfin/apis/PlaystateApi.ts @@ -0,0 +1,526 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + PlayMethod, + RepeatMode, + ReportPlaybackProgressRequest, + ReportPlaybackStartRequest, + ReportPlaybackStoppedRequest, + UserItemDataDto, +} from '../models'; +import { + PlayMethodFromJSON, + PlayMethodToJSON, + RepeatModeFromJSON, + RepeatModeToJSON, + ReportPlaybackProgressRequestFromJSON, + ReportPlaybackProgressRequestToJSON, + ReportPlaybackStartRequestFromJSON, + ReportPlaybackStartRequestToJSON, + ReportPlaybackStoppedRequestFromJSON, + ReportPlaybackStoppedRequestToJSON, + UserItemDataDtoFromJSON, + UserItemDataDtoToJSON, +} from '../models'; + +export interface MarkPlayedItemRequest { + userId: string; + itemId: string; + datePlayed?: Date; +} + +export interface MarkUnplayedItemRequest { + userId: string; + itemId: string; +} + +export interface OnPlaybackProgressRequest { + userId: string; + itemId: string; + mediaSourceId?: string; + positionTicks?: number; + audioStreamIndex?: number; + subtitleStreamIndex?: number; + volumeLevel?: number; + playMethod?: PlayMethod; + liveStreamId?: string; + playSessionId?: string; + repeatMode?: RepeatMode; + isPaused?: boolean; + isMuted?: boolean; +} + +export interface OnPlaybackStartRequest { + userId: string; + itemId: string; + mediaSourceId?: string; + audioStreamIndex?: number; + subtitleStreamIndex?: number; + playMethod?: PlayMethod; + liveStreamId?: string; + playSessionId?: string; + canSeek?: boolean; +} + +export interface OnPlaybackStoppedRequest { + userId: string; + itemId: string; + mediaSourceId?: string; + nextMediaType?: string; + positionTicks?: number; + liveStreamId?: string; + playSessionId?: string; +} + +export interface PingPlaybackSessionRequest { + playSessionId: string; +} + +export interface ReportPlaybackProgressOperationRequest { + reportPlaybackProgressRequest?: ReportPlaybackProgressRequest; +} + +export interface ReportPlaybackStartOperationRequest { + reportPlaybackStartRequest?: ReportPlaybackStartRequest; +} + +export interface ReportPlaybackStoppedOperationRequest { + reportPlaybackStoppedRequest?: ReportPlaybackStoppedRequest; +} + +/** + * + */ +export class PlaystateApi extends runtime.BaseAPI { + + /** + * Marks an item as played for user. + */ + async markPlayedItemRaw(requestParameters: MarkPlayedItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling markPlayedItem.'); + } + + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling markPlayedItem.'); + } + + const queryParameters: any = {}; + + if (requestParameters.datePlayed !== undefined) { + queryParameters['datePlayed'] = (requestParameters.datePlayed as any).toISOString(); + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/PlayedItems/{itemId}`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))).replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserItemDataDtoFromJSON(jsonValue)); + } + + /** + * Marks an item as played for user. + */ + async markPlayedItem(requestParameters: MarkPlayedItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.markPlayedItemRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Marks an item as unplayed for user. + */ + async markUnplayedItemRaw(requestParameters: MarkUnplayedItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling markUnplayedItem.'); + } + + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling markUnplayedItem.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/PlayedItems/{itemId}`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))).replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserItemDataDtoFromJSON(jsonValue)); + } + + /** + * Marks an item as unplayed for user. + */ + async markUnplayedItem(requestParameters: MarkUnplayedItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.markUnplayedItemRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Reports a user\'s playback progress. + */ + async onPlaybackProgressRaw(requestParameters: OnPlaybackProgressRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling onPlaybackProgress.'); + } + + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling onPlaybackProgress.'); + } + + const queryParameters: any = {}; + + if (requestParameters.mediaSourceId !== undefined) { + queryParameters['mediaSourceId'] = requestParameters.mediaSourceId; + } + + if (requestParameters.positionTicks !== undefined) { + queryParameters['positionTicks'] = requestParameters.positionTicks; + } + + if (requestParameters.audioStreamIndex !== undefined) { + queryParameters['audioStreamIndex'] = requestParameters.audioStreamIndex; + } + + if (requestParameters.subtitleStreamIndex !== undefined) { + queryParameters['subtitleStreamIndex'] = requestParameters.subtitleStreamIndex; + } + + if (requestParameters.volumeLevel !== undefined) { + queryParameters['volumeLevel'] = requestParameters.volumeLevel; + } + + if (requestParameters.playMethod !== undefined) { + queryParameters['playMethod'] = requestParameters.playMethod; + } + + if (requestParameters.liveStreamId !== undefined) { + queryParameters['liveStreamId'] = requestParameters.liveStreamId; + } + + if (requestParameters.playSessionId !== undefined) { + queryParameters['playSessionId'] = requestParameters.playSessionId; + } + + if (requestParameters.repeatMode !== undefined) { + queryParameters['repeatMode'] = requestParameters.repeatMode; + } + + if (requestParameters.isPaused !== undefined) { + queryParameters['isPaused'] = requestParameters.isPaused; + } + + if (requestParameters.isMuted !== undefined) { + queryParameters['isMuted'] = requestParameters.isMuted; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/PlayingItems/{itemId}/Progress`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))).replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Reports a user\'s playback progress. + */ + async onPlaybackProgress(requestParameters: OnPlaybackProgressRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.onPlaybackProgressRaw(requestParameters, initOverrides); + } + + /** + * Reports that a user has begun playing an item. + */ + async onPlaybackStartRaw(requestParameters: OnPlaybackStartRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling onPlaybackStart.'); + } + + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling onPlaybackStart.'); + } + + const queryParameters: any = {}; + + if (requestParameters.mediaSourceId !== undefined) { + queryParameters['mediaSourceId'] = requestParameters.mediaSourceId; + } + + if (requestParameters.audioStreamIndex !== undefined) { + queryParameters['audioStreamIndex'] = requestParameters.audioStreamIndex; + } + + if (requestParameters.subtitleStreamIndex !== undefined) { + queryParameters['subtitleStreamIndex'] = requestParameters.subtitleStreamIndex; + } + + if (requestParameters.playMethod !== undefined) { + queryParameters['playMethod'] = requestParameters.playMethod; + } + + if (requestParameters.liveStreamId !== undefined) { + queryParameters['liveStreamId'] = requestParameters.liveStreamId; + } + + if (requestParameters.playSessionId !== undefined) { + queryParameters['playSessionId'] = requestParameters.playSessionId; + } + + if (requestParameters.canSeek !== undefined) { + queryParameters['canSeek'] = requestParameters.canSeek; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/PlayingItems/{itemId}`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))).replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Reports that a user has begun playing an item. + */ + async onPlaybackStart(requestParameters: OnPlaybackStartRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.onPlaybackStartRaw(requestParameters, initOverrides); + } + + /** + * Reports that a user has stopped playing an item. + */ + async onPlaybackStoppedRaw(requestParameters: OnPlaybackStoppedRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling onPlaybackStopped.'); + } + + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling onPlaybackStopped.'); + } + + const queryParameters: any = {}; + + if (requestParameters.mediaSourceId !== undefined) { + queryParameters['mediaSourceId'] = requestParameters.mediaSourceId; + } + + if (requestParameters.nextMediaType !== undefined) { + queryParameters['nextMediaType'] = requestParameters.nextMediaType; + } + + if (requestParameters.positionTicks !== undefined) { + queryParameters['positionTicks'] = requestParameters.positionTicks; + } + + if (requestParameters.liveStreamId !== undefined) { + queryParameters['liveStreamId'] = requestParameters.liveStreamId; + } + + if (requestParameters.playSessionId !== undefined) { + queryParameters['playSessionId'] = requestParameters.playSessionId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/PlayingItems/{itemId}`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))).replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Reports that a user has stopped playing an item. + */ + async onPlaybackStopped(requestParameters: OnPlaybackStoppedRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.onPlaybackStoppedRaw(requestParameters, initOverrides); + } + + /** + * Pings a playback session. + */ + async pingPlaybackSessionRaw(requestParameters: PingPlaybackSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.playSessionId === null || requestParameters.playSessionId === undefined) { + throw new runtime.RequiredError('playSessionId','Required parameter requestParameters.playSessionId was null or undefined when calling pingPlaybackSession.'); + } + + const queryParameters: any = {}; + + if (requestParameters.playSessionId !== undefined) { + queryParameters['playSessionId'] = requestParameters.playSessionId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Sessions/Playing/Ping`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Pings a playback session. + */ + async pingPlaybackSession(requestParameters: PingPlaybackSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.pingPlaybackSessionRaw(requestParameters, initOverrides); + } + + /** + * Reports playback progress within a session. + */ + async reportPlaybackProgressRaw(requestParameters: ReportPlaybackProgressOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Sessions/Playing/Progress`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: ReportPlaybackProgressRequestToJSON(requestParameters.reportPlaybackProgressRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Reports playback progress within a session. + */ + async reportPlaybackProgress(requestParameters: ReportPlaybackProgressOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.reportPlaybackProgressRaw(requestParameters, initOverrides); + } + + /** + * Reports playback has started within a session. + */ + async reportPlaybackStartRaw(requestParameters: ReportPlaybackStartOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Sessions/Playing`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: ReportPlaybackStartRequestToJSON(requestParameters.reportPlaybackStartRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Reports playback has started within a session. + */ + async reportPlaybackStart(requestParameters: ReportPlaybackStartOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.reportPlaybackStartRaw(requestParameters, initOverrides); + } + + /** + * Reports playback has stopped within a session. + */ + async reportPlaybackStoppedRaw(requestParameters: ReportPlaybackStoppedOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Sessions/Playing/Stopped`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: ReportPlaybackStoppedRequestToJSON(requestParameters.reportPlaybackStoppedRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Reports playback has stopped within a session. + */ + async reportPlaybackStopped(requestParameters: ReportPlaybackStoppedOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.reportPlaybackStoppedRaw(requestParameters, initOverrides); + } + +} diff --git a/server/jellyfin/apis/PluginsApi.ts b/server/jellyfin/apis/PluginsApi.ts new file mode 100644 index 0000000..c258f42 --- /dev/null +++ b/server/jellyfin/apis/PluginsApi.ts @@ -0,0 +1,383 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + PluginInfo, + ProblemDetails, +} from '../models'; +import { + PluginInfoFromJSON, + PluginInfoToJSON, + ProblemDetailsFromJSON, + ProblemDetailsToJSON, +} from '../models'; + +export interface DisablePluginRequest { + pluginId: string; + version: string; +} + +export interface EnablePluginRequest { + pluginId: string; + version: string; +} + +export interface GetPluginConfigurationRequest { + pluginId: string; +} + +export interface GetPluginImageRequest { + pluginId: string; + version: string; +} + +export interface GetPluginManifestRequest { + pluginId: string; +} + +export interface UninstallPluginRequest { + pluginId: string; +} + +export interface UninstallPluginByVersionRequest { + pluginId: string; + version: string; +} + +export interface UpdatePluginConfigurationRequest { + pluginId: string; +} + +/** + * + */ +export class PluginsApi extends runtime.BaseAPI { + + /** + * Disable a plugin. + */ + async disablePluginRaw(requestParameters: DisablePluginRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.pluginId === null || requestParameters.pluginId === undefined) { + throw new runtime.RequiredError('pluginId','Required parameter requestParameters.pluginId was null or undefined when calling disablePlugin.'); + } + + if (requestParameters.version === null || requestParameters.version === undefined) { + throw new runtime.RequiredError('version','Required parameter requestParameters.version was null or undefined when calling disablePlugin.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Plugins/{pluginId}/{version}/Disable`.replace(`{${"pluginId"}}`, encodeURIComponent(String(requestParameters.pluginId))).replace(`{${"version"}}`, encodeURIComponent(String(requestParameters.version))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Disable a plugin. + */ + async disablePlugin(requestParameters: DisablePluginRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.disablePluginRaw(requestParameters, initOverrides); + } + + /** + * Enables a disabled plugin. + */ + async enablePluginRaw(requestParameters: EnablePluginRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.pluginId === null || requestParameters.pluginId === undefined) { + throw new runtime.RequiredError('pluginId','Required parameter requestParameters.pluginId was null or undefined when calling enablePlugin.'); + } + + if (requestParameters.version === null || requestParameters.version === undefined) { + throw new runtime.RequiredError('version','Required parameter requestParameters.version was null or undefined when calling enablePlugin.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Plugins/{pluginId}/{version}/Enable`.replace(`{${"pluginId"}}`, encodeURIComponent(String(requestParameters.pluginId))).replace(`{${"version"}}`, encodeURIComponent(String(requestParameters.version))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Enables a disabled plugin. + */ + async enablePlugin(requestParameters: EnablePluginRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.enablePluginRaw(requestParameters, initOverrides); + } + + /** + * Gets plugin configuration. + */ + async getPluginConfigurationRaw(requestParameters: GetPluginConfigurationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.pluginId === null || requestParameters.pluginId === undefined) { + throw new runtime.RequiredError('pluginId','Required parameter requestParameters.pluginId was null or undefined when calling getPluginConfiguration.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Plugins/{pluginId}/Configuration`.replace(`{${"pluginId"}}`, encodeURIComponent(String(requestParameters.pluginId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response); + } + + /** + * Gets plugin configuration. + */ + async getPluginConfiguration(requestParameters: GetPluginConfigurationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getPluginConfigurationRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a plugin\'s image. + */ + async getPluginImageRaw(requestParameters: GetPluginImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.pluginId === null || requestParameters.pluginId === undefined) { + throw new runtime.RequiredError('pluginId','Required parameter requestParameters.pluginId was null or undefined when calling getPluginImage.'); + } + + if (requestParameters.version === null || requestParameters.version === undefined) { + throw new runtime.RequiredError('version','Required parameter requestParameters.version was null or undefined when calling getPluginImage.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Plugins/{pluginId}/{version}/Image`.replace(`{${"pluginId"}}`, encodeURIComponent(String(requestParameters.pluginId))).replace(`{${"version"}}`, encodeURIComponent(String(requestParameters.version))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets a plugin\'s image. + */ + async getPluginImage(requestParameters: GetPluginImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getPluginImageRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a plugin\'s manifest. + */ + async getPluginManifestRaw(requestParameters: GetPluginManifestRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.pluginId === null || requestParameters.pluginId === undefined) { + throw new runtime.RequiredError('pluginId','Required parameter requestParameters.pluginId was null or undefined when calling getPluginManifest.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Plugins/{pluginId}/Manifest`.replace(`{${"pluginId"}}`, encodeURIComponent(String(requestParameters.pluginId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Gets a plugin\'s manifest. + */ + async getPluginManifest(requestParameters: GetPluginManifestRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.getPluginManifestRaw(requestParameters, initOverrides); + } + + /** + * Gets a list of currently installed plugins. + */ + async getPluginsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Plugins`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(PluginInfoFromJSON)); + } + + /** + * Gets a list of currently installed plugins. + */ + async getPlugins(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getPluginsRaw(initOverrides); + return await response.value(); + } + + /** + * Uninstalls a plugin. + */ + async uninstallPluginRaw(requestParameters: UninstallPluginRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.pluginId === null || requestParameters.pluginId === undefined) { + throw new runtime.RequiredError('pluginId','Required parameter requestParameters.pluginId was null or undefined when calling uninstallPlugin.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Plugins/{pluginId}`.replace(`{${"pluginId"}}`, encodeURIComponent(String(requestParameters.pluginId))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Uninstalls a plugin. + */ + async uninstallPlugin(requestParameters: UninstallPluginRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.uninstallPluginRaw(requestParameters, initOverrides); + } + + /** + * Uninstalls a plugin by version. + */ + async uninstallPluginByVersionRaw(requestParameters: UninstallPluginByVersionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.pluginId === null || requestParameters.pluginId === undefined) { + throw new runtime.RequiredError('pluginId','Required parameter requestParameters.pluginId was null or undefined when calling uninstallPluginByVersion.'); + } + + if (requestParameters.version === null || requestParameters.version === undefined) { + throw new runtime.RequiredError('version','Required parameter requestParameters.version was null or undefined when calling uninstallPluginByVersion.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Plugins/{pluginId}/{version}`.replace(`{${"pluginId"}}`, encodeURIComponent(String(requestParameters.pluginId))).replace(`{${"version"}}`, encodeURIComponent(String(requestParameters.version))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Uninstalls a plugin by version. + */ + async uninstallPluginByVersion(requestParameters: UninstallPluginByVersionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.uninstallPluginByVersionRaw(requestParameters, initOverrides); + } + + /** + * Accepts plugin configuration as JSON body. + * Updates plugin configuration. + */ + async updatePluginConfigurationRaw(requestParameters: UpdatePluginConfigurationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.pluginId === null || requestParameters.pluginId === undefined) { + throw new runtime.RequiredError('pluginId','Required parameter requestParameters.pluginId was null or undefined when calling updatePluginConfiguration.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Plugins/{pluginId}/Configuration`.replace(`{${"pluginId"}}`, encodeURIComponent(String(requestParameters.pluginId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Accepts plugin configuration as JSON body. + * Updates plugin configuration. + */ + async updatePluginConfiguration(requestParameters: UpdatePluginConfigurationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.updatePluginConfigurationRaw(requestParameters, initOverrides); + } + +} diff --git a/server/jellyfin/apis/QuickConnectApi.ts b/server/jellyfin/apis/QuickConnectApi.ts new file mode 100644 index 0000000..d48a262 --- /dev/null +++ b/server/jellyfin/apis/QuickConnectApi.ts @@ -0,0 +1,173 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + ProblemDetails, + QuickConnectResult, +} from '../models'; +import { + ProblemDetailsFromJSON, + ProblemDetailsToJSON, + QuickConnectResultFromJSON, + QuickConnectResultToJSON, +} from '../models'; + +export interface AuthorizeRequest { + code: string; +} + +export interface ConnectRequest { + secret: string; +} + +/** + * + */ +export class QuickConnectApi extends runtime.BaseAPI { + + /** + * Authorizes a pending quick connect request. + */ + async authorizeRaw(requestParameters: AuthorizeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.code === null || requestParameters.code === undefined) { + throw new runtime.RequiredError('code','Required parameter requestParameters.code was null or undefined when calling authorize.'); + } + + const queryParameters: any = {}; + + if (requestParameters.code !== undefined) { + queryParameters['code'] = requestParameters.code; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/QuickConnect/Authorize`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + if (this.isJsonMime(response.headers.get('content-type'))) { + return new runtime.JSONApiResponse(response); + } else { + return new runtime.TextApiResponse(response) as any; + } + } + + /** + * Authorizes a pending quick connect request. + */ + async authorize(requestParameters: AuthorizeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.authorizeRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Attempts to retrieve authentication information. + */ + async connectRaw(requestParameters: ConnectRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.secret === null || requestParameters.secret === undefined) { + throw new runtime.RequiredError('secret','Required parameter requestParameters.secret was null or undefined when calling connect.'); + } + + const queryParameters: any = {}; + + if (requestParameters.secret !== undefined) { + queryParameters['secret'] = requestParameters.secret; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/QuickConnect/Connect`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => QuickConnectResultFromJSON(jsonValue)); + } + + /** + * Attempts to retrieve authentication information. + */ + async connect(requestParameters: ConnectRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.connectRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets the current quick connect state. + */ + async getEnabledRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/QuickConnect/Enabled`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + if (this.isJsonMime(response.headers.get('content-type'))) { + return new runtime.JSONApiResponse(response); + } else { + return new runtime.TextApiResponse(response) as any; + } + } + + /** + * Gets the current quick connect state. + */ + async getEnabled(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getEnabledRaw(initOverrides); + return await response.value(); + } + + /** + * Initiate a new quick connect request. + */ + async initiateRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/QuickConnect/Initiate`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => QuickConnectResultFromJSON(jsonValue)); + } + + /** + * Initiate a new quick connect request. + */ + async initiate(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.initiateRaw(initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/RemoteImageApi.ts b/server/jellyfin/apis/RemoteImageApi.ts new file mode 100644 index 0000000..2e5f719 --- /dev/null +++ b/server/jellyfin/apis/RemoteImageApi.ts @@ -0,0 +1,191 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + ImageProviderInfo, + ImageType, + ProblemDetails, + RemoteImageResult, +} from '../models'; +import { + ImageProviderInfoFromJSON, + ImageProviderInfoToJSON, + ImageTypeFromJSON, + ImageTypeToJSON, + ProblemDetailsFromJSON, + ProblemDetailsToJSON, + RemoteImageResultFromJSON, + RemoteImageResultToJSON, +} from '../models'; + +export interface DownloadRemoteImageRequest { + itemId: string; + type: ImageType; + imageUrl?: string; +} + +export interface GetRemoteImageProvidersRequest { + itemId: string; +} + +export interface GetRemoteImagesRequest { + itemId: string; + type?: ImageType; + startIndex?: number; + limit?: number; + providerName?: string; + includeAllLanguages?: boolean; +} + +/** + * + */ +export class RemoteImageApi extends runtime.BaseAPI { + + /** + * Downloads a remote image for an item. + */ + async downloadRemoteImageRaw(requestParameters: DownloadRemoteImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling downloadRemoteImage.'); + } + + if (requestParameters.type === null || requestParameters.type === undefined) { + throw new runtime.RequiredError('type','Required parameter requestParameters.type was null or undefined when calling downloadRemoteImage.'); + } + + const queryParameters: any = {}; + + if (requestParameters.type !== undefined) { + queryParameters['type'] = requestParameters.type; + } + + if (requestParameters.imageUrl !== undefined) { + queryParameters['imageUrl'] = requestParameters.imageUrl; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{itemId}/RemoteImages/Download`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Downloads a remote image for an item. + */ + async downloadRemoteImage(requestParameters: DownloadRemoteImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.downloadRemoteImageRaw(requestParameters, initOverrides); + } + + /** + * Gets available remote image providers for an item. + */ + async getRemoteImageProvidersRaw(requestParameters: GetRemoteImageProvidersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getRemoteImageProviders.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{itemId}/RemoteImages/Providers`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ImageProviderInfoFromJSON)); + } + + /** + * Gets available remote image providers for an item. + */ + async getRemoteImageProviders(requestParameters: GetRemoteImageProvidersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getRemoteImageProvidersRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets available remote images for an item. + */ + async getRemoteImagesRaw(requestParameters: GetRemoteImagesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getRemoteImages.'); + } + + const queryParameters: any = {}; + + if (requestParameters.type !== undefined) { + queryParameters['type'] = requestParameters.type; + } + + if (requestParameters.startIndex !== undefined) { + queryParameters['startIndex'] = requestParameters.startIndex; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.providerName !== undefined) { + queryParameters['providerName'] = requestParameters.providerName; + } + + if (requestParameters.includeAllLanguages !== undefined) { + queryParameters['includeAllLanguages'] = requestParameters.includeAllLanguages; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{itemId}/RemoteImages`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => RemoteImageResultFromJSON(jsonValue)); + } + + /** + * Gets available remote images for an item. + */ + async getRemoteImages(requestParameters: GetRemoteImagesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getRemoteImagesRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/ScheduledTasksApi.ts b/server/jellyfin/apis/ScheduledTasksApi.ts new file mode 100644 index 0000000..038e8b0 --- /dev/null +++ b/server/jellyfin/apis/ScheduledTasksApi.ts @@ -0,0 +1,236 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + ProblemDetails, + TaskInfo, + TaskTriggerInfo, +} from '../models'; +import { + ProblemDetailsFromJSON, + ProblemDetailsToJSON, + TaskInfoFromJSON, + TaskInfoToJSON, + TaskTriggerInfoFromJSON, + TaskTriggerInfoToJSON, +} from '../models'; + +export interface GetTaskRequest { + taskId: string; +} + +export interface GetTasksRequest { + isHidden?: boolean; + isEnabled?: boolean; +} + +export interface StartTaskRequest { + taskId: string; +} + +export interface StopTaskRequest { + taskId: string; +} + +export interface UpdateTaskRequest { + taskId: string; + taskTriggerInfo: Array; +} + +/** + * + */ +export class ScheduledTasksApi extends runtime.BaseAPI { + + /** + * Get task by id. + */ + async getTaskRaw(requestParameters: GetTaskRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.taskId === null || requestParameters.taskId === undefined) { + throw new runtime.RequiredError('taskId','Required parameter requestParameters.taskId was null or undefined when calling getTask.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/ScheduledTasks/{taskId}`.replace(`{${"taskId"}}`, encodeURIComponent(String(requestParameters.taskId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => TaskInfoFromJSON(jsonValue)); + } + + /** + * Get task by id. + */ + async getTask(requestParameters: GetTaskRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getTaskRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get tasks. + */ + async getTasksRaw(requestParameters: GetTasksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + if (requestParameters.isHidden !== undefined) { + queryParameters['isHidden'] = requestParameters.isHidden; + } + + if (requestParameters.isEnabled !== undefined) { + queryParameters['isEnabled'] = requestParameters.isEnabled; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/ScheduledTasks`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(TaskInfoFromJSON)); + } + + /** + * Get tasks. + */ + async getTasks(requestParameters: GetTasksRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getTasksRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Start specified task. + */ + async startTaskRaw(requestParameters: StartTaskRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.taskId === null || requestParameters.taskId === undefined) { + throw new runtime.RequiredError('taskId','Required parameter requestParameters.taskId was null or undefined when calling startTask.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/ScheduledTasks/Running/{taskId}`.replace(`{${"taskId"}}`, encodeURIComponent(String(requestParameters.taskId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Start specified task. + */ + async startTask(requestParameters: StartTaskRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.startTaskRaw(requestParameters, initOverrides); + } + + /** + * Stop specified task. + */ + async stopTaskRaw(requestParameters: StopTaskRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.taskId === null || requestParameters.taskId === undefined) { + throw new runtime.RequiredError('taskId','Required parameter requestParameters.taskId was null or undefined when calling stopTask.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/ScheduledTasks/Running/{taskId}`.replace(`{${"taskId"}}`, encodeURIComponent(String(requestParameters.taskId))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Stop specified task. + */ + async stopTask(requestParameters: StopTaskRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.stopTaskRaw(requestParameters, initOverrides); + } + + /** + * Update specified task triggers. + */ + async updateTaskRaw(requestParameters: UpdateTaskRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.taskId === null || requestParameters.taskId === undefined) { + throw new runtime.RequiredError('taskId','Required parameter requestParameters.taskId was null or undefined when calling updateTask.'); + } + + if (requestParameters.taskTriggerInfo === null || requestParameters.taskTriggerInfo === undefined) { + throw new runtime.RequiredError('taskTriggerInfo','Required parameter requestParameters.taskTriggerInfo was null or undefined when calling updateTask.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/ScheduledTasks/{taskId}/Triggers`.replace(`{${"taskId"}}`, encodeURIComponent(String(requestParameters.taskId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: requestParameters.taskTriggerInfo.map(TaskTriggerInfoToJSON), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Update specified task triggers. + */ + async updateTask(requestParameters: UpdateTaskRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.updateTaskRaw(requestParameters, initOverrides); + } + +} diff --git a/server/jellyfin/apis/SearchApi.ts b/server/jellyfin/apis/SearchApi.ts new file mode 100644 index 0000000..81216e1 --- /dev/null +++ b/server/jellyfin/apis/SearchApi.ts @@ -0,0 +1,160 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + BaseItemKind, + SearchHintResult, +} from '../models'; +import { + BaseItemKindFromJSON, + BaseItemKindToJSON, + SearchHintResultFromJSON, + SearchHintResultToJSON, +} from '../models'; + +export interface GetRequest { + searchTerm: string; + startIndex?: number; + limit?: number; + userId?: string; + includeItemTypes?: Array; + excludeItemTypes?: Array; + mediaTypes?: Array; + parentId?: string; + isMovie?: boolean; + isSeries?: boolean; + isNews?: boolean; + isKids?: boolean; + isSports?: boolean; + includePeople?: boolean; + includeMedia?: boolean; + includeGenres?: boolean; + includeStudios?: boolean; + includeArtists?: boolean; +} + +/** + * + */ +export class SearchApi extends runtime.BaseAPI { + + /** + * Gets the search hint result. + */ + async getRaw(requestParameters: GetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.searchTerm === null || requestParameters.searchTerm === undefined) { + throw new runtime.RequiredError('searchTerm','Required parameter requestParameters.searchTerm was null or undefined when calling get.'); + } + + const queryParameters: any = {}; + + if (requestParameters.startIndex !== undefined) { + queryParameters['startIndex'] = requestParameters.startIndex; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.searchTerm !== undefined) { + queryParameters['searchTerm'] = requestParameters.searchTerm; + } + + if (requestParameters.includeItemTypes) { + queryParameters['includeItemTypes'] = requestParameters.includeItemTypes; + } + + if (requestParameters.excludeItemTypes) { + queryParameters['excludeItemTypes'] = requestParameters.excludeItemTypes; + } + + if (requestParameters.mediaTypes) { + queryParameters['mediaTypes'] = requestParameters.mediaTypes; + } + + if (requestParameters.parentId !== undefined) { + queryParameters['parentId'] = requestParameters.parentId; + } + + if (requestParameters.isMovie !== undefined) { + queryParameters['isMovie'] = requestParameters.isMovie; + } + + if (requestParameters.isSeries !== undefined) { + queryParameters['isSeries'] = requestParameters.isSeries; + } + + if (requestParameters.isNews !== undefined) { + queryParameters['isNews'] = requestParameters.isNews; + } + + if (requestParameters.isKids !== undefined) { + queryParameters['isKids'] = requestParameters.isKids; + } + + if (requestParameters.isSports !== undefined) { + queryParameters['isSports'] = requestParameters.isSports; + } + + if (requestParameters.includePeople !== undefined) { + queryParameters['includePeople'] = requestParameters.includePeople; + } + + if (requestParameters.includeMedia !== undefined) { + queryParameters['includeMedia'] = requestParameters.includeMedia; + } + + if (requestParameters.includeGenres !== undefined) { + queryParameters['includeGenres'] = requestParameters.includeGenres; + } + + if (requestParameters.includeStudios !== undefined) { + queryParameters['includeStudios'] = requestParameters.includeStudios; + } + + if (requestParameters.includeArtists !== undefined) { + queryParameters['includeArtists'] = requestParameters.includeArtists; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Search/Hints`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SearchHintResultFromJSON(jsonValue)); + } + + /** + * Gets the search hint result. + */ + async get(requestParameters: GetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/SessionApi.ts b/server/jellyfin/apis/SessionApi.ts new file mode 100644 index 0000000..4a51e25 --- /dev/null +++ b/server/jellyfin/apis/SessionApi.ts @@ -0,0 +1,798 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + BaseItemKind, + GeneralCommandType, + NameIdPair, + PlayCommand, + PlaystateCommand, + PostFullCapabilitiesRequest, + SendFullGeneralCommandRequest, + SendMessageCommandRequest, + SessionInfo, +} from '../models'; +import { + BaseItemKindFromJSON, + BaseItemKindToJSON, + GeneralCommandTypeFromJSON, + GeneralCommandTypeToJSON, + NameIdPairFromJSON, + NameIdPairToJSON, + PlayCommandFromJSON, + PlayCommandToJSON, + PlaystateCommandFromJSON, + PlaystateCommandToJSON, + PostFullCapabilitiesRequestFromJSON, + PostFullCapabilitiesRequestToJSON, + SendFullGeneralCommandRequestFromJSON, + SendFullGeneralCommandRequestToJSON, + SendMessageCommandRequestFromJSON, + SendMessageCommandRequestToJSON, + SessionInfoFromJSON, + SessionInfoToJSON, +} from '../models'; + +export interface AddUserToSessionRequest { + sessionId: string; + userId: string; +} + +export interface DisplayContentRequest { + sessionId: string; + itemType: BaseItemKind; + itemId: string; + itemName: string; +} + +export interface GetSessionsRequest { + controllableByUserId?: string; + deviceId?: string; + activeWithinSeconds?: number; +} + +export interface PlayRequest { + sessionId: string; + playCommand: PlayCommand; + itemIds: Array; + startPositionTicks?: number; + mediaSourceId?: string; + audioStreamIndex?: number; + subtitleStreamIndex?: number; + startIndex?: number; +} + +export interface PostCapabilitiesRequest { + id?: string; + playableMediaTypes?: Array; + supportedCommands?: Array; + supportsMediaControl?: boolean; + supportsSync?: boolean; + supportsPersistentIdentifier?: boolean; +} + +export interface PostFullCapabilitiesOperationRequest { + postFullCapabilitiesRequest: PostFullCapabilitiesRequest; + id?: string; +} + +export interface RemoveUserFromSessionRequest { + sessionId: string; + userId: string; +} + +export interface ReportViewingRequest { + itemId: string; + sessionId?: string; +} + +export interface SendFullGeneralCommandOperationRequest { + sessionId: string; + sendFullGeneralCommandRequest: SendFullGeneralCommandRequest; +} + +export interface SendGeneralCommandRequest { + sessionId: string; + command: GeneralCommandType; +} + +export interface SendMessageCommandOperationRequest { + sessionId: string; + sendMessageCommandRequest: SendMessageCommandRequest; +} + +export interface SendPlaystateCommandRequest { + sessionId: string; + command: PlaystateCommand; + seekPositionTicks?: number; + controllingUserId?: string; +} + +export interface SendSystemCommandRequest { + sessionId: string; + command: GeneralCommandType; +} + +/** + * + */ +export class SessionApi extends runtime.BaseAPI { + + /** + * Adds an additional user to a session. + */ + async addUserToSessionRaw(requestParameters: AddUserToSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.sessionId === null || requestParameters.sessionId === undefined) { + throw new runtime.RequiredError('sessionId','Required parameter requestParameters.sessionId was null or undefined when calling addUserToSession.'); + } + + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling addUserToSession.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Sessions/{sessionId}/User/{userId}`.replace(`{${"sessionId"}}`, encodeURIComponent(String(requestParameters.sessionId))).replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Adds an additional user to a session. + */ + async addUserToSession(requestParameters: AddUserToSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.addUserToSessionRaw(requestParameters, initOverrides); + } + + /** + * Instructs a session to browse to an item or view. + */ + async displayContentRaw(requestParameters: DisplayContentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.sessionId === null || requestParameters.sessionId === undefined) { + throw new runtime.RequiredError('sessionId','Required parameter requestParameters.sessionId was null or undefined when calling displayContent.'); + } + + if (requestParameters.itemType === null || requestParameters.itemType === undefined) { + throw new runtime.RequiredError('itemType','Required parameter requestParameters.itemType was null or undefined when calling displayContent.'); + } + + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling displayContent.'); + } + + if (requestParameters.itemName === null || requestParameters.itemName === undefined) { + throw new runtime.RequiredError('itemName','Required parameter requestParameters.itemName was null or undefined when calling displayContent.'); + } + + const queryParameters: any = {}; + + if (requestParameters.itemType !== undefined) { + queryParameters['itemType'] = requestParameters.itemType; + } + + if (requestParameters.itemId !== undefined) { + queryParameters['itemId'] = requestParameters.itemId; + } + + if (requestParameters.itemName !== undefined) { + queryParameters['itemName'] = requestParameters.itemName; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Sessions/{sessionId}/Viewing`.replace(`{${"sessionId"}}`, encodeURIComponent(String(requestParameters.sessionId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Instructs a session to browse to an item or view. + */ + async displayContent(requestParameters: DisplayContentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.displayContentRaw(requestParameters, initOverrides); + } + + /** + * Get all auth providers. + */ + async getAuthProvidersRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Auth/Providers`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(NameIdPairFromJSON)); + } + + /** + * Get all auth providers. + */ + async getAuthProviders(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getAuthProvidersRaw(initOverrides); + return await response.value(); + } + + /** + * Get all password reset providers. + */ + async getPasswordResetProvidersRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Auth/PasswordResetProviders`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(NameIdPairFromJSON)); + } + + /** + * Get all password reset providers. + */ + async getPasswordResetProviders(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getPasswordResetProvidersRaw(initOverrides); + return await response.value(); + } + + /** + * Gets a list of sessions. + */ + async getSessionsRaw(requestParameters: GetSessionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + if (requestParameters.controllableByUserId !== undefined) { + queryParameters['controllableByUserId'] = requestParameters.controllableByUserId; + } + + if (requestParameters.deviceId !== undefined) { + queryParameters['deviceId'] = requestParameters.deviceId; + } + + if (requestParameters.activeWithinSeconds !== undefined) { + queryParameters['activeWithinSeconds'] = requestParameters.activeWithinSeconds; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Sessions`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(SessionInfoFromJSON)); + } + + /** + * Gets a list of sessions. + */ + async getSessions(requestParameters: GetSessionsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getSessionsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Instructs a session to play an item. + */ + async playRaw(requestParameters: PlayRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.sessionId === null || requestParameters.sessionId === undefined) { + throw new runtime.RequiredError('sessionId','Required parameter requestParameters.sessionId was null or undefined when calling play.'); + } + + if (requestParameters.playCommand === null || requestParameters.playCommand === undefined) { + throw new runtime.RequiredError('playCommand','Required parameter requestParameters.playCommand was null or undefined when calling play.'); + } + + if (requestParameters.itemIds === null || requestParameters.itemIds === undefined) { + throw new runtime.RequiredError('itemIds','Required parameter requestParameters.itemIds was null or undefined when calling play.'); + } + + const queryParameters: any = {}; + + if (requestParameters.playCommand !== undefined) { + queryParameters['playCommand'] = requestParameters.playCommand; + } + + if (requestParameters.itemIds) { + queryParameters['itemIds'] = requestParameters.itemIds; + } + + if (requestParameters.startPositionTicks !== undefined) { + queryParameters['startPositionTicks'] = requestParameters.startPositionTicks; + } + + if (requestParameters.mediaSourceId !== undefined) { + queryParameters['mediaSourceId'] = requestParameters.mediaSourceId; + } + + if (requestParameters.audioStreamIndex !== undefined) { + queryParameters['audioStreamIndex'] = requestParameters.audioStreamIndex; + } + + if (requestParameters.subtitleStreamIndex !== undefined) { + queryParameters['subtitleStreamIndex'] = requestParameters.subtitleStreamIndex; + } + + if (requestParameters.startIndex !== undefined) { + queryParameters['startIndex'] = requestParameters.startIndex; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Sessions/{sessionId}/Playing`.replace(`{${"sessionId"}}`, encodeURIComponent(String(requestParameters.sessionId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Instructs a session to play an item. + */ + async play(requestParameters: PlayRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.playRaw(requestParameters, initOverrides); + } + + /** + * Updates capabilities for a device. + */ + async postCapabilitiesRaw(requestParameters: PostCapabilitiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.id !== undefined) { + queryParameters['id'] = requestParameters.id; + } + + if (requestParameters.playableMediaTypes) { + queryParameters['playableMediaTypes'] = requestParameters.playableMediaTypes; + } + + if (requestParameters.supportedCommands) { + queryParameters['supportedCommands'] = requestParameters.supportedCommands; + } + + if (requestParameters.supportsMediaControl !== undefined) { + queryParameters['supportsMediaControl'] = requestParameters.supportsMediaControl; + } + + if (requestParameters.supportsSync !== undefined) { + queryParameters['supportsSync'] = requestParameters.supportsSync; + } + + if (requestParameters.supportsPersistentIdentifier !== undefined) { + queryParameters['supportsPersistentIdentifier'] = requestParameters.supportsPersistentIdentifier; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Sessions/Capabilities`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Updates capabilities for a device. + */ + async postCapabilities(requestParameters: PostCapabilitiesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.postCapabilitiesRaw(requestParameters, initOverrides); + } + + /** + * Updates capabilities for a device. + */ + async postFullCapabilitiesRaw(requestParameters: PostFullCapabilitiesOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.postFullCapabilitiesRequest === null || requestParameters.postFullCapabilitiesRequest === undefined) { + throw new runtime.RequiredError('postFullCapabilitiesRequest','Required parameter requestParameters.postFullCapabilitiesRequest was null or undefined when calling postFullCapabilities.'); + } + + const queryParameters: any = {}; + + if (requestParameters.id !== undefined) { + queryParameters['id'] = requestParameters.id; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Sessions/Capabilities/Full`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: PostFullCapabilitiesRequestToJSON(requestParameters.postFullCapabilitiesRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Updates capabilities for a device. + */ + async postFullCapabilities(requestParameters: PostFullCapabilitiesOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.postFullCapabilitiesRaw(requestParameters, initOverrides); + } + + /** + * Removes an additional user from a session. + */ + async removeUserFromSessionRaw(requestParameters: RemoveUserFromSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.sessionId === null || requestParameters.sessionId === undefined) { + throw new runtime.RequiredError('sessionId','Required parameter requestParameters.sessionId was null or undefined when calling removeUserFromSession.'); + } + + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling removeUserFromSession.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Sessions/{sessionId}/User/{userId}`.replace(`{${"sessionId"}}`, encodeURIComponent(String(requestParameters.sessionId))).replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Removes an additional user from a session. + */ + async removeUserFromSession(requestParameters: RemoveUserFromSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.removeUserFromSessionRaw(requestParameters, initOverrides); + } + + /** + * Reports that a session has ended. + */ + async reportSessionEndedRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Sessions/Logout`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Reports that a session has ended. + */ + async reportSessionEnded(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.reportSessionEndedRaw(initOverrides); + } + + /** + * Reports that a session is viewing an item. + */ + async reportViewingRaw(requestParameters: ReportViewingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling reportViewing.'); + } + + const queryParameters: any = {}; + + if (requestParameters.sessionId !== undefined) { + queryParameters['sessionId'] = requestParameters.sessionId; + } + + if (requestParameters.itemId !== undefined) { + queryParameters['itemId'] = requestParameters.itemId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Sessions/Viewing`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Reports that a session is viewing an item. + */ + async reportViewing(requestParameters: ReportViewingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.reportViewingRaw(requestParameters, initOverrides); + } + + /** + * Issues a full general command to a client. + */ + async sendFullGeneralCommandRaw(requestParameters: SendFullGeneralCommandOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.sessionId === null || requestParameters.sessionId === undefined) { + throw new runtime.RequiredError('sessionId','Required parameter requestParameters.sessionId was null or undefined when calling sendFullGeneralCommand.'); + } + + if (requestParameters.sendFullGeneralCommandRequest === null || requestParameters.sendFullGeneralCommandRequest === undefined) { + throw new runtime.RequiredError('sendFullGeneralCommandRequest','Required parameter requestParameters.sendFullGeneralCommandRequest was null or undefined when calling sendFullGeneralCommand.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Sessions/{sessionId}/Command`.replace(`{${"sessionId"}}`, encodeURIComponent(String(requestParameters.sessionId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SendFullGeneralCommandRequestToJSON(requestParameters.sendFullGeneralCommandRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Issues a full general command to a client. + */ + async sendFullGeneralCommand(requestParameters: SendFullGeneralCommandOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.sendFullGeneralCommandRaw(requestParameters, initOverrides); + } + + /** + * Issues a general command to a client. + */ + async sendGeneralCommandRaw(requestParameters: SendGeneralCommandRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.sessionId === null || requestParameters.sessionId === undefined) { + throw new runtime.RequiredError('sessionId','Required parameter requestParameters.sessionId was null or undefined when calling sendGeneralCommand.'); + } + + if (requestParameters.command === null || requestParameters.command === undefined) { + throw new runtime.RequiredError('command','Required parameter requestParameters.command was null or undefined when calling sendGeneralCommand.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Sessions/{sessionId}/Command/{command}`.replace(`{${"sessionId"}}`, encodeURIComponent(String(requestParameters.sessionId))).replace(`{${"command"}}`, encodeURIComponent(String(requestParameters.command))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Issues a general command to a client. + */ + async sendGeneralCommand(requestParameters: SendGeneralCommandRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.sendGeneralCommandRaw(requestParameters, initOverrides); + } + + /** + * Issues a command to a client to display a message to the user. + */ + async sendMessageCommandRaw(requestParameters: SendMessageCommandOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.sessionId === null || requestParameters.sessionId === undefined) { + throw new runtime.RequiredError('sessionId','Required parameter requestParameters.sessionId was null or undefined when calling sendMessageCommand.'); + } + + if (requestParameters.sendMessageCommandRequest === null || requestParameters.sendMessageCommandRequest === undefined) { + throw new runtime.RequiredError('sendMessageCommandRequest','Required parameter requestParameters.sendMessageCommandRequest was null or undefined when calling sendMessageCommand.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Sessions/{sessionId}/Message`.replace(`{${"sessionId"}}`, encodeURIComponent(String(requestParameters.sessionId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SendMessageCommandRequestToJSON(requestParameters.sendMessageCommandRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Issues a command to a client to display a message to the user. + */ + async sendMessageCommand(requestParameters: SendMessageCommandOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.sendMessageCommandRaw(requestParameters, initOverrides); + } + + /** + * Issues a playstate command to a client. + */ + async sendPlaystateCommandRaw(requestParameters: SendPlaystateCommandRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.sessionId === null || requestParameters.sessionId === undefined) { + throw new runtime.RequiredError('sessionId','Required parameter requestParameters.sessionId was null or undefined when calling sendPlaystateCommand.'); + } + + if (requestParameters.command === null || requestParameters.command === undefined) { + throw new runtime.RequiredError('command','Required parameter requestParameters.command was null or undefined when calling sendPlaystateCommand.'); + } + + const queryParameters: any = {}; + + if (requestParameters.seekPositionTicks !== undefined) { + queryParameters['seekPositionTicks'] = requestParameters.seekPositionTicks; + } + + if (requestParameters.controllingUserId !== undefined) { + queryParameters['controllingUserId'] = requestParameters.controllingUserId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Sessions/{sessionId}/Playing/{command}`.replace(`{${"sessionId"}}`, encodeURIComponent(String(requestParameters.sessionId))).replace(`{${"command"}}`, encodeURIComponent(String(requestParameters.command))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Issues a playstate command to a client. + */ + async sendPlaystateCommand(requestParameters: SendPlaystateCommandRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.sendPlaystateCommandRaw(requestParameters, initOverrides); + } + + /** + * Issues a system command to a client. + */ + async sendSystemCommandRaw(requestParameters: SendSystemCommandRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.sessionId === null || requestParameters.sessionId === undefined) { + throw new runtime.RequiredError('sessionId','Required parameter requestParameters.sessionId was null or undefined when calling sendSystemCommand.'); + } + + if (requestParameters.command === null || requestParameters.command === undefined) { + throw new runtime.RequiredError('command','Required parameter requestParameters.command was null or undefined when calling sendSystemCommand.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Sessions/{sessionId}/System/{command}`.replace(`{${"sessionId"}}`, encodeURIComponent(String(requestParameters.sessionId))).replace(`{${"command"}}`, encodeURIComponent(String(requestParameters.command))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Issues a system command to a client. + */ + async sendSystemCommand(requestParameters: SendSystemCommandRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.sendSystemCommandRaw(requestParameters, initOverrides); + } + +} diff --git a/server/jellyfin/apis/StartupApi.ts b/server/jellyfin/apis/StartupApi.ts new file mode 100644 index 0000000..ef1cf2c --- /dev/null +++ b/server/jellyfin/apis/StartupApi.ts @@ -0,0 +1,277 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + SetRemoteAccessRequest, + StartupConfigurationDto, + StartupUserDto, + UpdateInitialConfigurationRequest, + UpdateStartupUserRequest, +} from '../models'; +import { + SetRemoteAccessRequestFromJSON, + SetRemoteAccessRequestToJSON, + StartupConfigurationDtoFromJSON, + StartupConfigurationDtoToJSON, + StartupUserDtoFromJSON, + StartupUserDtoToJSON, + UpdateInitialConfigurationRequestFromJSON, + UpdateInitialConfigurationRequestToJSON, + UpdateStartupUserRequestFromJSON, + UpdateStartupUserRequestToJSON, +} from '../models'; + +export interface SetRemoteAccessOperationRequest { + setRemoteAccessRequest: SetRemoteAccessRequest; +} + +export interface UpdateInitialConfigurationOperationRequest { + updateInitialConfigurationRequest: UpdateInitialConfigurationRequest; +} + +export interface UpdateStartupUserOperationRequest { + updateStartupUserRequest?: UpdateStartupUserRequest; +} + +/** + * + */ +export class StartupApi extends runtime.BaseAPI { + + /** + * Completes the startup wizard. + */ + async completeWizardRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Startup/Complete`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Completes the startup wizard. + */ + async completeWizard(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.completeWizardRaw(initOverrides); + } + + /** + * Gets the first user. + */ + async getFirstUserRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Startup/User`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => StartupUserDtoFromJSON(jsonValue)); + } + + /** + * Gets the first user. + */ + async getFirstUser(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getFirstUserRaw(initOverrides); + return await response.value(); + } + + /** + * Gets the first user. + */ + async getFirstUser2Raw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Startup/FirstUser`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => StartupUserDtoFromJSON(jsonValue)); + } + + /** + * Gets the first user. + */ + async getFirstUser2(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getFirstUser2Raw(initOverrides); + return await response.value(); + } + + /** + * Gets the initial startup wizard configuration. + */ + async getStartupConfigurationRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Startup/Configuration`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => StartupConfigurationDtoFromJSON(jsonValue)); + } + + /** + * Gets the initial startup wizard configuration. + */ + async getStartupConfiguration(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getStartupConfigurationRaw(initOverrides); + return await response.value(); + } + + /** + * Sets remote access and UPnP. + */ + async setRemoteAccessRaw(requestParameters: SetRemoteAccessOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.setRemoteAccessRequest === null || requestParameters.setRemoteAccessRequest === undefined) { + throw new runtime.RequiredError('setRemoteAccessRequest','Required parameter requestParameters.setRemoteAccessRequest was null or undefined when calling setRemoteAccess.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Startup/RemoteAccess`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SetRemoteAccessRequestToJSON(requestParameters.setRemoteAccessRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Sets remote access and UPnP. + */ + async setRemoteAccess(requestParameters: SetRemoteAccessOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.setRemoteAccessRaw(requestParameters, initOverrides); + } + + /** + * Sets the initial startup wizard configuration. + */ + async updateInitialConfigurationRaw(requestParameters: UpdateInitialConfigurationOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.updateInitialConfigurationRequest === null || requestParameters.updateInitialConfigurationRequest === undefined) { + throw new runtime.RequiredError('updateInitialConfigurationRequest','Required parameter requestParameters.updateInitialConfigurationRequest was null or undefined when calling updateInitialConfiguration.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Startup/Configuration`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: UpdateInitialConfigurationRequestToJSON(requestParameters.updateInitialConfigurationRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Sets the initial startup wizard configuration. + */ + async updateInitialConfiguration(requestParameters: UpdateInitialConfigurationOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.updateInitialConfigurationRaw(requestParameters, initOverrides); + } + + /** + * Sets the user name and password. + */ + async updateStartupUserRaw(requestParameters: UpdateStartupUserOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Startup/User`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: UpdateStartupUserRequestToJSON(requestParameters.updateStartupUserRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Sets the user name and password. + */ + async updateStartupUser(requestParameters: UpdateStartupUserOperationRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.updateStartupUserRaw(requestParameters, initOverrides); + } + +} diff --git a/server/jellyfin/apis/StudiosApi.ts b/server/jellyfin/apis/StudiosApi.ts new file mode 100644 index 0000000..a140dd8 --- /dev/null +++ b/server/jellyfin/apis/StudiosApi.ts @@ -0,0 +1,203 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + BaseItemDto, + BaseItemDtoQueryResult, + BaseItemKind, + ImageType, + ItemFields, +} from '../models'; +import { + BaseItemDtoFromJSON, + BaseItemDtoToJSON, + BaseItemDtoQueryResultFromJSON, + BaseItemDtoQueryResultToJSON, + BaseItemKindFromJSON, + BaseItemKindToJSON, + ImageTypeFromJSON, + ImageTypeToJSON, + ItemFieldsFromJSON, + ItemFieldsToJSON, +} from '../models'; + +export interface GetStudioRequest { + name: string; + userId?: string; +} + +export interface GetStudiosRequest { + startIndex?: number; + limit?: number; + searchTerm?: string; + parentId?: string; + fields?: Array; + excludeItemTypes?: Array; + includeItemTypes?: Array; + isFavorite?: boolean; + enableUserData?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; + userId?: string; + nameStartsWithOrGreater?: string; + nameStartsWith?: string; + nameLessThan?: string; + enableImages?: boolean; + enableTotalRecordCount?: boolean; +} + +/** + * + */ +export class StudiosApi extends runtime.BaseAPI { + + /** + * Gets a studio by name. + */ + async getStudioRaw(requestParameters: GetStudioRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getStudio.'); + } + + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Studios/{name}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoFromJSON(jsonValue)); + } + + /** + * Gets a studio by name. + */ + async getStudio(requestParameters: GetStudioRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getStudioRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets all studios from a given item, folder, or the entire library. + */ + async getStudiosRaw(requestParameters: GetStudiosRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.startIndex !== undefined) { + queryParameters['startIndex'] = requestParameters.startIndex; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.searchTerm !== undefined) { + queryParameters['searchTerm'] = requestParameters.searchTerm; + } + + if (requestParameters.parentId !== undefined) { + queryParameters['parentId'] = requestParameters.parentId; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.excludeItemTypes) { + queryParameters['excludeItemTypes'] = requestParameters.excludeItemTypes; + } + + if (requestParameters.includeItemTypes) { + queryParameters['includeItemTypes'] = requestParameters.includeItemTypes; + } + + if (requestParameters.isFavorite !== undefined) { + queryParameters['isFavorite'] = requestParameters.isFavorite; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.nameStartsWithOrGreater !== undefined) { + queryParameters['nameStartsWithOrGreater'] = requestParameters.nameStartsWithOrGreater; + } + + if (requestParameters.nameStartsWith !== undefined) { + queryParameters['nameStartsWith'] = requestParameters.nameStartsWith; + } + + if (requestParameters.nameLessThan !== undefined) { + queryParameters['nameLessThan'] = requestParameters.nameLessThan; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + if (requestParameters.enableTotalRecordCount !== undefined) { + queryParameters['enableTotalRecordCount'] = requestParameters.enableTotalRecordCount; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Studios`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets all studios from a given item, folder, or the entire library. + */ + async getStudios(requestParameters: GetStudiosRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getStudiosRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/SubtitleApi.ts b/server/jellyfin/apis/SubtitleApi.ts new file mode 100644 index 0000000..df07474 --- /dev/null +++ b/server/jellyfin/apis/SubtitleApi.ts @@ -0,0 +1,562 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + FontFile, + ProblemDetails, + RemoteSubtitleInfo, + UploadSubtitleRequest, +} from '../models'; +import { + FontFileFromJSON, + FontFileToJSON, + ProblemDetailsFromJSON, + ProblemDetailsToJSON, + RemoteSubtitleInfoFromJSON, + RemoteSubtitleInfoToJSON, + UploadSubtitleRequestFromJSON, + UploadSubtitleRequestToJSON, +} from '../models'; + +export interface DeleteSubtitleRequest { + itemId: string; + index: number; +} + +export interface DownloadRemoteSubtitlesRequest { + itemId: string; + subtitleId: string; +} + +export interface GetFallbackFontRequest { + name: string; +} + +export interface GetRemoteSubtitlesRequest { + id: string; +} + +export interface GetSubtitleRequest { + routeItemId: string; + routeMediaSourceId: string; + routeIndex: number; + routeFormat: string; + itemId?: string; + mediaSourceId?: string; + index?: number; + format?: string; + endPositionTicks?: number; + copyTimestamps?: boolean; + addVttTimeMap?: boolean; + startPositionTicks?: number; +} + +export interface GetSubtitlePlaylistRequest { + itemId: string; + index: number; + mediaSourceId: string; + segmentLength: number; +} + +export interface GetSubtitleWithTicksRequest { + routeItemId: string; + routeMediaSourceId: string; + routeIndex: number; + routeStartPositionTicks: number; + routeFormat: string; + itemId?: string; + mediaSourceId?: string; + index?: number; + startPositionTicks?: number; + format?: string; + endPositionTicks?: number; + copyTimestamps?: boolean; + addVttTimeMap?: boolean; +} + +export interface SearchRemoteSubtitlesRequest { + itemId: string; + language: string; + isPerfectMatch?: boolean; +} + +export interface UploadSubtitleOperationRequest { + itemId: string; + uploadSubtitleRequest: UploadSubtitleRequest; +} + +/** + * + */ +export class SubtitleApi extends runtime.BaseAPI { + + /** + * Deletes an external subtitle file. + */ + async deleteSubtitleRaw(requestParameters: DeleteSubtitleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling deleteSubtitle.'); + } + + if (requestParameters.index === null || requestParameters.index === undefined) { + throw new runtime.RequiredError('index','Required parameter requestParameters.index was null or undefined when calling deleteSubtitle.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Videos/{itemId}/Subtitles/{index}`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))).replace(`{${"index"}}`, encodeURIComponent(String(requestParameters.index))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Deletes an external subtitle file. + */ + async deleteSubtitle(requestParameters: DeleteSubtitleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.deleteSubtitleRaw(requestParameters, initOverrides); + } + + /** + * Downloads a remote subtitle. + */ + async downloadRemoteSubtitlesRaw(requestParameters: DownloadRemoteSubtitlesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling downloadRemoteSubtitles.'); + } + + if (requestParameters.subtitleId === null || requestParameters.subtitleId === undefined) { + throw new runtime.RequiredError('subtitleId','Required parameter requestParameters.subtitleId was null or undefined when calling downloadRemoteSubtitles.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{itemId}/RemoteSearch/Subtitles/{subtitleId}`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))).replace(`{${"subtitleId"}}`, encodeURIComponent(String(requestParameters.subtitleId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Downloads a remote subtitle. + */ + async downloadRemoteSubtitles(requestParameters: DownloadRemoteSubtitlesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.downloadRemoteSubtitlesRaw(requestParameters, initOverrides); + } + + /** + * Gets a fallback font file. + */ + async getFallbackFontRaw(requestParameters: GetFallbackFontRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getFallbackFont.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/FallbackFont/Fonts/{name}`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets a fallback font file. + */ + async getFallbackFont(requestParameters: GetFallbackFontRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getFallbackFontRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a list of available fallback font files. + */ + async getFallbackFontListRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/FallbackFont/Fonts`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(FontFileFromJSON)); + } + + /** + * Gets a list of available fallback font files. + */ + async getFallbackFontList(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getFallbackFontListRaw(initOverrides); + return await response.value(); + } + + /** + * Gets the remote subtitles. + */ + async getRemoteSubtitlesRaw(requestParameters: GetRemoteSubtitlesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getRemoteSubtitles.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Providers/Subtitles/Subtitles/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets the remote subtitles. + */ + async getRemoteSubtitles(requestParameters: GetRemoteSubtitlesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getRemoteSubtitlesRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets subtitles in a specified format. + */ + async getSubtitleRaw(requestParameters: GetSubtitleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.routeItemId === null || requestParameters.routeItemId === undefined) { + throw new runtime.RequiredError('routeItemId','Required parameter requestParameters.routeItemId was null or undefined when calling getSubtitle.'); + } + + if (requestParameters.routeMediaSourceId === null || requestParameters.routeMediaSourceId === undefined) { + throw new runtime.RequiredError('routeMediaSourceId','Required parameter requestParameters.routeMediaSourceId was null or undefined when calling getSubtitle.'); + } + + if (requestParameters.routeIndex === null || requestParameters.routeIndex === undefined) { + throw new runtime.RequiredError('routeIndex','Required parameter requestParameters.routeIndex was null or undefined when calling getSubtitle.'); + } + + if (requestParameters.routeFormat === null || requestParameters.routeFormat === undefined) { + throw new runtime.RequiredError('routeFormat','Required parameter requestParameters.routeFormat was null or undefined when calling getSubtitle.'); + } + + const queryParameters: any = {}; + + if (requestParameters.itemId !== undefined) { + queryParameters['itemId'] = requestParameters.itemId; + } + + if (requestParameters.mediaSourceId !== undefined) { + queryParameters['mediaSourceId'] = requestParameters.mediaSourceId; + } + + if (requestParameters.index !== undefined) { + queryParameters['index'] = requestParameters.index; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.endPositionTicks !== undefined) { + queryParameters['endPositionTicks'] = requestParameters.endPositionTicks; + } + + if (requestParameters.copyTimestamps !== undefined) { + queryParameters['copyTimestamps'] = requestParameters.copyTimestamps; + } + + if (requestParameters.addVttTimeMap !== undefined) { + queryParameters['addVttTimeMap'] = requestParameters.addVttTimeMap; + } + + if (requestParameters.startPositionTicks !== undefined) { + queryParameters['startPositionTicks'] = requestParameters.startPositionTicks; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Videos/{routeItemId}/{routeMediaSourceId}/Subtitles/{routeIndex}/Stream.{routeFormat}`.replace(`{${"routeItemId"}}`, encodeURIComponent(String(requestParameters.routeItemId))).replace(`{${"routeMediaSourceId"}}`, encodeURIComponent(String(requestParameters.routeMediaSourceId))).replace(`{${"routeIndex"}}`, encodeURIComponent(String(requestParameters.routeIndex))).replace(`{${"routeFormat"}}`, encodeURIComponent(String(requestParameters.routeFormat))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets subtitles in a specified format. + */ + async getSubtitle(requestParameters: GetSubtitleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getSubtitleRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets an HLS subtitle playlist. + */ + async getSubtitlePlaylistRaw(requestParameters: GetSubtitlePlaylistRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getSubtitlePlaylist.'); + } + + if (requestParameters.index === null || requestParameters.index === undefined) { + throw new runtime.RequiredError('index','Required parameter requestParameters.index was null or undefined when calling getSubtitlePlaylist.'); + } + + if (requestParameters.mediaSourceId === null || requestParameters.mediaSourceId === undefined) { + throw new runtime.RequiredError('mediaSourceId','Required parameter requestParameters.mediaSourceId was null or undefined when calling getSubtitlePlaylist.'); + } + + if (requestParameters.segmentLength === null || requestParameters.segmentLength === undefined) { + throw new runtime.RequiredError('segmentLength','Required parameter requestParameters.segmentLength was null or undefined when calling getSubtitlePlaylist.'); + } + + const queryParameters: any = {}; + + if (requestParameters.segmentLength !== undefined) { + queryParameters['segmentLength'] = requestParameters.segmentLength; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Videos/{itemId}/{mediaSourceId}/Subtitles/{index}/subtitles.m3u8`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))).replace(`{${"index"}}`, encodeURIComponent(String(requestParameters.index))).replace(`{${"mediaSourceId"}}`, encodeURIComponent(String(requestParameters.mediaSourceId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets an HLS subtitle playlist. + */ + async getSubtitlePlaylist(requestParameters: GetSubtitlePlaylistRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getSubtitlePlaylistRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets subtitles in a specified format. + */ + async getSubtitleWithTicksRaw(requestParameters: GetSubtitleWithTicksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.routeItemId === null || requestParameters.routeItemId === undefined) { + throw new runtime.RequiredError('routeItemId','Required parameter requestParameters.routeItemId was null or undefined when calling getSubtitleWithTicks.'); + } + + if (requestParameters.routeMediaSourceId === null || requestParameters.routeMediaSourceId === undefined) { + throw new runtime.RequiredError('routeMediaSourceId','Required parameter requestParameters.routeMediaSourceId was null or undefined when calling getSubtitleWithTicks.'); + } + + if (requestParameters.routeIndex === null || requestParameters.routeIndex === undefined) { + throw new runtime.RequiredError('routeIndex','Required parameter requestParameters.routeIndex was null or undefined when calling getSubtitleWithTicks.'); + } + + if (requestParameters.routeStartPositionTicks === null || requestParameters.routeStartPositionTicks === undefined) { + throw new runtime.RequiredError('routeStartPositionTicks','Required parameter requestParameters.routeStartPositionTicks was null or undefined when calling getSubtitleWithTicks.'); + } + + if (requestParameters.routeFormat === null || requestParameters.routeFormat === undefined) { + throw new runtime.RequiredError('routeFormat','Required parameter requestParameters.routeFormat was null or undefined when calling getSubtitleWithTicks.'); + } + + const queryParameters: any = {}; + + if (requestParameters.itemId !== undefined) { + queryParameters['itemId'] = requestParameters.itemId; + } + + if (requestParameters.mediaSourceId !== undefined) { + queryParameters['mediaSourceId'] = requestParameters.mediaSourceId; + } + + if (requestParameters.index !== undefined) { + queryParameters['index'] = requestParameters.index; + } + + if (requestParameters.startPositionTicks !== undefined) { + queryParameters['startPositionTicks'] = requestParameters.startPositionTicks; + } + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.endPositionTicks !== undefined) { + queryParameters['endPositionTicks'] = requestParameters.endPositionTicks; + } + + if (requestParameters.copyTimestamps !== undefined) { + queryParameters['copyTimestamps'] = requestParameters.copyTimestamps; + } + + if (requestParameters.addVttTimeMap !== undefined) { + queryParameters['addVttTimeMap'] = requestParameters.addVttTimeMap; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Videos/{routeItemId}/{routeMediaSourceId}/Subtitles/{routeIndex}/{routeStartPositionTicks}/Stream.{routeFormat}`.replace(`{${"routeItemId"}}`, encodeURIComponent(String(requestParameters.routeItemId))).replace(`{${"routeMediaSourceId"}}`, encodeURIComponent(String(requestParameters.routeMediaSourceId))).replace(`{${"routeIndex"}}`, encodeURIComponent(String(requestParameters.routeIndex))).replace(`{${"routeStartPositionTicks"}}`, encodeURIComponent(String(requestParameters.routeStartPositionTicks))).replace(`{${"routeFormat"}}`, encodeURIComponent(String(requestParameters.routeFormat))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets subtitles in a specified format. + */ + async getSubtitleWithTicks(requestParameters: GetSubtitleWithTicksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getSubtitleWithTicksRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Search remote subtitles. + */ + async searchRemoteSubtitlesRaw(requestParameters: SearchRemoteSubtitlesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling searchRemoteSubtitles.'); + } + + if (requestParameters.language === null || requestParameters.language === undefined) { + throw new runtime.RequiredError('language','Required parameter requestParameters.language was null or undefined when calling searchRemoteSubtitles.'); + } + + const queryParameters: any = {}; + + if (requestParameters.isPerfectMatch !== undefined) { + queryParameters['isPerfectMatch'] = requestParameters.isPerfectMatch; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Items/{itemId}/RemoteSearch/Subtitles/{language}`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))).replace(`{${"language"}}`, encodeURIComponent(String(requestParameters.language))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(RemoteSubtitleInfoFromJSON)); + } + + /** + * Search remote subtitles. + */ + async searchRemoteSubtitles(requestParameters: SearchRemoteSubtitlesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.searchRemoteSubtitlesRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Upload an external subtitle file. + */ + async uploadSubtitleRaw(requestParameters: UploadSubtitleOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling uploadSubtitle.'); + } + + if (requestParameters.uploadSubtitleRequest === null || requestParameters.uploadSubtitleRequest === undefined) { + throw new runtime.RequiredError('uploadSubtitleRequest','Required parameter requestParameters.uploadSubtitleRequest was null or undefined when calling uploadSubtitle.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Videos/{itemId}/Subtitles`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: UploadSubtitleRequestToJSON(requestParameters.uploadSubtitleRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Upload an external subtitle file. + */ + async uploadSubtitle(requestParameters: UploadSubtitleOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.uploadSubtitleRaw(requestParameters, initOverrides); + } + +} diff --git a/server/jellyfin/apis/SuggestionsApi.ts b/server/jellyfin/apis/SuggestionsApi.ts new file mode 100644 index 0000000..0312ade --- /dev/null +++ b/server/jellyfin/apis/SuggestionsApi.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + BaseItemDtoQueryResult, + BaseItemKind, +} from '../models'; +import { + BaseItemDtoQueryResultFromJSON, + BaseItemDtoQueryResultToJSON, + BaseItemKindFromJSON, + BaseItemKindToJSON, +} from '../models'; + +export interface GetSuggestionsRequest { + userId: string; + mediaType?: Array; + type?: Array; + startIndex?: number; + limit?: number; + enableTotalRecordCount?: boolean; +} + +/** + * + */ +export class SuggestionsApi extends runtime.BaseAPI { + + /** + * Gets suggestions. + */ + async getSuggestionsRaw(requestParameters: GetSuggestionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling getSuggestions.'); + } + + const queryParameters: any = {}; + + if (requestParameters.mediaType) { + queryParameters['mediaType'] = requestParameters.mediaType; + } + + if (requestParameters.type) { + queryParameters['type'] = requestParameters.type; + } + + if (requestParameters.startIndex !== undefined) { + queryParameters['startIndex'] = requestParameters.startIndex; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.enableTotalRecordCount !== undefined) { + queryParameters['enableTotalRecordCount'] = requestParameters.enableTotalRecordCount; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/Suggestions`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets suggestions. + */ + async getSuggestions(requestParameters: GetSuggestionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getSuggestionsRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/SyncPlayApi.ts b/server/jellyfin/apis/SyncPlayApi.ts new file mode 100644 index 0000000..e1573a5 --- /dev/null +++ b/server/jellyfin/apis/SyncPlayApi.ts @@ -0,0 +1,864 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + GroupInfoDto, + SyncPlayBufferingRequest, + SyncPlayCreateGroupRequest, + SyncPlayJoinGroupRequest, + SyncPlayMovePlaylistItemRequest, + SyncPlayNextItemRequest, + SyncPlayPingRequest, + SyncPlayPreviousItemRequest, + SyncPlayQueueRequest, + SyncPlayReadyRequest, + SyncPlayRemoveFromPlaylistRequest, + SyncPlaySeekRequest, + SyncPlaySetIgnoreWaitRequest, + SyncPlaySetNewQueueRequest, + SyncPlaySetPlaylistItemRequest, + SyncPlaySetRepeatModeRequest, + SyncPlaySetShuffleModeRequest, +} from '../models'; +import { + GroupInfoDtoFromJSON, + GroupInfoDtoToJSON, + SyncPlayBufferingRequestFromJSON, + SyncPlayBufferingRequestToJSON, + SyncPlayCreateGroupRequestFromJSON, + SyncPlayCreateGroupRequestToJSON, + SyncPlayJoinGroupRequestFromJSON, + SyncPlayJoinGroupRequestToJSON, + SyncPlayMovePlaylistItemRequestFromJSON, + SyncPlayMovePlaylistItemRequestToJSON, + SyncPlayNextItemRequestFromJSON, + SyncPlayNextItemRequestToJSON, + SyncPlayPingRequestFromJSON, + SyncPlayPingRequestToJSON, + SyncPlayPreviousItemRequestFromJSON, + SyncPlayPreviousItemRequestToJSON, + SyncPlayQueueRequestFromJSON, + SyncPlayQueueRequestToJSON, + SyncPlayReadyRequestFromJSON, + SyncPlayReadyRequestToJSON, + SyncPlayRemoveFromPlaylistRequestFromJSON, + SyncPlayRemoveFromPlaylistRequestToJSON, + SyncPlaySeekRequestFromJSON, + SyncPlaySeekRequestToJSON, + SyncPlaySetIgnoreWaitRequestFromJSON, + SyncPlaySetIgnoreWaitRequestToJSON, + SyncPlaySetNewQueueRequestFromJSON, + SyncPlaySetNewQueueRequestToJSON, + SyncPlaySetPlaylistItemRequestFromJSON, + SyncPlaySetPlaylistItemRequestToJSON, + SyncPlaySetRepeatModeRequestFromJSON, + SyncPlaySetRepeatModeRequestToJSON, + SyncPlaySetShuffleModeRequestFromJSON, + SyncPlaySetShuffleModeRequestToJSON, +} from '../models'; + +export interface SyncPlayBufferingOperationRequest { + syncPlayBufferingRequest: SyncPlayBufferingRequest; +} + +export interface SyncPlayCreateGroupOperationRequest { + syncPlayCreateGroupRequest: SyncPlayCreateGroupRequest; +} + +export interface SyncPlayJoinGroupOperationRequest { + syncPlayJoinGroupRequest: SyncPlayJoinGroupRequest; +} + +export interface SyncPlayMovePlaylistItemOperationRequest { + syncPlayMovePlaylistItemRequest: SyncPlayMovePlaylistItemRequest; +} + +export interface SyncPlayNextItemOperationRequest { + syncPlayNextItemRequest: SyncPlayNextItemRequest; +} + +export interface SyncPlayPingOperationRequest { + syncPlayPingRequest: SyncPlayPingRequest; +} + +export interface SyncPlayPreviousItemOperationRequest { + syncPlayPreviousItemRequest: SyncPlayPreviousItemRequest; +} + +export interface SyncPlayQueueOperationRequest { + syncPlayQueueRequest: SyncPlayQueueRequest; +} + +export interface SyncPlayReadyOperationRequest { + syncPlayReadyRequest: SyncPlayReadyRequest; +} + +export interface SyncPlayRemoveFromPlaylistOperationRequest { + syncPlayRemoveFromPlaylistRequest: SyncPlayRemoveFromPlaylistRequest; +} + +export interface SyncPlaySeekOperationRequest { + syncPlaySeekRequest: SyncPlaySeekRequest; +} + +export interface SyncPlaySetIgnoreWaitOperationRequest { + syncPlaySetIgnoreWaitRequest: SyncPlaySetIgnoreWaitRequest; +} + +export interface SyncPlaySetNewQueueOperationRequest { + syncPlaySetNewQueueRequest: SyncPlaySetNewQueueRequest; +} + +export interface SyncPlaySetPlaylistItemOperationRequest { + syncPlaySetPlaylistItemRequest: SyncPlaySetPlaylistItemRequest; +} + +export interface SyncPlaySetRepeatModeOperationRequest { + syncPlaySetRepeatModeRequest: SyncPlaySetRepeatModeRequest; +} + +export interface SyncPlaySetShuffleModeOperationRequest { + syncPlaySetShuffleModeRequest: SyncPlaySetShuffleModeRequest; +} + +/** + * + */ +export class SyncPlayApi extends runtime.BaseAPI { + + /** + * Notify SyncPlay group that member is buffering. + */ + async syncPlayBufferingRaw(requestParameters: SyncPlayBufferingOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.syncPlayBufferingRequest === null || requestParameters.syncPlayBufferingRequest === undefined) { + throw new runtime.RequiredError('syncPlayBufferingRequest','Required parameter requestParameters.syncPlayBufferingRequest was null or undefined when calling syncPlayBuffering.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/SyncPlay/Buffering`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SyncPlayBufferingRequestToJSON(requestParameters.syncPlayBufferingRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Notify SyncPlay group that member is buffering. + */ + async syncPlayBuffering(requestParameters: SyncPlayBufferingOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.syncPlayBufferingRaw(requestParameters, initOverrides); + } + + /** + * Create a new SyncPlay group. + */ + async syncPlayCreateGroupRaw(requestParameters: SyncPlayCreateGroupOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.syncPlayCreateGroupRequest === null || requestParameters.syncPlayCreateGroupRequest === undefined) { + throw new runtime.RequiredError('syncPlayCreateGroupRequest','Required parameter requestParameters.syncPlayCreateGroupRequest was null or undefined when calling syncPlayCreateGroup.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/SyncPlay/New`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SyncPlayCreateGroupRequestToJSON(requestParameters.syncPlayCreateGroupRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Create a new SyncPlay group. + */ + async syncPlayCreateGroup(requestParameters: SyncPlayCreateGroupOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.syncPlayCreateGroupRaw(requestParameters, initOverrides); + } + + /** + * Gets all SyncPlay groups. + */ + async syncPlayGetGroupsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/SyncPlay/List`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(GroupInfoDtoFromJSON)); + } + + /** + * Gets all SyncPlay groups. + */ + async syncPlayGetGroups(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.syncPlayGetGroupsRaw(initOverrides); + return await response.value(); + } + + /** + * Join an existing SyncPlay group. + */ + async syncPlayJoinGroupRaw(requestParameters: SyncPlayJoinGroupOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.syncPlayJoinGroupRequest === null || requestParameters.syncPlayJoinGroupRequest === undefined) { + throw new runtime.RequiredError('syncPlayJoinGroupRequest','Required parameter requestParameters.syncPlayJoinGroupRequest was null or undefined when calling syncPlayJoinGroup.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/SyncPlay/Join`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SyncPlayJoinGroupRequestToJSON(requestParameters.syncPlayJoinGroupRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Join an existing SyncPlay group. + */ + async syncPlayJoinGroup(requestParameters: SyncPlayJoinGroupOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.syncPlayJoinGroupRaw(requestParameters, initOverrides); + } + + /** + * Leave the joined SyncPlay group. + */ + async syncPlayLeaveGroupRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/SyncPlay/Leave`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Leave the joined SyncPlay group. + */ + async syncPlayLeaveGroup(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.syncPlayLeaveGroupRaw(initOverrides); + } + + /** + * Request to move an item in the playlist in SyncPlay group. + */ + async syncPlayMovePlaylistItemRaw(requestParameters: SyncPlayMovePlaylistItemOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.syncPlayMovePlaylistItemRequest === null || requestParameters.syncPlayMovePlaylistItemRequest === undefined) { + throw new runtime.RequiredError('syncPlayMovePlaylistItemRequest','Required parameter requestParameters.syncPlayMovePlaylistItemRequest was null or undefined when calling syncPlayMovePlaylistItem.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/SyncPlay/MovePlaylistItem`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SyncPlayMovePlaylistItemRequestToJSON(requestParameters.syncPlayMovePlaylistItemRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Request to move an item in the playlist in SyncPlay group. + */ + async syncPlayMovePlaylistItem(requestParameters: SyncPlayMovePlaylistItemOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.syncPlayMovePlaylistItemRaw(requestParameters, initOverrides); + } + + /** + * Request next item in SyncPlay group. + */ + async syncPlayNextItemRaw(requestParameters: SyncPlayNextItemOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.syncPlayNextItemRequest === null || requestParameters.syncPlayNextItemRequest === undefined) { + throw new runtime.RequiredError('syncPlayNextItemRequest','Required parameter requestParameters.syncPlayNextItemRequest was null or undefined when calling syncPlayNextItem.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/SyncPlay/NextItem`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SyncPlayNextItemRequestToJSON(requestParameters.syncPlayNextItemRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Request next item in SyncPlay group. + */ + async syncPlayNextItem(requestParameters: SyncPlayNextItemOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.syncPlayNextItemRaw(requestParameters, initOverrides); + } + + /** + * Request pause in SyncPlay group. + */ + async syncPlayPauseRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/SyncPlay/Pause`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Request pause in SyncPlay group. + */ + async syncPlayPause(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.syncPlayPauseRaw(initOverrides); + } + + /** + * Update session ping. + */ + async syncPlayPingRaw(requestParameters: SyncPlayPingOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.syncPlayPingRequest === null || requestParameters.syncPlayPingRequest === undefined) { + throw new runtime.RequiredError('syncPlayPingRequest','Required parameter requestParameters.syncPlayPingRequest was null or undefined when calling syncPlayPing.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/SyncPlay/Ping`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SyncPlayPingRequestToJSON(requestParameters.syncPlayPingRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Update session ping. + */ + async syncPlayPing(requestParameters: SyncPlayPingOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.syncPlayPingRaw(requestParameters, initOverrides); + } + + /** + * Request previous item in SyncPlay group. + */ + async syncPlayPreviousItemRaw(requestParameters: SyncPlayPreviousItemOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.syncPlayPreviousItemRequest === null || requestParameters.syncPlayPreviousItemRequest === undefined) { + throw new runtime.RequiredError('syncPlayPreviousItemRequest','Required parameter requestParameters.syncPlayPreviousItemRequest was null or undefined when calling syncPlayPreviousItem.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/SyncPlay/PreviousItem`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SyncPlayPreviousItemRequestToJSON(requestParameters.syncPlayPreviousItemRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Request previous item in SyncPlay group. + */ + async syncPlayPreviousItem(requestParameters: SyncPlayPreviousItemOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.syncPlayPreviousItemRaw(requestParameters, initOverrides); + } + + /** + * Request to queue items to the playlist of a SyncPlay group. + */ + async syncPlayQueueRaw(requestParameters: SyncPlayQueueOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.syncPlayQueueRequest === null || requestParameters.syncPlayQueueRequest === undefined) { + throw new runtime.RequiredError('syncPlayQueueRequest','Required parameter requestParameters.syncPlayQueueRequest was null or undefined when calling syncPlayQueue.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/SyncPlay/Queue`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SyncPlayQueueRequestToJSON(requestParameters.syncPlayQueueRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Request to queue items to the playlist of a SyncPlay group. + */ + async syncPlayQueue(requestParameters: SyncPlayQueueOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.syncPlayQueueRaw(requestParameters, initOverrides); + } + + /** + * Notify SyncPlay group that member is ready for playback. + */ + async syncPlayReadyRaw(requestParameters: SyncPlayReadyOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.syncPlayReadyRequest === null || requestParameters.syncPlayReadyRequest === undefined) { + throw new runtime.RequiredError('syncPlayReadyRequest','Required parameter requestParameters.syncPlayReadyRequest was null or undefined when calling syncPlayReady.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/SyncPlay/Ready`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SyncPlayReadyRequestToJSON(requestParameters.syncPlayReadyRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Notify SyncPlay group that member is ready for playback. + */ + async syncPlayReady(requestParameters: SyncPlayReadyOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.syncPlayReadyRaw(requestParameters, initOverrides); + } + + /** + * Request to remove items from the playlist in SyncPlay group. + */ + async syncPlayRemoveFromPlaylistRaw(requestParameters: SyncPlayRemoveFromPlaylistOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.syncPlayRemoveFromPlaylistRequest === null || requestParameters.syncPlayRemoveFromPlaylistRequest === undefined) { + throw new runtime.RequiredError('syncPlayRemoveFromPlaylistRequest','Required parameter requestParameters.syncPlayRemoveFromPlaylistRequest was null or undefined when calling syncPlayRemoveFromPlaylist.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/SyncPlay/RemoveFromPlaylist`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SyncPlayRemoveFromPlaylistRequestToJSON(requestParameters.syncPlayRemoveFromPlaylistRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Request to remove items from the playlist in SyncPlay group. + */ + async syncPlayRemoveFromPlaylist(requestParameters: SyncPlayRemoveFromPlaylistOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.syncPlayRemoveFromPlaylistRaw(requestParameters, initOverrides); + } + + /** + * Request seek in SyncPlay group. + */ + async syncPlaySeekRaw(requestParameters: SyncPlaySeekOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.syncPlaySeekRequest === null || requestParameters.syncPlaySeekRequest === undefined) { + throw new runtime.RequiredError('syncPlaySeekRequest','Required parameter requestParameters.syncPlaySeekRequest was null or undefined when calling syncPlaySeek.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/SyncPlay/Seek`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SyncPlaySeekRequestToJSON(requestParameters.syncPlaySeekRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Request seek in SyncPlay group. + */ + async syncPlaySeek(requestParameters: SyncPlaySeekOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.syncPlaySeekRaw(requestParameters, initOverrides); + } + + /** + * Request SyncPlay group to ignore member during group-wait. + */ + async syncPlaySetIgnoreWaitRaw(requestParameters: SyncPlaySetIgnoreWaitOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.syncPlaySetIgnoreWaitRequest === null || requestParameters.syncPlaySetIgnoreWaitRequest === undefined) { + throw new runtime.RequiredError('syncPlaySetIgnoreWaitRequest','Required parameter requestParameters.syncPlaySetIgnoreWaitRequest was null or undefined when calling syncPlaySetIgnoreWait.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/SyncPlay/SetIgnoreWait`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SyncPlaySetIgnoreWaitRequestToJSON(requestParameters.syncPlaySetIgnoreWaitRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Request SyncPlay group to ignore member during group-wait. + */ + async syncPlaySetIgnoreWait(requestParameters: SyncPlaySetIgnoreWaitOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.syncPlaySetIgnoreWaitRaw(requestParameters, initOverrides); + } + + /** + * Request to set new playlist in SyncPlay group. + */ + async syncPlaySetNewQueueRaw(requestParameters: SyncPlaySetNewQueueOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.syncPlaySetNewQueueRequest === null || requestParameters.syncPlaySetNewQueueRequest === undefined) { + throw new runtime.RequiredError('syncPlaySetNewQueueRequest','Required parameter requestParameters.syncPlaySetNewQueueRequest was null or undefined when calling syncPlaySetNewQueue.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/SyncPlay/SetNewQueue`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SyncPlaySetNewQueueRequestToJSON(requestParameters.syncPlaySetNewQueueRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Request to set new playlist in SyncPlay group. + */ + async syncPlaySetNewQueue(requestParameters: SyncPlaySetNewQueueOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.syncPlaySetNewQueueRaw(requestParameters, initOverrides); + } + + /** + * Request to change playlist item in SyncPlay group. + */ + async syncPlaySetPlaylistItemRaw(requestParameters: SyncPlaySetPlaylistItemOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.syncPlaySetPlaylistItemRequest === null || requestParameters.syncPlaySetPlaylistItemRequest === undefined) { + throw new runtime.RequiredError('syncPlaySetPlaylistItemRequest','Required parameter requestParameters.syncPlaySetPlaylistItemRequest was null or undefined when calling syncPlaySetPlaylistItem.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/SyncPlay/SetPlaylistItem`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SyncPlaySetPlaylistItemRequestToJSON(requestParameters.syncPlaySetPlaylistItemRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Request to change playlist item in SyncPlay group. + */ + async syncPlaySetPlaylistItem(requestParameters: SyncPlaySetPlaylistItemOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.syncPlaySetPlaylistItemRaw(requestParameters, initOverrides); + } + + /** + * Request to set repeat mode in SyncPlay group. + */ + async syncPlaySetRepeatModeRaw(requestParameters: SyncPlaySetRepeatModeOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.syncPlaySetRepeatModeRequest === null || requestParameters.syncPlaySetRepeatModeRequest === undefined) { + throw new runtime.RequiredError('syncPlaySetRepeatModeRequest','Required parameter requestParameters.syncPlaySetRepeatModeRequest was null or undefined when calling syncPlaySetRepeatMode.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/SyncPlay/SetRepeatMode`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SyncPlaySetRepeatModeRequestToJSON(requestParameters.syncPlaySetRepeatModeRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Request to set repeat mode in SyncPlay group. + */ + async syncPlaySetRepeatMode(requestParameters: SyncPlaySetRepeatModeOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.syncPlaySetRepeatModeRaw(requestParameters, initOverrides); + } + + /** + * Request to set shuffle mode in SyncPlay group. + */ + async syncPlaySetShuffleModeRaw(requestParameters: SyncPlaySetShuffleModeOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.syncPlaySetShuffleModeRequest === null || requestParameters.syncPlaySetShuffleModeRequest === undefined) { + throw new runtime.RequiredError('syncPlaySetShuffleModeRequest','Required parameter requestParameters.syncPlaySetShuffleModeRequest was null or undefined when calling syncPlaySetShuffleMode.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/SyncPlay/SetShuffleMode`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SyncPlaySetShuffleModeRequestToJSON(requestParameters.syncPlaySetShuffleModeRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Request to set shuffle mode in SyncPlay group. + */ + async syncPlaySetShuffleMode(requestParameters: SyncPlaySetShuffleModeOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.syncPlaySetShuffleModeRaw(requestParameters, initOverrides); + } + + /** + * Request stop in SyncPlay group. + */ + async syncPlayStopRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/SyncPlay/Stop`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Request stop in SyncPlay group. + */ + async syncPlayStop(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.syncPlayStopRaw(initOverrides); + } + + /** + * Request unpause in SyncPlay group. + */ + async syncPlayUnpauseRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/SyncPlay/Unpause`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Request unpause in SyncPlay group. + */ + async syncPlayUnpause(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.syncPlayUnpauseRaw(initOverrides); + } + +} diff --git a/server/jellyfin/apis/SystemApi.ts b/server/jellyfin/apis/SystemApi.ts new file mode 100644 index 0000000..d143225 --- /dev/null +++ b/server/jellyfin/apis/SystemApi.ts @@ -0,0 +1,348 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + EndPointInfo, + LogFile, + PublicSystemInfo, + SystemInfo, + WakeOnLanInfo, +} from '../models'; +import { + EndPointInfoFromJSON, + EndPointInfoToJSON, + LogFileFromJSON, + LogFileToJSON, + PublicSystemInfoFromJSON, + PublicSystemInfoToJSON, + SystemInfoFromJSON, + SystemInfoToJSON, + WakeOnLanInfoFromJSON, + WakeOnLanInfoToJSON, +} from '../models'; + +export interface GetLogFileRequest { + name: string; +} + +/** + * + */ +export class SystemApi extends runtime.BaseAPI { + + /** + * Gets information about the request endpoint. + */ + async getEndpointInfoRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/System/Endpoint`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => EndPointInfoFromJSON(jsonValue)); + } + + /** + * Gets information about the request endpoint. + */ + async getEndpointInfo(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getEndpointInfoRaw(initOverrides); + return await response.value(); + } + + /** + * Gets a log file. + */ + async getLogFileRaw(requestParameters: GetLogFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getLogFile.'); + } + + const queryParameters: any = {}; + + if (requestParameters.name !== undefined) { + queryParameters['name'] = requestParameters.name; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/System/Logs/Log`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets a log file. + */ + async getLogFile(requestParameters: GetLogFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getLogFileRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Pings the system. + */ + async getPingSystemRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/System/Ping`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + if (this.isJsonMime(response.headers.get('content-type'))) { + return new runtime.JSONApiResponse(response); + } else { + return new runtime.TextApiResponse(response) as any; + } + } + + /** + * Pings the system. + */ + async getPingSystem(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getPingSystemRaw(initOverrides); + return await response.value(); + } + + /** + * Gets public information about the server. + */ + async getPublicSystemInfoRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/System/Info/Public`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PublicSystemInfoFromJSON(jsonValue)); + } + + /** + * Gets public information about the server. + */ + async getPublicSystemInfo(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getPublicSystemInfoRaw(initOverrides); + return await response.value(); + } + + /** + * Gets a list of available server log files. + */ + async getServerLogsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/System/Logs`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(LogFileFromJSON)); + } + + /** + * Gets a list of available server log files. + */ + async getServerLogs(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getServerLogsRaw(initOverrides); + return await response.value(); + } + + /** + * Gets information about the server. + */ + async getSystemInfoRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/System/Info`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SystemInfoFromJSON(jsonValue)); + } + + /** + * Gets information about the server. + */ + async getSystemInfo(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getSystemInfoRaw(initOverrides); + return await response.value(); + } + + /** + * Gets wake on lan information. + */ + async getWakeOnLanInfoRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/System/WakeOnLanInfo`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(WakeOnLanInfoFromJSON)); + } + + /** + * Gets wake on lan information. + */ + async getWakeOnLanInfo(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getWakeOnLanInfoRaw(initOverrides); + return await response.value(); + } + + /** + * Pings the system. + */ + async postPingSystemRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/System/Ping`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + if (this.isJsonMime(response.headers.get('content-type'))) { + return new runtime.JSONApiResponse(response); + } else { + return new runtime.TextApiResponse(response) as any; + } + } + + /** + * Pings the system. + */ + async postPingSystem(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.postPingSystemRaw(initOverrides); + return await response.value(); + } + + /** + * Restarts the application. + */ + async restartApplicationRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/System/Restart`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Restarts the application. + */ + async restartApplication(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.restartApplicationRaw(initOverrides); + } + + /** + * Shuts down the application. + */ + async shutdownApplicationRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/System/Shutdown`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Shuts down the application. + */ + async shutdownApplication(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.shutdownApplicationRaw(initOverrides); + } + +} diff --git a/server/jellyfin/apis/TimeSyncApi.ts b/server/jellyfin/apis/TimeSyncApi.ts new file mode 100644 index 0000000..c79fad3 --- /dev/null +++ b/server/jellyfin/apis/TimeSyncApi.ts @@ -0,0 +1,56 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + UtcTimeResponse, +} from '../models'; +import { + UtcTimeResponseFromJSON, + UtcTimeResponseToJSON, +} from '../models'; + +/** + * + */ +export class TimeSyncApi extends runtime.BaseAPI { + + /** + * Gets the current UTC time. + */ + async getUtcTimeRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/GetUtcTime`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UtcTimeResponseFromJSON(jsonValue)); + } + + /** + * Gets the current UTC time. + */ + async getUtcTime(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getUtcTimeRaw(initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/TmdbApi.ts b/server/jellyfin/apis/TmdbApi.ts new file mode 100644 index 0000000..967b524 --- /dev/null +++ b/server/jellyfin/apis/TmdbApi.ts @@ -0,0 +1,60 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + ConfigImageTypes, +} from '../models'; +import { + ConfigImageTypesFromJSON, + ConfigImageTypesToJSON, +} from '../models'; + +/** + * + */ +export class TmdbApi extends runtime.BaseAPI { + + /** + * Gets the TMDb image configuration options. + */ + async tmdbClientConfigurationRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Tmdb/ClientConfiguration`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ConfigImageTypesFromJSON(jsonValue)); + } + + /** + * Gets the TMDb image configuration options. + */ + async tmdbClientConfiguration(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.tmdbClientConfigurationRaw(initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/TrailersApi.ts b/server/jellyfin/apis/TrailersApi.ts new file mode 100644 index 0000000..bf4f498 --- /dev/null +++ b/server/jellyfin/apis/TrailersApi.ts @@ -0,0 +1,507 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + BaseItemDtoQueryResult, + BaseItemKind, + ImageType, + ItemFields, + ItemFilter, + LocationType, + SeriesStatus, + SortOrder, + VideoType, +} from '../models'; +import { + BaseItemDtoQueryResultFromJSON, + BaseItemDtoQueryResultToJSON, + BaseItemKindFromJSON, + BaseItemKindToJSON, + ImageTypeFromJSON, + ImageTypeToJSON, + ItemFieldsFromJSON, + ItemFieldsToJSON, + ItemFilterFromJSON, + ItemFilterToJSON, + LocationTypeFromJSON, + LocationTypeToJSON, + SeriesStatusFromJSON, + SeriesStatusToJSON, + SortOrderFromJSON, + SortOrderToJSON, + VideoTypeFromJSON, + VideoTypeToJSON, +} from '../models'; + +export interface GetTrailersRequest { + userId?: string; + maxOfficialRating?: string; + hasThemeSong?: boolean; + hasThemeVideo?: boolean; + hasSubtitles?: boolean; + hasSpecialFeature?: boolean; + hasTrailer?: boolean; + adjacentTo?: string; + parentIndexNumber?: number; + hasParentalRating?: boolean; + isHd?: boolean; + is4K?: boolean; + locationTypes?: Array; + excludeLocationTypes?: Array; + isMissing?: boolean; + isUnaired?: boolean; + minCommunityRating?: number; + minCriticRating?: number; + minPremiereDate?: Date; + minDateLastSaved?: Date; + minDateLastSavedForUser?: Date; + maxPremiereDate?: Date; + hasOverview?: boolean; + hasImdbId?: boolean; + hasTmdbId?: boolean; + hasTvdbId?: boolean; + isMovie?: boolean; + isSeries?: boolean; + isNews?: boolean; + isKids?: boolean; + isSports?: boolean; + excludeItemIds?: Array; + startIndex?: number; + limit?: number; + recursive?: boolean; + searchTerm?: string; + sortOrder?: Array; + parentId?: string; + fields?: Array; + excludeItemTypes?: Array; + filters?: Array; + isFavorite?: boolean; + mediaTypes?: Array; + imageTypes?: Array; + sortBy?: Array; + isPlayed?: boolean; + genres?: Array; + officialRatings?: Array; + tags?: Array; + years?: Array; + enableUserData?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; + person?: string; + personIds?: Array; + personTypes?: Array; + studios?: Array; + artists?: Array; + excludeArtistIds?: Array; + artistIds?: Array; + albumArtistIds?: Array; + contributingArtistIds?: Array; + albums?: Array; + albumIds?: Array; + ids?: Array; + videoTypes?: Array; + minOfficialRating?: string; + isLocked?: boolean; + isPlaceHolder?: boolean; + hasOfficialRating?: boolean; + collapseBoxSetItems?: boolean; + minWidth?: number; + minHeight?: number; + maxWidth?: number; + maxHeight?: number; + is3D?: boolean; + seriesStatus?: Array; + nameStartsWithOrGreater?: string; + nameStartsWith?: string; + nameLessThan?: string; + studioIds?: Array; + genreIds?: Array; + enableTotalRecordCount?: boolean; + enableImages?: boolean; +} + +/** + * + */ +export class TrailersApi extends runtime.BaseAPI { + + /** + * Finds movies and trailers similar to a given trailer. + */ + async getTrailersRaw(requestParameters: GetTrailersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.maxOfficialRating !== undefined) { + queryParameters['maxOfficialRating'] = requestParameters.maxOfficialRating; + } + + if (requestParameters.hasThemeSong !== undefined) { + queryParameters['hasThemeSong'] = requestParameters.hasThemeSong; + } + + if (requestParameters.hasThemeVideo !== undefined) { + queryParameters['hasThemeVideo'] = requestParameters.hasThemeVideo; + } + + if (requestParameters.hasSubtitles !== undefined) { + queryParameters['hasSubtitles'] = requestParameters.hasSubtitles; + } + + if (requestParameters.hasSpecialFeature !== undefined) { + queryParameters['hasSpecialFeature'] = requestParameters.hasSpecialFeature; + } + + if (requestParameters.hasTrailer !== undefined) { + queryParameters['hasTrailer'] = requestParameters.hasTrailer; + } + + if (requestParameters.adjacentTo !== undefined) { + queryParameters['adjacentTo'] = requestParameters.adjacentTo; + } + + if (requestParameters.parentIndexNumber !== undefined) { + queryParameters['parentIndexNumber'] = requestParameters.parentIndexNumber; + } + + if (requestParameters.hasParentalRating !== undefined) { + queryParameters['hasParentalRating'] = requestParameters.hasParentalRating; + } + + if (requestParameters.isHd !== undefined) { + queryParameters['isHd'] = requestParameters.isHd; + } + + if (requestParameters.is4K !== undefined) { + queryParameters['is4K'] = requestParameters.is4K; + } + + if (requestParameters.locationTypes) { + queryParameters['locationTypes'] = requestParameters.locationTypes; + } + + if (requestParameters.excludeLocationTypes) { + queryParameters['excludeLocationTypes'] = requestParameters.excludeLocationTypes; + } + + if (requestParameters.isMissing !== undefined) { + queryParameters['isMissing'] = requestParameters.isMissing; + } + + if (requestParameters.isUnaired !== undefined) { + queryParameters['isUnaired'] = requestParameters.isUnaired; + } + + if (requestParameters.minCommunityRating !== undefined) { + queryParameters['minCommunityRating'] = requestParameters.minCommunityRating; + } + + if (requestParameters.minCriticRating !== undefined) { + queryParameters['minCriticRating'] = requestParameters.minCriticRating; + } + + if (requestParameters.minPremiereDate !== undefined) { + queryParameters['minPremiereDate'] = (requestParameters.minPremiereDate as any).toISOString(); + } + + if (requestParameters.minDateLastSaved !== undefined) { + queryParameters['minDateLastSaved'] = (requestParameters.minDateLastSaved as any).toISOString(); + } + + if (requestParameters.minDateLastSavedForUser !== undefined) { + queryParameters['minDateLastSavedForUser'] = (requestParameters.minDateLastSavedForUser as any).toISOString(); + } + + if (requestParameters.maxPremiereDate !== undefined) { + queryParameters['maxPremiereDate'] = (requestParameters.maxPremiereDate as any).toISOString(); + } + + if (requestParameters.hasOverview !== undefined) { + queryParameters['hasOverview'] = requestParameters.hasOverview; + } + + if (requestParameters.hasImdbId !== undefined) { + queryParameters['hasImdbId'] = requestParameters.hasImdbId; + } + + if (requestParameters.hasTmdbId !== undefined) { + queryParameters['hasTmdbId'] = requestParameters.hasTmdbId; + } + + if (requestParameters.hasTvdbId !== undefined) { + queryParameters['hasTvdbId'] = requestParameters.hasTvdbId; + } + + if (requestParameters.isMovie !== undefined) { + queryParameters['isMovie'] = requestParameters.isMovie; + } + + if (requestParameters.isSeries !== undefined) { + queryParameters['isSeries'] = requestParameters.isSeries; + } + + if (requestParameters.isNews !== undefined) { + queryParameters['isNews'] = requestParameters.isNews; + } + + if (requestParameters.isKids !== undefined) { + queryParameters['isKids'] = requestParameters.isKids; + } + + if (requestParameters.isSports !== undefined) { + queryParameters['isSports'] = requestParameters.isSports; + } + + if (requestParameters.excludeItemIds) { + queryParameters['excludeItemIds'] = requestParameters.excludeItemIds; + } + + if (requestParameters.startIndex !== undefined) { + queryParameters['startIndex'] = requestParameters.startIndex; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.recursive !== undefined) { + queryParameters['recursive'] = requestParameters.recursive; + } + + if (requestParameters.searchTerm !== undefined) { + queryParameters['searchTerm'] = requestParameters.searchTerm; + } + + if (requestParameters.sortOrder) { + queryParameters['sortOrder'] = requestParameters.sortOrder; + } + + if (requestParameters.parentId !== undefined) { + queryParameters['parentId'] = requestParameters.parentId; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.excludeItemTypes) { + queryParameters['excludeItemTypes'] = requestParameters.excludeItemTypes; + } + + if (requestParameters.filters) { + queryParameters['filters'] = requestParameters.filters; + } + + if (requestParameters.isFavorite !== undefined) { + queryParameters['isFavorite'] = requestParameters.isFavorite; + } + + if (requestParameters.mediaTypes) { + queryParameters['mediaTypes'] = requestParameters.mediaTypes; + } + + if (requestParameters.imageTypes) { + queryParameters['imageTypes'] = requestParameters.imageTypes; + } + + if (requestParameters.sortBy) { + queryParameters['sortBy'] = requestParameters.sortBy; + } + + if (requestParameters.isPlayed !== undefined) { + queryParameters['isPlayed'] = requestParameters.isPlayed; + } + + if (requestParameters.genres) { + queryParameters['genres'] = requestParameters.genres; + } + + if (requestParameters.officialRatings) { + queryParameters['officialRatings'] = requestParameters.officialRatings; + } + + if (requestParameters.tags) { + queryParameters['tags'] = requestParameters.tags; + } + + if (requestParameters.years) { + queryParameters['years'] = requestParameters.years; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + if (requestParameters.person !== undefined) { + queryParameters['person'] = requestParameters.person; + } + + if (requestParameters.personIds) { + queryParameters['personIds'] = requestParameters.personIds; + } + + if (requestParameters.personTypes) { + queryParameters['personTypes'] = requestParameters.personTypes; + } + + if (requestParameters.studios) { + queryParameters['studios'] = requestParameters.studios; + } + + if (requestParameters.artists) { + queryParameters['artists'] = requestParameters.artists; + } + + if (requestParameters.excludeArtistIds) { + queryParameters['excludeArtistIds'] = requestParameters.excludeArtistIds; + } + + if (requestParameters.artistIds) { + queryParameters['artistIds'] = requestParameters.artistIds; + } + + if (requestParameters.albumArtistIds) { + queryParameters['albumArtistIds'] = requestParameters.albumArtistIds; + } + + if (requestParameters.contributingArtistIds) { + queryParameters['contributingArtistIds'] = requestParameters.contributingArtistIds; + } + + if (requestParameters.albums) { + queryParameters['albums'] = requestParameters.albums; + } + + if (requestParameters.albumIds) { + queryParameters['albumIds'] = requestParameters.albumIds; + } + + if (requestParameters.ids) { + queryParameters['ids'] = requestParameters.ids; + } + + if (requestParameters.videoTypes) { + queryParameters['videoTypes'] = requestParameters.videoTypes; + } + + if (requestParameters.minOfficialRating !== undefined) { + queryParameters['minOfficialRating'] = requestParameters.minOfficialRating; + } + + if (requestParameters.isLocked !== undefined) { + queryParameters['isLocked'] = requestParameters.isLocked; + } + + if (requestParameters.isPlaceHolder !== undefined) { + queryParameters['isPlaceHolder'] = requestParameters.isPlaceHolder; + } + + if (requestParameters.hasOfficialRating !== undefined) { + queryParameters['hasOfficialRating'] = requestParameters.hasOfficialRating; + } + + if (requestParameters.collapseBoxSetItems !== undefined) { + queryParameters['collapseBoxSetItems'] = requestParameters.collapseBoxSetItems; + } + + if (requestParameters.minWidth !== undefined) { + queryParameters['minWidth'] = requestParameters.minWidth; + } + + if (requestParameters.minHeight !== undefined) { + queryParameters['minHeight'] = requestParameters.minHeight; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.is3D !== undefined) { + queryParameters['is3D'] = requestParameters.is3D; + } + + if (requestParameters.seriesStatus) { + queryParameters['seriesStatus'] = requestParameters.seriesStatus; + } + + if (requestParameters.nameStartsWithOrGreater !== undefined) { + queryParameters['nameStartsWithOrGreater'] = requestParameters.nameStartsWithOrGreater; + } + + if (requestParameters.nameStartsWith !== undefined) { + queryParameters['nameStartsWith'] = requestParameters.nameStartsWith; + } + + if (requestParameters.nameLessThan !== undefined) { + queryParameters['nameLessThan'] = requestParameters.nameLessThan; + } + + if (requestParameters.studioIds) { + queryParameters['studioIds'] = requestParameters.studioIds; + } + + if (requestParameters.genreIds) { + queryParameters['genreIds'] = requestParameters.genreIds; + } + + if (requestParameters.enableTotalRecordCount !== undefined) { + queryParameters['enableTotalRecordCount'] = requestParameters.enableTotalRecordCount; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Trailers`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Finds movies and trailers similar to a given trailer. + */ + async getTrailers(requestParameters: GetTrailersRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getTrailersRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/TvShowsApi.ts b/server/jellyfin/apis/TvShowsApi.ts new file mode 100644 index 0000000..ed2a35c --- /dev/null +++ b/server/jellyfin/apis/TvShowsApi.ts @@ -0,0 +1,411 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + BaseItemDtoQueryResult, + ImageType, + ItemFields, + ProblemDetails, +} from '../models'; +import { + BaseItemDtoQueryResultFromJSON, + BaseItemDtoQueryResultToJSON, + ImageTypeFromJSON, + ImageTypeToJSON, + ItemFieldsFromJSON, + ItemFieldsToJSON, + ProblemDetailsFromJSON, + ProblemDetailsToJSON, +} from '../models'; + +export interface GetEpisodesRequest { + seriesId: string; + userId?: string; + fields?: Array; + season?: number; + seasonId?: string; + isMissing?: boolean; + adjacentTo?: string; + startItemId?: string; + startIndex?: number; + limit?: number; + enableImages?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; + enableUserData?: boolean; + sortBy?: string; +} + +export interface GetNextUpRequest { + userId?: string; + startIndex?: number; + limit?: number; + fields?: Array; + seriesId?: string; + parentId?: string; + enableImages?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; + enableUserData?: boolean; + nextUpDateCutoff?: Date; + enableTotalRecordCount?: boolean; + disableFirstEpisode?: boolean; + enableRewatching?: boolean; +} + +export interface GetSeasonsRequest { + seriesId: string; + userId?: string; + fields?: Array; + isSpecialSeason?: boolean; + isMissing?: boolean; + adjacentTo?: string; + enableImages?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; + enableUserData?: boolean; +} + +export interface GetUpcomingEpisodesRequest { + userId?: string; + startIndex?: number; + limit?: number; + fields?: Array; + parentId?: string; + enableImages?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; + enableUserData?: boolean; +} + +/** + * + */ +export class TvShowsApi extends runtime.BaseAPI { + + /** + * Gets episodes for a tv season. + */ + async getEpisodesRaw(requestParameters: GetEpisodesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.seriesId === null || requestParameters.seriesId === undefined) { + throw new runtime.RequiredError('seriesId','Required parameter requestParameters.seriesId was null or undefined when calling getEpisodes.'); + } + + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.season !== undefined) { + queryParameters['season'] = requestParameters.season; + } + + if (requestParameters.seasonId !== undefined) { + queryParameters['seasonId'] = requestParameters.seasonId; + } + + if (requestParameters.isMissing !== undefined) { + queryParameters['isMissing'] = requestParameters.isMissing; + } + + if (requestParameters.adjacentTo !== undefined) { + queryParameters['adjacentTo'] = requestParameters.adjacentTo; + } + + if (requestParameters.startItemId !== undefined) { + queryParameters['startItemId'] = requestParameters.startItemId; + } + + if (requestParameters.startIndex !== undefined) { + queryParameters['startIndex'] = requestParameters.startIndex; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + if (requestParameters.sortBy !== undefined) { + queryParameters['sortBy'] = requestParameters.sortBy; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Shows/{seriesId}/Episodes`.replace(`{${"seriesId"}}`, encodeURIComponent(String(requestParameters.seriesId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets episodes for a tv season. + */ + async getEpisodes(requestParameters: GetEpisodesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getEpisodesRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a list of next up episodes. + */ + async getNextUpRaw(requestParameters: GetNextUpRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.startIndex !== undefined) { + queryParameters['startIndex'] = requestParameters.startIndex; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.seriesId !== undefined) { + queryParameters['seriesId'] = requestParameters.seriesId; + } + + if (requestParameters.parentId !== undefined) { + queryParameters['parentId'] = requestParameters.parentId; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + if (requestParameters.nextUpDateCutoff !== undefined) { + queryParameters['nextUpDateCutoff'] = (requestParameters.nextUpDateCutoff as any).toISOString(); + } + + if (requestParameters.enableTotalRecordCount !== undefined) { + queryParameters['enableTotalRecordCount'] = requestParameters.enableTotalRecordCount; + } + + if (requestParameters.disableFirstEpisode !== undefined) { + queryParameters['disableFirstEpisode'] = requestParameters.disableFirstEpisode; + } + + if (requestParameters.enableRewatching !== undefined) { + queryParameters['enableRewatching'] = requestParameters.enableRewatching; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Shows/NextUp`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets a list of next up episodes. + */ + async getNextUp(requestParameters: GetNextUpRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getNextUpRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets seasons for a tv series. + */ + async getSeasonsRaw(requestParameters: GetSeasonsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.seriesId === null || requestParameters.seriesId === undefined) { + throw new runtime.RequiredError('seriesId','Required parameter requestParameters.seriesId was null or undefined when calling getSeasons.'); + } + + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.isSpecialSeason !== undefined) { + queryParameters['isSpecialSeason'] = requestParameters.isSpecialSeason; + } + + if (requestParameters.isMissing !== undefined) { + queryParameters['isMissing'] = requestParameters.isMissing; + } + + if (requestParameters.adjacentTo !== undefined) { + queryParameters['adjacentTo'] = requestParameters.adjacentTo; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Shows/{seriesId}/Seasons`.replace(`{${"seriesId"}}`, encodeURIComponent(String(requestParameters.seriesId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets seasons for a tv series. + */ + async getSeasons(requestParameters: GetSeasonsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getSeasonsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a list of upcoming episodes. + */ + async getUpcomingEpisodesRaw(requestParameters: GetUpcomingEpisodesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.startIndex !== undefined) { + queryParameters['startIndex'] = requestParameters.startIndex; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.parentId !== undefined) { + queryParameters['parentId'] = requestParameters.parentId; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Shows/Upcoming`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets a list of upcoming episodes. + */ + async getUpcomingEpisodes(requestParameters: GetUpcomingEpisodesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getUpcomingEpisodesRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/UniversalAudioApi.ts b/server/jellyfin/apis/UniversalAudioApi.ts new file mode 100644 index 0000000..0f5ee75 --- /dev/null +++ b/server/jellyfin/apis/UniversalAudioApi.ts @@ -0,0 +1,269 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; + +export interface GetUniversalAudioStreamRequest { + itemId: string; + container?: Array; + mediaSourceId?: string; + deviceId?: string; + userId?: string; + audioCodec?: string; + maxAudioChannels?: number; + transcodingAudioChannels?: number; + maxStreamingBitrate?: number; + audioBitRate?: number; + startTimeTicks?: number; + transcodingContainer?: string; + transcodingProtocol?: string; + maxAudioSampleRate?: number; + maxAudioBitDepth?: number; + enableRemoteMedia?: boolean; + breakOnNonKeyFrames?: boolean; + enableRedirection?: boolean; +} + +export interface HeadUniversalAudioStreamRequest { + itemId: string; + container?: Array; + mediaSourceId?: string; + deviceId?: string; + userId?: string; + audioCodec?: string; + maxAudioChannels?: number; + transcodingAudioChannels?: number; + maxStreamingBitrate?: number; + audioBitRate?: number; + startTimeTicks?: number; + transcodingContainer?: string; + transcodingProtocol?: string; + maxAudioSampleRate?: number; + maxAudioBitDepth?: number; + enableRemoteMedia?: boolean; + breakOnNonKeyFrames?: boolean; + enableRedirection?: boolean; +} + +/** + * + */ +export class UniversalAudioApi extends runtime.BaseAPI { + + /** + * Gets an audio stream. + */ + async getUniversalAudioStreamRaw(requestParameters: GetUniversalAudioStreamRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getUniversalAudioStream.'); + } + + const queryParameters: any = {}; + + if (requestParameters.container) { + queryParameters['container'] = requestParameters.container; + } + + if (requestParameters.mediaSourceId !== undefined) { + queryParameters['mediaSourceId'] = requestParameters.mediaSourceId; + } + + if (requestParameters.deviceId !== undefined) { + queryParameters['deviceId'] = requestParameters.deviceId; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.audioCodec !== undefined) { + queryParameters['audioCodec'] = requestParameters.audioCodec; + } + + if (requestParameters.maxAudioChannels !== undefined) { + queryParameters['maxAudioChannels'] = requestParameters.maxAudioChannels; + } + + if (requestParameters.transcodingAudioChannels !== undefined) { + queryParameters['transcodingAudioChannels'] = requestParameters.transcodingAudioChannels; + } + + if (requestParameters.maxStreamingBitrate !== undefined) { + queryParameters['maxStreamingBitrate'] = requestParameters.maxStreamingBitrate; + } + + if (requestParameters.audioBitRate !== undefined) { + queryParameters['audioBitRate'] = requestParameters.audioBitRate; + } + + if (requestParameters.startTimeTicks !== undefined) { + queryParameters['startTimeTicks'] = requestParameters.startTimeTicks; + } + + if (requestParameters.transcodingContainer !== undefined) { + queryParameters['transcodingContainer'] = requestParameters.transcodingContainer; + } + + if (requestParameters.transcodingProtocol !== undefined) { + queryParameters['transcodingProtocol'] = requestParameters.transcodingProtocol; + } + + if (requestParameters.maxAudioSampleRate !== undefined) { + queryParameters['maxAudioSampleRate'] = requestParameters.maxAudioSampleRate; + } + + if (requestParameters.maxAudioBitDepth !== undefined) { + queryParameters['maxAudioBitDepth'] = requestParameters.maxAudioBitDepth; + } + + if (requestParameters.enableRemoteMedia !== undefined) { + queryParameters['enableRemoteMedia'] = requestParameters.enableRemoteMedia; + } + + if (requestParameters.breakOnNonKeyFrames !== undefined) { + queryParameters['breakOnNonKeyFrames'] = requestParameters.breakOnNonKeyFrames; + } + + if (requestParameters.enableRedirection !== undefined) { + queryParameters['enableRedirection'] = requestParameters.enableRedirection; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Audio/{itemId}/universal`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets an audio stream. + */ + async getUniversalAudioStream(requestParameters: GetUniversalAudioStreamRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getUniversalAudioStreamRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets an audio stream. + */ + async headUniversalAudioStreamRaw(requestParameters: HeadUniversalAudioStreamRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling headUniversalAudioStream.'); + } + + const queryParameters: any = {}; + + if (requestParameters.container) { + queryParameters['container'] = requestParameters.container; + } + + if (requestParameters.mediaSourceId !== undefined) { + queryParameters['mediaSourceId'] = requestParameters.mediaSourceId; + } + + if (requestParameters.deviceId !== undefined) { + queryParameters['deviceId'] = requestParameters.deviceId; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.audioCodec !== undefined) { + queryParameters['audioCodec'] = requestParameters.audioCodec; + } + + if (requestParameters.maxAudioChannels !== undefined) { + queryParameters['maxAudioChannels'] = requestParameters.maxAudioChannels; + } + + if (requestParameters.transcodingAudioChannels !== undefined) { + queryParameters['transcodingAudioChannels'] = requestParameters.transcodingAudioChannels; + } + + if (requestParameters.maxStreamingBitrate !== undefined) { + queryParameters['maxStreamingBitrate'] = requestParameters.maxStreamingBitrate; + } + + if (requestParameters.audioBitRate !== undefined) { + queryParameters['audioBitRate'] = requestParameters.audioBitRate; + } + + if (requestParameters.startTimeTicks !== undefined) { + queryParameters['startTimeTicks'] = requestParameters.startTimeTicks; + } + + if (requestParameters.transcodingContainer !== undefined) { + queryParameters['transcodingContainer'] = requestParameters.transcodingContainer; + } + + if (requestParameters.transcodingProtocol !== undefined) { + queryParameters['transcodingProtocol'] = requestParameters.transcodingProtocol; + } + + if (requestParameters.maxAudioSampleRate !== undefined) { + queryParameters['maxAudioSampleRate'] = requestParameters.maxAudioSampleRate; + } + + if (requestParameters.maxAudioBitDepth !== undefined) { + queryParameters['maxAudioBitDepth'] = requestParameters.maxAudioBitDepth; + } + + if (requestParameters.enableRemoteMedia !== undefined) { + queryParameters['enableRemoteMedia'] = requestParameters.enableRemoteMedia; + } + + if (requestParameters.breakOnNonKeyFrames !== undefined) { + queryParameters['breakOnNonKeyFrames'] = requestParameters.breakOnNonKeyFrames; + } + + if (requestParameters.enableRedirection !== undefined) { + queryParameters['enableRedirection'] = requestParameters.enableRedirection; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Audio/{itemId}/universal`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'HEAD', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets an audio stream. + */ + async headUniversalAudioStream(requestParameters: HeadUniversalAudioStreamRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.headUniversalAudioStreamRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/UserApi.ts b/server/jellyfin/apis/UserApi.ts new file mode 100644 index 0000000..8eb889c --- /dev/null +++ b/server/jellyfin/apis/UserApi.ts @@ -0,0 +1,708 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + AuthenticateUserByNameRequest, + AuthenticateWithQuickConnectRequest, + AuthenticationResult, + CreateUserByNameRequest, + ForgotPasswordPinRequest, + ForgotPasswordRequest, + ForgotPasswordResult, + PinRedeemResult, + ProblemDetails, + UpdateUserConfigurationRequest, + UpdateUserEasyPasswordRequest, + UpdateUserPasswordRequest, + UpdateUserPolicyRequest, + UpdateUserRequest, + UserDto, +} from '../models'; +import { + AuthenticateUserByNameRequestFromJSON, + AuthenticateUserByNameRequestToJSON, + AuthenticateWithQuickConnectRequestFromJSON, + AuthenticateWithQuickConnectRequestToJSON, + AuthenticationResultFromJSON, + AuthenticationResultToJSON, + CreateUserByNameRequestFromJSON, + CreateUserByNameRequestToJSON, + ForgotPasswordPinRequestFromJSON, + ForgotPasswordPinRequestToJSON, + ForgotPasswordRequestFromJSON, + ForgotPasswordRequestToJSON, + ForgotPasswordResultFromJSON, + ForgotPasswordResultToJSON, + PinRedeemResultFromJSON, + PinRedeemResultToJSON, + ProblemDetailsFromJSON, + ProblemDetailsToJSON, + UpdateUserConfigurationRequestFromJSON, + UpdateUserConfigurationRequestToJSON, + UpdateUserEasyPasswordRequestFromJSON, + UpdateUserEasyPasswordRequestToJSON, + UpdateUserPasswordRequestFromJSON, + UpdateUserPasswordRequestToJSON, + UpdateUserPolicyRequestFromJSON, + UpdateUserPolicyRequestToJSON, + UpdateUserRequestFromJSON, + UpdateUserRequestToJSON, + UserDtoFromJSON, + UserDtoToJSON, +} from '../models'; + +export interface AuthenticateUserRequest { + userId: string; + pw: string; + password?: string; +} + +export interface AuthenticateUserByNameOperationRequest { + authenticateUserByNameRequest: AuthenticateUserByNameRequest; +} + +export interface AuthenticateWithQuickConnectOperationRequest { + authenticateWithQuickConnectRequest: AuthenticateWithQuickConnectRequest; +} + +export interface CreateUserByNameOperationRequest { + createUserByNameRequest: CreateUserByNameRequest; +} + +export interface DeleteUserRequest { + userId: string; +} + +export interface ForgotPasswordOperationRequest { + forgotPasswordRequest: ForgotPasswordRequest; +} + +export interface ForgotPasswordPinOperationRequest { + forgotPasswordPinRequest: ForgotPasswordPinRequest; +} + +export interface GetUserByIdRequest { + userId: string; +} + +export interface GetUsersRequest { + isHidden?: boolean; + isDisabled?: boolean; +} + +export interface UpdateUserOperationRequest { + userId: string; + updateUserRequest: UpdateUserRequest; +} + +export interface UpdateUserConfigurationOperationRequest { + userId: string; + updateUserConfigurationRequest: UpdateUserConfigurationRequest; +} + +export interface UpdateUserEasyPasswordOperationRequest { + userId: string; + updateUserEasyPasswordRequest: UpdateUserEasyPasswordRequest; +} + +export interface UpdateUserPasswordOperationRequest { + userId: string; + updateUserPasswordRequest: UpdateUserPasswordRequest; +} + +export interface UpdateUserPolicyOperationRequest { + userId: string; + updateUserPolicyRequest: UpdateUserPolicyRequest; +} + +/** + * + */ +export class UserApi extends runtime.BaseAPI { + + /** + * Authenticates a user. + */ + async authenticateUserRaw(requestParameters: AuthenticateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling authenticateUser.'); + } + + if (requestParameters.pw === null || requestParameters.pw === undefined) { + throw new runtime.RequiredError('pw','Required parameter requestParameters.pw was null or undefined when calling authenticateUser.'); + } + + const queryParameters: any = {}; + + if (requestParameters.pw !== undefined) { + queryParameters['pw'] = requestParameters.pw; + } + + if (requestParameters.password !== undefined) { + queryParameters['password'] = requestParameters.password; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Users/{userId}/Authenticate`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AuthenticationResultFromJSON(jsonValue)); + } + + /** + * Authenticates a user. + */ + async authenticateUser(requestParameters: AuthenticateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.authenticateUserRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Authenticates a user by name. + */ + async authenticateUserByNameRaw(requestParameters: AuthenticateUserByNameOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.authenticateUserByNameRequest === null || requestParameters.authenticateUserByNameRequest === undefined) { + throw new runtime.RequiredError('authenticateUserByNameRequest','Required parameter requestParameters.authenticateUserByNameRequest was null or undefined when calling authenticateUserByName.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + const response = await this.request({ + path: `/Users/AuthenticateByName`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: AuthenticateUserByNameRequestToJSON(requestParameters.authenticateUserByNameRequest), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AuthenticationResultFromJSON(jsonValue)); + } + + /** + * Authenticates a user by name. + */ + async authenticateUserByName(requestParameters: AuthenticateUserByNameOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.authenticateUserByNameRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Authenticates a user with quick connect. + */ + async authenticateWithQuickConnectRaw(requestParameters: AuthenticateWithQuickConnectOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.authenticateWithQuickConnectRequest === null || requestParameters.authenticateWithQuickConnectRequest === undefined) { + throw new runtime.RequiredError('authenticateWithQuickConnectRequest','Required parameter requestParameters.authenticateWithQuickConnectRequest was null or undefined when calling authenticateWithQuickConnect.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + const response = await this.request({ + path: `/Users/AuthenticateWithQuickConnect`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: AuthenticateWithQuickConnectRequestToJSON(requestParameters.authenticateWithQuickConnectRequest), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AuthenticationResultFromJSON(jsonValue)); + } + + /** + * Authenticates a user with quick connect. + */ + async authenticateWithQuickConnect(requestParameters: AuthenticateWithQuickConnectOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.authenticateWithQuickConnectRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Creates a user. + */ + async createUserByNameRaw(requestParameters: CreateUserByNameOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.createUserByNameRequest === null || requestParameters.createUserByNameRequest === undefined) { + throw new runtime.RequiredError('createUserByNameRequest','Required parameter requestParameters.createUserByNameRequest was null or undefined when calling createUserByName.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/New`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: CreateUserByNameRequestToJSON(requestParameters.createUserByNameRequest), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserDtoFromJSON(jsonValue)); + } + + /** + * Creates a user. + */ + async createUserByName(requestParameters: CreateUserByNameOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.createUserByNameRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Deletes a user. + */ + async deleteUserRaw(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling deleteUser.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Deletes a user. + */ + async deleteUser(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.deleteUserRaw(requestParameters, initOverrides); + } + + /** + * Initiates the forgot password process for a local user. + */ + async forgotPasswordRaw(requestParameters: ForgotPasswordOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.forgotPasswordRequest === null || requestParameters.forgotPasswordRequest === undefined) { + throw new runtime.RequiredError('forgotPasswordRequest','Required parameter requestParameters.forgotPasswordRequest was null or undefined when calling forgotPassword.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + const response = await this.request({ + path: `/Users/ForgotPassword`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: ForgotPasswordRequestToJSON(requestParameters.forgotPasswordRequest), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ForgotPasswordResultFromJSON(jsonValue)); + } + + /** + * Initiates the forgot password process for a local user. + */ + async forgotPassword(requestParameters: ForgotPasswordOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.forgotPasswordRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Redeems a forgot password pin. + */ + async forgotPasswordPinRaw(requestParameters: ForgotPasswordPinOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.forgotPasswordPinRequest === null || requestParameters.forgotPasswordPinRequest === undefined) { + throw new runtime.RequiredError('forgotPasswordPinRequest','Required parameter requestParameters.forgotPasswordPinRequest was null or undefined when calling forgotPasswordPin.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + const response = await this.request({ + path: `/Users/ForgotPassword/Pin`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: ForgotPasswordPinRequestToJSON(requestParameters.forgotPasswordPinRequest), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PinRedeemResultFromJSON(jsonValue)); + } + + /** + * Redeems a forgot password pin. + */ + async forgotPasswordPin(requestParameters: ForgotPasswordPinOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.forgotPasswordPinRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets the user based on auth token. + */ + async getCurrentUserRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/Me`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserDtoFromJSON(jsonValue)); + } + + /** + * Gets the user based on auth token. + */ + async getCurrentUser(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getCurrentUserRaw(initOverrides); + return await response.value(); + } + + /** + * Gets a list of publicly visible users for display on a login screen. + */ + async getPublicUsersRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Users/Public`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(UserDtoFromJSON)); + } + + /** + * Gets a list of publicly visible users for display on a login screen. + */ + async getPublicUsers(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getPublicUsersRaw(initOverrides); + return await response.value(); + } + + /** + * Gets a user by Id. + */ + async getUserByIdRaw(requestParameters: GetUserByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling getUserById.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserDtoFromJSON(jsonValue)); + } + + /** + * Gets a user by Id. + */ + async getUserById(requestParameters: GetUserByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getUserByIdRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a list of users. + */ + async getUsersRaw(requestParameters: GetUsersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + if (requestParameters.isHidden !== undefined) { + queryParameters['isHidden'] = requestParameters.isHidden; + } + + if (requestParameters.isDisabled !== undefined) { + queryParameters['isDisabled'] = requestParameters.isDisabled; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(UserDtoFromJSON)); + } + + /** + * Gets a list of users. + */ + async getUsers(requestParameters: GetUsersRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getUsersRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Updates a user. + */ + async updateUserRaw(requestParameters: UpdateUserOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling updateUser.'); + } + + if (requestParameters.updateUserRequest === null || requestParameters.updateUserRequest === undefined) { + throw new runtime.RequiredError('updateUserRequest','Required parameter requestParameters.updateUserRequest was null or undefined when calling updateUser.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: UpdateUserRequestToJSON(requestParameters.updateUserRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Updates a user. + */ + async updateUser(requestParameters: UpdateUserOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.updateUserRaw(requestParameters, initOverrides); + } + + /** + * Updates a user configuration. + */ + async updateUserConfigurationRaw(requestParameters: UpdateUserConfigurationOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling updateUserConfiguration.'); + } + + if (requestParameters.updateUserConfigurationRequest === null || requestParameters.updateUserConfigurationRequest === undefined) { + throw new runtime.RequiredError('updateUserConfigurationRequest','Required parameter requestParameters.updateUserConfigurationRequest was null or undefined when calling updateUserConfiguration.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/Configuration`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: UpdateUserConfigurationRequestToJSON(requestParameters.updateUserConfigurationRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Updates a user configuration. + */ + async updateUserConfiguration(requestParameters: UpdateUserConfigurationOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.updateUserConfigurationRaw(requestParameters, initOverrides); + } + + /** + * Updates a user\'s easy password. + */ + async updateUserEasyPasswordRaw(requestParameters: UpdateUserEasyPasswordOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling updateUserEasyPassword.'); + } + + if (requestParameters.updateUserEasyPasswordRequest === null || requestParameters.updateUserEasyPasswordRequest === undefined) { + throw new runtime.RequiredError('updateUserEasyPasswordRequest','Required parameter requestParameters.updateUserEasyPasswordRequest was null or undefined when calling updateUserEasyPassword.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/EasyPassword`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: UpdateUserEasyPasswordRequestToJSON(requestParameters.updateUserEasyPasswordRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Updates a user\'s easy password. + */ + async updateUserEasyPassword(requestParameters: UpdateUserEasyPasswordOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.updateUserEasyPasswordRaw(requestParameters, initOverrides); + } + + /** + * Updates a user\'s password. + */ + async updateUserPasswordRaw(requestParameters: UpdateUserPasswordOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling updateUserPassword.'); + } + + if (requestParameters.updateUserPasswordRequest === null || requestParameters.updateUserPasswordRequest === undefined) { + throw new runtime.RequiredError('updateUserPasswordRequest','Required parameter requestParameters.updateUserPasswordRequest was null or undefined when calling updateUserPassword.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/Password`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: UpdateUserPasswordRequestToJSON(requestParameters.updateUserPasswordRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Updates a user\'s password. + */ + async updateUserPassword(requestParameters: UpdateUserPasswordOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.updateUserPasswordRaw(requestParameters, initOverrides); + } + + /** + * Updates a user policy. + */ + async updateUserPolicyRaw(requestParameters: UpdateUserPolicyOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling updateUserPolicy.'); + } + + if (requestParameters.updateUserPolicyRequest === null || requestParameters.updateUserPolicyRequest === undefined) { + throw new runtime.RequiredError('updateUserPolicyRequest','Required parameter requestParameters.updateUserPolicyRequest was null or undefined when calling updateUserPolicy.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/Policy`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: UpdateUserPolicyRequestToJSON(requestParameters.updateUserPolicyRequest), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Updates a user policy. + */ + async updateUserPolicy(requestParameters: UpdateUserPolicyOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.updateUserPolicyRaw(requestParameters, initOverrides); + } + +} diff --git a/server/jellyfin/apis/UserLibraryApi.ts b/server/jellyfin/apis/UserLibraryApi.ts new file mode 100644 index 0000000..e993335 --- /dev/null +++ b/server/jellyfin/apis/UserLibraryApi.ts @@ -0,0 +1,520 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + BaseItemDto, + BaseItemDtoQueryResult, + BaseItemKind, + ImageType, + ItemFields, + UserItemDataDto, +} from '../models'; +import { + BaseItemDtoFromJSON, + BaseItemDtoToJSON, + BaseItemDtoQueryResultFromJSON, + BaseItemDtoQueryResultToJSON, + BaseItemKindFromJSON, + BaseItemKindToJSON, + ImageTypeFromJSON, + ImageTypeToJSON, + ItemFieldsFromJSON, + ItemFieldsToJSON, + UserItemDataDtoFromJSON, + UserItemDataDtoToJSON, +} from '../models'; + +export interface DeleteUserItemRatingRequest { + userId: string; + itemId: string; +} + +export interface GetIntrosRequest { + userId: string; + itemId: string; +} + +export interface GetItemRequest { + userId: string; + itemId: string; +} + +export interface GetLatestMediaRequest { + userId: string; + parentId?: string; + fields?: Array; + includeItemTypes?: Array; + isPlayed?: boolean; + enableImages?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; + enableUserData?: boolean; + limit?: number; + groupItems?: boolean; +} + +export interface GetLocalTrailersRequest { + userId: string; + itemId: string; +} + +export interface GetRootFolderRequest { + userId: string; +} + +export interface GetSpecialFeaturesRequest { + userId: string; + itemId: string; +} + +export interface MarkFavoriteItemRequest { + userId: string; + itemId: string; +} + +export interface UnmarkFavoriteItemRequest { + userId: string; + itemId: string; +} + +export interface UpdateUserItemRatingRequest { + userId: string; + itemId: string; + likes?: boolean; +} + +/** + * + */ +export class UserLibraryApi extends runtime.BaseAPI { + + /** + * Deletes a user\'s saved personal rating for an item. + */ + async deleteUserItemRatingRaw(requestParameters: DeleteUserItemRatingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling deleteUserItemRating.'); + } + + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling deleteUserItemRating.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/Items/{itemId}/Rating`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))).replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserItemDataDtoFromJSON(jsonValue)); + } + + /** + * Deletes a user\'s saved personal rating for an item. + */ + async deleteUserItemRating(requestParameters: DeleteUserItemRatingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.deleteUserItemRatingRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets intros to play before the main media item plays. + */ + async getIntrosRaw(requestParameters: GetIntrosRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling getIntros.'); + } + + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getIntros.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/Items/{itemId}/Intros`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))).replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets intros to play before the main media item plays. + */ + async getIntros(requestParameters: GetIntrosRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getIntrosRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets an item from a user\'s library. + */ + async getItemRaw(requestParameters: GetItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling getItem.'); + } + + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getItem.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/Items/{itemId}`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))).replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoFromJSON(jsonValue)); + } + + /** + * Gets an item from a user\'s library. + */ + async getItem(requestParameters: GetItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getItemRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets latest media. + */ + async getLatestMediaRaw(requestParameters: GetLatestMediaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling getLatestMedia.'); + } + + const queryParameters: any = {}; + + if (requestParameters.parentId !== undefined) { + queryParameters['parentId'] = requestParameters.parentId; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.includeItemTypes) { + queryParameters['includeItemTypes'] = requestParameters.includeItemTypes; + } + + if (requestParameters.isPlayed !== undefined) { + queryParameters['isPlayed'] = requestParameters.isPlayed; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.groupItems !== undefined) { + queryParameters['groupItems'] = requestParameters.groupItems; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/Items/Latest`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(BaseItemDtoFromJSON)); + } + + /** + * Gets latest media. + */ + async getLatestMedia(requestParameters: GetLatestMediaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getLatestMediaRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets local trailers for an item. + */ + async getLocalTrailersRaw(requestParameters: GetLocalTrailersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling getLocalTrailers.'); + } + + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getLocalTrailers.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/Items/{itemId}/LocalTrailers`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))).replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(BaseItemDtoFromJSON)); + } + + /** + * Gets local trailers for an item. + */ + async getLocalTrailers(requestParameters: GetLocalTrailersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getLocalTrailersRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets the root folder from a user\'s library. + */ + async getRootFolderRaw(requestParameters: GetRootFolderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling getRootFolder.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/Items/Root`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoFromJSON(jsonValue)); + } + + /** + * Gets the root folder from a user\'s library. + */ + async getRootFolder(requestParameters: GetRootFolderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getRootFolderRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets special features for an item. + */ + async getSpecialFeaturesRaw(requestParameters: GetSpecialFeaturesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling getSpecialFeatures.'); + } + + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getSpecialFeatures.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/Items/{itemId}/SpecialFeatures`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))).replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(BaseItemDtoFromJSON)); + } + + /** + * Gets special features for an item. + */ + async getSpecialFeatures(requestParameters: GetSpecialFeaturesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getSpecialFeaturesRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Marks an item as a favorite. + */ + async markFavoriteItemRaw(requestParameters: MarkFavoriteItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling markFavoriteItem.'); + } + + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling markFavoriteItem.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/FavoriteItems/{itemId}`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))).replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserItemDataDtoFromJSON(jsonValue)); + } + + /** + * Marks an item as a favorite. + */ + async markFavoriteItem(requestParameters: MarkFavoriteItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.markFavoriteItemRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Unmarks item as a favorite. + */ + async unmarkFavoriteItemRaw(requestParameters: UnmarkFavoriteItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling unmarkFavoriteItem.'); + } + + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling unmarkFavoriteItem.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/FavoriteItems/{itemId}`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))).replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserItemDataDtoFromJSON(jsonValue)); + } + + /** + * Unmarks item as a favorite. + */ + async unmarkFavoriteItem(requestParameters: UnmarkFavoriteItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.unmarkFavoriteItemRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Updates a user\'s rating for an item. + */ + async updateUserItemRatingRaw(requestParameters: UpdateUserItemRatingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling updateUserItemRating.'); + } + + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling updateUserItemRating.'); + } + + const queryParameters: any = {}; + + if (requestParameters.likes !== undefined) { + queryParameters['likes'] = requestParameters.likes; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/Items/{itemId}/Rating`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))).replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserItemDataDtoFromJSON(jsonValue)); + } + + /** + * Updates a user\'s rating for an item. + */ + async updateUserItemRating(requestParameters: UpdateUserItemRatingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.updateUserItemRatingRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/UserViewsApi.ts b/server/jellyfin/apis/UserViewsApi.ts new file mode 100644 index 0000000..d6ebd68 --- /dev/null +++ b/server/jellyfin/apis/UserViewsApi.ts @@ -0,0 +1,127 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + BaseItemDtoQueryResult, + ProblemDetails, + SpecialViewOptionDto, +} from '../models'; +import { + BaseItemDtoQueryResultFromJSON, + BaseItemDtoQueryResultToJSON, + ProblemDetailsFromJSON, + ProblemDetailsToJSON, + SpecialViewOptionDtoFromJSON, + SpecialViewOptionDtoToJSON, +} from '../models'; + +export interface GetGroupingOptionsRequest { + userId: string; +} + +export interface GetUserViewsRequest { + userId: string; + includeExternalContent?: boolean; + presetViews?: Array; + includeHidden?: boolean; +} + +/** + * + */ +export class UserViewsApi extends runtime.BaseAPI { + + /** + * Get user view grouping options. + */ + async getGroupingOptionsRaw(requestParameters: GetGroupingOptionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling getGroupingOptions.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/GroupingOptions`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(SpecialViewOptionDtoFromJSON)); + } + + /** + * Get user view grouping options. + */ + async getGroupingOptions(requestParameters: GetGroupingOptionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getGroupingOptionsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get user views. + */ + async getUserViewsRaw(requestParameters: GetUserViewsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling getUserViews.'); + } + + const queryParameters: any = {}; + + if (requestParameters.includeExternalContent !== undefined) { + queryParameters['includeExternalContent'] = requestParameters.includeExternalContent; + } + + if (requestParameters.presetViews) { + queryParameters['presetViews'] = requestParameters.presetViews; + } + + if (requestParameters.includeHidden !== undefined) { + queryParameters['includeHidden'] = requestParameters.includeHidden; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Users/{userId}/Views`.replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Get user views. + */ + async getUserViews(requestParameters: GetUserViewsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getUserViewsRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/VideoAttachmentsApi.ts b/server/jellyfin/apis/VideoAttachmentsApi.ts new file mode 100644 index 0000000..cc74817 --- /dev/null +++ b/server/jellyfin/apis/VideoAttachmentsApi.ts @@ -0,0 +1,74 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + ProblemDetails, +} from '../models'; +import { + ProblemDetailsFromJSON, + ProblemDetailsToJSON, +} from '../models'; + +export interface GetAttachmentRequest { + videoId: string; + mediaSourceId: string; + index: number; +} + +/** + * + */ +export class VideoAttachmentsApi extends runtime.BaseAPI { + + /** + * Get video attachment. + */ + async getAttachmentRaw(requestParameters: GetAttachmentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.videoId === null || requestParameters.videoId === undefined) { + throw new runtime.RequiredError('videoId','Required parameter requestParameters.videoId was null or undefined when calling getAttachment.'); + } + + if (requestParameters.mediaSourceId === null || requestParameters.mediaSourceId === undefined) { + throw new runtime.RequiredError('mediaSourceId','Required parameter requestParameters.mediaSourceId was null or undefined when calling getAttachment.'); + } + + if (requestParameters.index === null || requestParameters.index === undefined) { + throw new runtime.RequiredError('index','Required parameter requestParameters.index was null or undefined when calling getAttachment.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Videos/{videoId}/{mediaSourceId}/Attachments/{index}`.replace(`{${"videoId"}}`, encodeURIComponent(String(requestParameters.videoId))).replace(`{${"mediaSourceId"}}`, encodeURIComponent(String(requestParameters.mediaSourceId))).replace(`{${"index"}}`, encodeURIComponent(String(requestParameters.index))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Get video attachment. + */ + async getAttachment(requestParameters: GetAttachmentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getAttachmentRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/VideosApi.ts b/server/jellyfin/apis/VideosApi.ts new file mode 100644 index 0000000..bdfb777 --- /dev/null +++ b/server/jellyfin/apis/VideosApi.ts @@ -0,0 +1,1296 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + BaseItemDtoQueryResult, + EncodingContext, + ProblemDetails, + SubtitleDeliveryMethod, +} from '../models'; +import { + BaseItemDtoQueryResultFromJSON, + BaseItemDtoQueryResultToJSON, + EncodingContextFromJSON, + EncodingContextToJSON, + ProblemDetailsFromJSON, + ProblemDetailsToJSON, + SubtitleDeliveryMethodFromJSON, + SubtitleDeliveryMethodToJSON, +} from '../models'; + +export interface DeleteAlternateSourcesRequest { + itemId: string; +} + +export interface GetAdditionalPartRequest { + itemId: string; + userId?: string; +} + +export interface GetVideoStreamRequest { + itemId: string; + container?: string; + _static?: boolean; + params?: string; + tag?: string; + deviceProfileId?: string; + playSessionId?: string; + segmentContainer?: string; + segmentLength?: number; + minSegments?: number; + mediaSourceId?: string; + deviceId?: string; + audioCodec?: string; + enableAutoStreamCopy?: boolean; + allowVideoStreamCopy?: boolean; + allowAudioStreamCopy?: boolean; + breakOnNonKeyFrames?: boolean; + audioSampleRate?: number; + maxAudioBitDepth?: number; + audioBitRate?: number; + audioChannels?: number; + maxAudioChannels?: number; + profile?: string; + level?: string; + framerate?: number; + maxFramerate?: number; + copyTimestamps?: boolean; + startTimeTicks?: number; + width?: number; + height?: number; + maxWidth?: number; + maxHeight?: number; + videoBitRate?: number; + subtitleStreamIndex?: number; + subtitleMethod?: SubtitleDeliveryMethod; + maxRefFrames?: number; + maxVideoBitDepth?: number; + requireAvc?: boolean; + deInterlace?: boolean; + requireNonAnamorphic?: boolean; + transcodingMaxAudioChannels?: number; + cpuCoreLimit?: number; + liveStreamId?: string; + enableMpegtsM2TsMode?: boolean; + videoCodec?: string; + subtitleCodec?: string; + transcodeReasons?: string; + audioStreamIndex?: number; + videoStreamIndex?: number; + context?: EncodingContext; + streamOptions?: { [key: string]: string; }; +} + +export interface GetVideoStreamByContainerRequest { + itemId: string; + container: string; + _static?: boolean; + params?: string; + tag?: string; + deviceProfileId?: string; + playSessionId?: string; + segmentContainer?: string; + segmentLength?: number; + minSegments?: number; + mediaSourceId?: string; + deviceId?: string; + audioCodec?: string; + enableAutoStreamCopy?: boolean; + allowVideoStreamCopy?: boolean; + allowAudioStreamCopy?: boolean; + breakOnNonKeyFrames?: boolean; + audioSampleRate?: number; + maxAudioBitDepth?: number; + audioBitRate?: number; + audioChannels?: number; + maxAudioChannels?: number; + profile?: string; + level?: string; + framerate?: number; + maxFramerate?: number; + copyTimestamps?: boolean; + startTimeTicks?: number; + width?: number; + height?: number; + maxWidth?: number; + maxHeight?: number; + videoBitRate?: number; + subtitleStreamIndex?: number; + subtitleMethod?: SubtitleDeliveryMethod; + maxRefFrames?: number; + maxVideoBitDepth?: number; + requireAvc?: boolean; + deInterlace?: boolean; + requireNonAnamorphic?: boolean; + transcodingMaxAudioChannels?: number; + cpuCoreLimit?: number; + liveStreamId?: string; + enableMpegtsM2TsMode?: boolean; + videoCodec?: string; + subtitleCodec?: string; + transcodeReasons?: string; + audioStreamIndex?: number; + videoStreamIndex?: number; + context?: EncodingContext; + streamOptions?: { [key: string]: string; }; +} + +export interface HeadVideoStreamRequest { + itemId: string; + container?: string; + _static?: boolean; + params?: string; + tag?: string; + deviceProfileId?: string; + playSessionId?: string; + segmentContainer?: string; + segmentLength?: number; + minSegments?: number; + mediaSourceId?: string; + deviceId?: string; + audioCodec?: string; + enableAutoStreamCopy?: boolean; + allowVideoStreamCopy?: boolean; + allowAudioStreamCopy?: boolean; + breakOnNonKeyFrames?: boolean; + audioSampleRate?: number; + maxAudioBitDepth?: number; + audioBitRate?: number; + audioChannels?: number; + maxAudioChannels?: number; + profile?: string; + level?: string; + framerate?: number; + maxFramerate?: number; + copyTimestamps?: boolean; + startTimeTicks?: number; + width?: number; + height?: number; + maxWidth?: number; + maxHeight?: number; + videoBitRate?: number; + subtitleStreamIndex?: number; + subtitleMethod?: SubtitleDeliveryMethod; + maxRefFrames?: number; + maxVideoBitDepth?: number; + requireAvc?: boolean; + deInterlace?: boolean; + requireNonAnamorphic?: boolean; + transcodingMaxAudioChannels?: number; + cpuCoreLimit?: number; + liveStreamId?: string; + enableMpegtsM2TsMode?: boolean; + videoCodec?: string; + subtitleCodec?: string; + transcodeReasons?: string; + audioStreamIndex?: number; + videoStreamIndex?: number; + context?: EncodingContext; + streamOptions?: { [key: string]: string; }; +} + +export interface HeadVideoStreamByContainerRequest { + itemId: string; + container: string; + _static?: boolean; + params?: string; + tag?: string; + deviceProfileId?: string; + playSessionId?: string; + segmentContainer?: string; + segmentLength?: number; + minSegments?: number; + mediaSourceId?: string; + deviceId?: string; + audioCodec?: string; + enableAutoStreamCopy?: boolean; + allowVideoStreamCopy?: boolean; + allowAudioStreamCopy?: boolean; + breakOnNonKeyFrames?: boolean; + audioSampleRate?: number; + maxAudioBitDepth?: number; + audioBitRate?: number; + audioChannels?: number; + maxAudioChannels?: number; + profile?: string; + level?: string; + framerate?: number; + maxFramerate?: number; + copyTimestamps?: boolean; + startTimeTicks?: number; + width?: number; + height?: number; + maxWidth?: number; + maxHeight?: number; + videoBitRate?: number; + subtitleStreamIndex?: number; + subtitleMethod?: SubtitleDeliveryMethod; + maxRefFrames?: number; + maxVideoBitDepth?: number; + requireAvc?: boolean; + deInterlace?: boolean; + requireNonAnamorphic?: boolean; + transcodingMaxAudioChannels?: number; + cpuCoreLimit?: number; + liveStreamId?: string; + enableMpegtsM2TsMode?: boolean; + videoCodec?: string; + subtitleCodec?: string; + transcodeReasons?: string; + audioStreamIndex?: number; + videoStreamIndex?: number; + context?: EncodingContext; + streamOptions?: { [key: string]: string; }; +} + +export interface MergeVersionsRequest { + ids: Array; +} + +/** + * + */ +export class VideosApi extends runtime.BaseAPI { + + /** + * Removes alternate video sources. + */ + async deleteAlternateSourcesRaw(requestParameters: DeleteAlternateSourcesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling deleteAlternateSources.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Videos/{itemId}/AlternateSources`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Removes alternate video sources. + */ + async deleteAlternateSources(requestParameters: DeleteAlternateSourcesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.deleteAlternateSourcesRaw(requestParameters, initOverrides); + } + + /** + * Gets additional parts for a video. + */ + async getAdditionalPartRaw(requestParameters: GetAdditionalPartRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getAdditionalPart.'); + } + + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Videos/{itemId}/AdditionalParts`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Gets additional parts for a video. + */ + async getAdditionalPart(requestParameters: GetAdditionalPartRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getAdditionalPartRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a video stream. + */ + async getVideoStreamRaw(requestParameters: GetVideoStreamRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getVideoStream.'); + } + + const queryParameters: any = {}; + + if (requestParameters.container !== undefined) { + queryParameters['container'] = requestParameters.container; + } + + if (requestParameters._static !== undefined) { + queryParameters['static'] = requestParameters._static; + } + + if (requestParameters.params !== undefined) { + queryParameters['params'] = requestParameters.params; + } + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.deviceProfileId !== undefined) { + queryParameters['deviceProfileId'] = requestParameters.deviceProfileId; + } + + if (requestParameters.playSessionId !== undefined) { + queryParameters['playSessionId'] = requestParameters.playSessionId; + } + + if (requestParameters.segmentContainer !== undefined) { + queryParameters['segmentContainer'] = requestParameters.segmentContainer; + } + + if (requestParameters.segmentLength !== undefined) { + queryParameters['segmentLength'] = requestParameters.segmentLength; + } + + if (requestParameters.minSegments !== undefined) { + queryParameters['minSegments'] = requestParameters.minSegments; + } + + if (requestParameters.mediaSourceId !== undefined) { + queryParameters['mediaSourceId'] = requestParameters.mediaSourceId; + } + + if (requestParameters.deviceId !== undefined) { + queryParameters['deviceId'] = requestParameters.deviceId; + } + + if (requestParameters.audioCodec !== undefined) { + queryParameters['audioCodec'] = requestParameters.audioCodec; + } + + if (requestParameters.enableAutoStreamCopy !== undefined) { + queryParameters['enableAutoStreamCopy'] = requestParameters.enableAutoStreamCopy; + } + + if (requestParameters.allowVideoStreamCopy !== undefined) { + queryParameters['allowVideoStreamCopy'] = requestParameters.allowVideoStreamCopy; + } + + if (requestParameters.allowAudioStreamCopy !== undefined) { + queryParameters['allowAudioStreamCopy'] = requestParameters.allowAudioStreamCopy; + } + + if (requestParameters.breakOnNonKeyFrames !== undefined) { + queryParameters['breakOnNonKeyFrames'] = requestParameters.breakOnNonKeyFrames; + } + + if (requestParameters.audioSampleRate !== undefined) { + queryParameters['audioSampleRate'] = requestParameters.audioSampleRate; + } + + if (requestParameters.maxAudioBitDepth !== undefined) { + queryParameters['maxAudioBitDepth'] = requestParameters.maxAudioBitDepth; + } + + if (requestParameters.audioBitRate !== undefined) { + queryParameters['audioBitRate'] = requestParameters.audioBitRate; + } + + if (requestParameters.audioChannels !== undefined) { + queryParameters['audioChannels'] = requestParameters.audioChannels; + } + + if (requestParameters.maxAudioChannels !== undefined) { + queryParameters['maxAudioChannels'] = requestParameters.maxAudioChannels; + } + + if (requestParameters.profile !== undefined) { + queryParameters['profile'] = requestParameters.profile; + } + + if (requestParameters.level !== undefined) { + queryParameters['level'] = requestParameters.level; + } + + if (requestParameters.framerate !== undefined) { + queryParameters['framerate'] = requestParameters.framerate; + } + + if (requestParameters.maxFramerate !== undefined) { + queryParameters['maxFramerate'] = requestParameters.maxFramerate; + } + + if (requestParameters.copyTimestamps !== undefined) { + queryParameters['copyTimestamps'] = requestParameters.copyTimestamps; + } + + if (requestParameters.startTimeTicks !== undefined) { + queryParameters['startTimeTicks'] = requestParameters.startTimeTicks; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.videoBitRate !== undefined) { + queryParameters['videoBitRate'] = requestParameters.videoBitRate; + } + + if (requestParameters.subtitleStreamIndex !== undefined) { + queryParameters['subtitleStreamIndex'] = requestParameters.subtitleStreamIndex; + } + + if (requestParameters.subtitleMethod !== undefined) { + queryParameters['subtitleMethod'] = requestParameters.subtitleMethod; + } + + if (requestParameters.maxRefFrames !== undefined) { + queryParameters['maxRefFrames'] = requestParameters.maxRefFrames; + } + + if (requestParameters.maxVideoBitDepth !== undefined) { + queryParameters['maxVideoBitDepth'] = requestParameters.maxVideoBitDepth; + } + + if (requestParameters.requireAvc !== undefined) { + queryParameters['requireAvc'] = requestParameters.requireAvc; + } + + if (requestParameters.deInterlace !== undefined) { + queryParameters['deInterlace'] = requestParameters.deInterlace; + } + + if (requestParameters.requireNonAnamorphic !== undefined) { + queryParameters['requireNonAnamorphic'] = requestParameters.requireNonAnamorphic; + } + + if (requestParameters.transcodingMaxAudioChannels !== undefined) { + queryParameters['transcodingMaxAudioChannels'] = requestParameters.transcodingMaxAudioChannels; + } + + if (requestParameters.cpuCoreLimit !== undefined) { + queryParameters['cpuCoreLimit'] = requestParameters.cpuCoreLimit; + } + + if (requestParameters.liveStreamId !== undefined) { + queryParameters['liveStreamId'] = requestParameters.liveStreamId; + } + + if (requestParameters.enableMpegtsM2TsMode !== undefined) { + queryParameters['enableMpegtsM2TsMode'] = requestParameters.enableMpegtsM2TsMode; + } + + if (requestParameters.videoCodec !== undefined) { + queryParameters['videoCodec'] = requestParameters.videoCodec; + } + + if (requestParameters.subtitleCodec !== undefined) { + queryParameters['subtitleCodec'] = requestParameters.subtitleCodec; + } + + if (requestParameters.transcodeReasons !== undefined) { + queryParameters['transcodeReasons'] = requestParameters.transcodeReasons; + } + + if (requestParameters.audioStreamIndex !== undefined) { + queryParameters['audioStreamIndex'] = requestParameters.audioStreamIndex; + } + + if (requestParameters.videoStreamIndex !== undefined) { + queryParameters['videoStreamIndex'] = requestParameters.videoStreamIndex; + } + + if (requestParameters.context !== undefined) { + queryParameters['context'] = requestParameters.context; + } + + if (requestParameters.streamOptions !== undefined) { + queryParameters['streamOptions'] = requestParameters.streamOptions; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Videos/{itemId}/stream`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets a video stream. + */ + async getVideoStream(requestParameters: GetVideoStreamRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getVideoStreamRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a video stream. + */ + async getVideoStreamByContainerRaw(requestParameters: GetVideoStreamByContainerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getVideoStreamByContainer.'); + } + + if (requestParameters.container === null || requestParameters.container === undefined) { + throw new runtime.RequiredError('container','Required parameter requestParameters.container was null or undefined when calling getVideoStreamByContainer.'); + } + + const queryParameters: any = {}; + + if (requestParameters._static !== undefined) { + queryParameters['static'] = requestParameters._static; + } + + if (requestParameters.params !== undefined) { + queryParameters['params'] = requestParameters.params; + } + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.deviceProfileId !== undefined) { + queryParameters['deviceProfileId'] = requestParameters.deviceProfileId; + } + + if (requestParameters.playSessionId !== undefined) { + queryParameters['playSessionId'] = requestParameters.playSessionId; + } + + if (requestParameters.segmentContainer !== undefined) { + queryParameters['segmentContainer'] = requestParameters.segmentContainer; + } + + if (requestParameters.segmentLength !== undefined) { + queryParameters['segmentLength'] = requestParameters.segmentLength; + } + + if (requestParameters.minSegments !== undefined) { + queryParameters['minSegments'] = requestParameters.minSegments; + } + + if (requestParameters.mediaSourceId !== undefined) { + queryParameters['mediaSourceId'] = requestParameters.mediaSourceId; + } + + if (requestParameters.deviceId !== undefined) { + queryParameters['deviceId'] = requestParameters.deviceId; + } + + if (requestParameters.audioCodec !== undefined) { + queryParameters['audioCodec'] = requestParameters.audioCodec; + } + + if (requestParameters.enableAutoStreamCopy !== undefined) { + queryParameters['enableAutoStreamCopy'] = requestParameters.enableAutoStreamCopy; + } + + if (requestParameters.allowVideoStreamCopy !== undefined) { + queryParameters['allowVideoStreamCopy'] = requestParameters.allowVideoStreamCopy; + } + + if (requestParameters.allowAudioStreamCopy !== undefined) { + queryParameters['allowAudioStreamCopy'] = requestParameters.allowAudioStreamCopy; + } + + if (requestParameters.breakOnNonKeyFrames !== undefined) { + queryParameters['breakOnNonKeyFrames'] = requestParameters.breakOnNonKeyFrames; + } + + if (requestParameters.audioSampleRate !== undefined) { + queryParameters['audioSampleRate'] = requestParameters.audioSampleRate; + } + + if (requestParameters.maxAudioBitDepth !== undefined) { + queryParameters['maxAudioBitDepth'] = requestParameters.maxAudioBitDepth; + } + + if (requestParameters.audioBitRate !== undefined) { + queryParameters['audioBitRate'] = requestParameters.audioBitRate; + } + + if (requestParameters.audioChannels !== undefined) { + queryParameters['audioChannels'] = requestParameters.audioChannels; + } + + if (requestParameters.maxAudioChannels !== undefined) { + queryParameters['maxAudioChannels'] = requestParameters.maxAudioChannels; + } + + if (requestParameters.profile !== undefined) { + queryParameters['profile'] = requestParameters.profile; + } + + if (requestParameters.level !== undefined) { + queryParameters['level'] = requestParameters.level; + } + + if (requestParameters.framerate !== undefined) { + queryParameters['framerate'] = requestParameters.framerate; + } + + if (requestParameters.maxFramerate !== undefined) { + queryParameters['maxFramerate'] = requestParameters.maxFramerate; + } + + if (requestParameters.copyTimestamps !== undefined) { + queryParameters['copyTimestamps'] = requestParameters.copyTimestamps; + } + + if (requestParameters.startTimeTicks !== undefined) { + queryParameters['startTimeTicks'] = requestParameters.startTimeTicks; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.videoBitRate !== undefined) { + queryParameters['videoBitRate'] = requestParameters.videoBitRate; + } + + if (requestParameters.subtitleStreamIndex !== undefined) { + queryParameters['subtitleStreamIndex'] = requestParameters.subtitleStreamIndex; + } + + if (requestParameters.subtitleMethod !== undefined) { + queryParameters['subtitleMethod'] = requestParameters.subtitleMethod; + } + + if (requestParameters.maxRefFrames !== undefined) { + queryParameters['maxRefFrames'] = requestParameters.maxRefFrames; + } + + if (requestParameters.maxVideoBitDepth !== undefined) { + queryParameters['maxVideoBitDepth'] = requestParameters.maxVideoBitDepth; + } + + if (requestParameters.requireAvc !== undefined) { + queryParameters['requireAvc'] = requestParameters.requireAvc; + } + + if (requestParameters.deInterlace !== undefined) { + queryParameters['deInterlace'] = requestParameters.deInterlace; + } + + if (requestParameters.requireNonAnamorphic !== undefined) { + queryParameters['requireNonAnamorphic'] = requestParameters.requireNonAnamorphic; + } + + if (requestParameters.transcodingMaxAudioChannels !== undefined) { + queryParameters['transcodingMaxAudioChannels'] = requestParameters.transcodingMaxAudioChannels; + } + + if (requestParameters.cpuCoreLimit !== undefined) { + queryParameters['cpuCoreLimit'] = requestParameters.cpuCoreLimit; + } + + if (requestParameters.liveStreamId !== undefined) { + queryParameters['liveStreamId'] = requestParameters.liveStreamId; + } + + if (requestParameters.enableMpegtsM2TsMode !== undefined) { + queryParameters['enableMpegtsM2TsMode'] = requestParameters.enableMpegtsM2TsMode; + } + + if (requestParameters.videoCodec !== undefined) { + queryParameters['videoCodec'] = requestParameters.videoCodec; + } + + if (requestParameters.subtitleCodec !== undefined) { + queryParameters['subtitleCodec'] = requestParameters.subtitleCodec; + } + + if (requestParameters.transcodeReasons !== undefined) { + queryParameters['transcodeReasons'] = requestParameters.transcodeReasons; + } + + if (requestParameters.audioStreamIndex !== undefined) { + queryParameters['audioStreamIndex'] = requestParameters.audioStreamIndex; + } + + if (requestParameters.videoStreamIndex !== undefined) { + queryParameters['videoStreamIndex'] = requestParameters.videoStreamIndex; + } + + if (requestParameters.context !== undefined) { + queryParameters['context'] = requestParameters.context; + } + + if (requestParameters.streamOptions !== undefined) { + queryParameters['streamOptions'] = requestParameters.streamOptions; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Videos/{itemId}/stream.{container}`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))).replace(`{${"container"}}`, encodeURIComponent(String(requestParameters.container))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets a video stream. + */ + async getVideoStreamByContainer(requestParameters: GetVideoStreamByContainerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getVideoStreamByContainerRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a video stream. + */ + async headVideoStreamRaw(requestParameters: HeadVideoStreamRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling headVideoStream.'); + } + + const queryParameters: any = {}; + + if (requestParameters.container !== undefined) { + queryParameters['container'] = requestParameters.container; + } + + if (requestParameters._static !== undefined) { + queryParameters['static'] = requestParameters._static; + } + + if (requestParameters.params !== undefined) { + queryParameters['params'] = requestParameters.params; + } + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.deviceProfileId !== undefined) { + queryParameters['deviceProfileId'] = requestParameters.deviceProfileId; + } + + if (requestParameters.playSessionId !== undefined) { + queryParameters['playSessionId'] = requestParameters.playSessionId; + } + + if (requestParameters.segmentContainer !== undefined) { + queryParameters['segmentContainer'] = requestParameters.segmentContainer; + } + + if (requestParameters.segmentLength !== undefined) { + queryParameters['segmentLength'] = requestParameters.segmentLength; + } + + if (requestParameters.minSegments !== undefined) { + queryParameters['minSegments'] = requestParameters.minSegments; + } + + if (requestParameters.mediaSourceId !== undefined) { + queryParameters['mediaSourceId'] = requestParameters.mediaSourceId; + } + + if (requestParameters.deviceId !== undefined) { + queryParameters['deviceId'] = requestParameters.deviceId; + } + + if (requestParameters.audioCodec !== undefined) { + queryParameters['audioCodec'] = requestParameters.audioCodec; + } + + if (requestParameters.enableAutoStreamCopy !== undefined) { + queryParameters['enableAutoStreamCopy'] = requestParameters.enableAutoStreamCopy; + } + + if (requestParameters.allowVideoStreamCopy !== undefined) { + queryParameters['allowVideoStreamCopy'] = requestParameters.allowVideoStreamCopy; + } + + if (requestParameters.allowAudioStreamCopy !== undefined) { + queryParameters['allowAudioStreamCopy'] = requestParameters.allowAudioStreamCopy; + } + + if (requestParameters.breakOnNonKeyFrames !== undefined) { + queryParameters['breakOnNonKeyFrames'] = requestParameters.breakOnNonKeyFrames; + } + + if (requestParameters.audioSampleRate !== undefined) { + queryParameters['audioSampleRate'] = requestParameters.audioSampleRate; + } + + if (requestParameters.maxAudioBitDepth !== undefined) { + queryParameters['maxAudioBitDepth'] = requestParameters.maxAudioBitDepth; + } + + if (requestParameters.audioBitRate !== undefined) { + queryParameters['audioBitRate'] = requestParameters.audioBitRate; + } + + if (requestParameters.audioChannels !== undefined) { + queryParameters['audioChannels'] = requestParameters.audioChannels; + } + + if (requestParameters.maxAudioChannels !== undefined) { + queryParameters['maxAudioChannels'] = requestParameters.maxAudioChannels; + } + + if (requestParameters.profile !== undefined) { + queryParameters['profile'] = requestParameters.profile; + } + + if (requestParameters.level !== undefined) { + queryParameters['level'] = requestParameters.level; + } + + if (requestParameters.framerate !== undefined) { + queryParameters['framerate'] = requestParameters.framerate; + } + + if (requestParameters.maxFramerate !== undefined) { + queryParameters['maxFramerate'] = requestParameters.maxFramerate; + } + + if (requestParameters.copyTimestamps !== undefined) { + queryParameters['copyTimestamps'] = requestParameters.copyTimestamps; + } + + if (requestParameters.startTimeTicks !== undefined) { + queryParameters['startTimeTicks'] = requestParameters.startTimeTicks; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.videoBitRate !== undefined) { + queryParameters['videoBitRate'] = requestParameters.videoBitRate; + } + + if (requestParameters.subtitleStreamIndex !== undefined) { + queryParameters['subtitleStreamIndex'] = requestParameters.subtitleStreamIndex; + } + + if (requestParameters.subtitleMethod !== undefined) { + queryParameters['subtitleMethod'] = requestParameters.subtitleMethod; + } + + if (requestParameters.maxRefFrames !== undefined) { + queryParameters['maxRefFrames'] = requestParameters.maxRefFrames; + } + + if (requestParameters.maxVideoBitDepth !== undefined) { + queryParameters['maxVideoBitDepth'] = requestParameters.maxVideoBitDepth; + } + + if (requestParameters.requireAvc !== undefined) { + queryParameters['requireAvc'] = requestParameters.requireAvc; + } + + if (requestParameters.deInterlace !== undefined) { + queryParameters['deInterlace'] = requestParameters.deInterlace; + } + + if (requestParameters.requireNonAnamorphic !== undefined) { + queryParameters['requireNonAnamorphic'] = requestParameters.requireNonAnamorphic; + } + + if (requestParameters.transcodingMaxAudioChannels !== undefined) { + queryParameters['transcodingMaxAudioChannels'] = requestParameters.transcodingMaxAudioChannels; + } + + if (requestParameters.cpuCoreLimit !== undefined) { + queryParameters['cpuCoreLimit'] = requestParameters.cpuCoreLimit; + } + + if (requestParameters.liveStreamId !== undefined) { + queryParameters['liveStreamId'] = requestParameters.liveStreamId; + } + + if (requestParameters.enableMpegtsM2TsMode !== undefined) { + queryParameters['enableMpegtsM2TsMode'] = requestParameters.enableMpegtsM2TsMode; + } + + if (requestParameters.videoCodec !== undefined) { + queryParameters['videoCodec'] = requestParameters.videoCodec; + } + + if (requestParameters.subtitleCodec !== undefined) { + queryParameters['subtitleCodec'] = requestParameters.subtitleCodec; + } + + if (requestParameters.transcodeReasons !== undefined) { + queryParameters['transcodeReasons'] = requestParameters.transcodeReasons; + } + + if (requestParameters.audioStreamIndex !== undefined) { + queryParameters['audioStreamIndex'] = requestParameters.audioStreamIndex; + } + + if (requestParameters.videoStreamIndex !== undefined) { + queryParameters['videoStreamIndex'] = requestParameters.videoStreamIndex; + } + + if (requestParameters.context !== undefined) { + queryParameters['context'] = requestParameters.context; + } + + if (requestParameters.streamOptions !== undefined) { + queryParameters['streamOptions'] = requestParameters.streamOptions; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Videos/{itemId}/stream`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), + method: 'HEAD', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets a video stream. + */ + async headVideoStream(requestParameters: HeadVideoStreamRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.headVideoStreamRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Gets a video stream. + */ + async headVideoStreamByContainerRaw(requestParameters: HeadVideoStreamByContainerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.itemId === null || requestParameters.itemId === undefined) { + throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling headVideoStreamByContainer.'); + } + + if (requestParameters.container === null || requestParameters.container === undefined) { + throw new runtime.RequiredError('container','Required parameter requestParameters.container was null or undefined when calling headVideoStreamByContainer.'); + } + + const queryParameters: any = {}; + + if (requestParameters._static !== undefined) { + queryParameters['static'] = requestParameters._static; + } + + if (requestParameters.params !== undefined) { + queryParameters['params'] = requestParameters.params; + } + + if (requestParameters.tag !== undefined) { + queryParameters['tag'] = requestParameters.tag; + } + + if (requestParameters.deviceProfileId !== undefined) { + queryParameters['deviceProfileId'] = requestParameters.deviceProfileId; + } + + if (requestParameters.playSessionId !== undefined) { + queryParameters['playSessionId'] = requestParameters.playSessionId; + } + + if (requestParameters.segmentContainer !== undefined) { + queryParameters['segmentContainer'] = requestParameters.segmentContainer; + } + + if (requestParameters.segmentLength !== undefined) { + queryParameters['segmentLength'] = requestParameters.segmentLength; + } + + if (requestParameters.minSegments !== undefined) { + queryParameters['minSegments'] = requestParameters.minSegments; + } + + if (requestParameters.mediaSourceId !== undefined) { + queryParameters['mediaSourceId'] = requestParameters.mediaSourceId; + } + + if (requestParameters.deviceId !== undefined) { + queryParameters['deviceId'] = requestParameters.deviceId; + } + + if (requestParameters.audioCodec !== undefined) { + queryParameters['audioCodec'] = requestParameters.audioCodec; + } + + if (requestParameters.enableAutoStreamCopy !== undefined) { + queryParameters['enableAutoStreamCopy'] = requestParameters.enableAutoStreamCopy; + } + + if (requestParameters.allowVideoStreamCopy !== undefined) { + queryParameters['allowVideoStreamCopy'] = requestParameters.allowVideoStreamCopy; + } + + if (requestParameters.allowAudioStreamCopy !== undefined) { + queryParameters['allowAudioStreamCopy'] = requestParameters.allowAudioStreamCopy; + } + + if (requestParameters.breakOnNonKeyFrames !== undefined) { + queryParameters['breakOnNonKeyFrames'] = requestParameters.breakOnNonKeyFrames; + } + + if (requestParameters.audioSampleRate !== undefined) { + queryParameters['audioSampleRate'] = requestParameters.audioSampleRate; + } + + if (requestParameters.maxAudioBitDepth !== undefined) { + queryParameters['maxAudioBitDepth'] = requestParameters.maxAudioBitDepth; + } + + if (requestParameters.audioBitRate !== undefined) { + queryParameters['audioBitRate'] = requestParameters.audioBitRate; + } + + if (requestParameters.audioChannels !== undefined) { + queryParameters['audioChannels'] = requestParameters.audioChannels; + } + + if (requestParameters.maxAudioChannels !== undefined) { + queryParameters['maxAudioChannels'] = requestParameters.maxAudioChannels; + } + + if (requestParameters.profile !== undefined) { + queryParameters['profile'] = requestParameters.profile; + } + + if (requestParameters.level !== undefined) { + queryParameters['level'] = requestParameters.level; + } + + if (requestParameters.framerate !== undefined) { + queryParameters['framerate'] = requestParameters.framerate; + } + + if (requestParameters.maxFramerate !== undefined) { + queryParameters['maxFramerate'] = requestParameters.maxFramerate; + } + + if (requestParameters.copyTimestamps !== undefined) { + queryParameters['copyTimestamps'] = requestParameters.copyTimestamps; + } + + if (requestParameters.startTimeTicks !== undefined) { + queryParameters['startTimeTicks'] = requestParameters.startTimeTicks; + } + + if (requestParameters.width !== undefined) { + queryParameters['width'] = requestParameters.width; + } + + if (requestParameters.height !== undefined) { + queryParameters['height'] = requestParameters.height; + } + + if (requestParameters.maxWidth !== undefined) { + queryParameters['maxWidth'] = requestParameters.maxWidth; + } + + if (requestParameters.maxHeight !== undefined) { + queryParameters['maxHeight'] = requestParameters.maxHeight; + } + + if (requestParameters.videoBitRate !== undefined) { + queryParameters['videoBitRate'] = requestParameters.videoBitRate; + } + + if (requestParameters.subtitleStreamIndex !== undefined) { + queryParameters['subtitleStreamIndex'] = requestParameters.subtitleStreamIndex; + } + + if (requestParameters.subtitleMethod !== undefined) { + queryParameters['subtitleMethod'] = requestParameters.subtitleMethod; + } + + if (requestParameters.maxRefFrames !== undefined) { + queryParameters['maxRefFrames'] = requestParameters.maxRefFrames; + } + + if (requestParameters.maxVideoBitDepth !== undefined) { + queryParameters['maxVideoBitDepth'] = requestParameters.maxVideoBitDepth; + } + + if (requestParameters.requireAvc !== undefined) { + queryParameters['requireAvc'] = requestParameters.requireAvc; + } + + if (requestParameters.deInterlace !== undefined) { + queryParameters['deInterlace'] = requestParameters.deInterlace; + } + + if (requestParameters.requireNonAnamorphic !== undefined) { + queryParameters['requireNonAnamorphic'] = requestParameters.requireNonAnamorphic; + } + + if (requestParameters.transcodingMaxAudioChannels !== undefined) { + queryParameters['transcodingMaxAudioChannels'] = requestParameters.transcodingMaxAudioChannels; + } + + if (requestParameters.cpuCoreLimit !== undefined) { + queryParameters['cpuCoreLimit'] = requestParameters.cpuCoreLimit; + } + + if (requestParameters.liveStreamId !== undefined) { + queryParameters['liveStreamId'] = requestParameters.liveStreamId; + } + + if (requestParameters.enableMpegtsM2TsMode !== undefined) { + queryParameters['enableMpegtsM2TsMode'] = requestParameters.enableMpegtsM2TsMode; + } + + if (requestParameters.videoCodec !== undefined) { + queryParameters['videoCodec'] = requestParameters.videoCodec; + } + + if (requestParameters.subtitleCodec !== undefined) { + queryParameters['subtitleCodec'] = requestParameters.subtitleCodec; + } + + if (requestParameters.transcodeReasons !== undefined) { + queryParameters['transcodeReasons'] = requestParameters.transcodeReasons; + } + + if (requestParameters.audioStreamIndex !== undefined) { + queryParameters['audioStreamIndex'] = requestParameters.audioStreamIndex; + } + + if (requestParameters.videoStreamIndex !== undefined) { + queryParameters['videoStreamIndex'] = requestParameters.videoStreamIndex; + } + + if (requestParameters.context !== undefined) { + queryParameters['context'] = requestParameters.context; + } + + if (requestParameters.streamOptions !== undefined) { + queryParameters['streamOptions'] = requestParameters.streamOptions; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/Videos/{itemId}/stream.{container}`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))).replace(`{${"container"}}`, encodeURIComponent(String(requestParameters.container))), + method: 'HEAD', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + * Gets a video stream. + */ + async headVideoStreamByContainer(requestParameters: HeadVideoStreamByContainerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.headVideoStreamByContainerRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Merges videos into a single record. + */ + async mergeVersionsRaw(requestParameters: MergeVersionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.ids === null || requestParameters.ids === undefined) { + throw new runtime.RequiredError('ids','Required parameter requestParameters.ids was null or undefined when calling mergeVersions.'); + } + + const queryParameters: any = {}; + + if (requestParameters.ids) { + queryParameters['ids'] = requestParameters.ids; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Videos/MergeVersions`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + * Merges videos into a single record. + */ + async mergeVersions(requestParameters: MergeVersionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.mergeVersionsRaw(requestParameters, initOverrides); + } + +} diff --git a/server/jellyfin/apis/YearsApi.ts b/server/jellyfin/apis/YearsApi.ts new file mode 100644 index 0000000..2a400fc --- /dev/null +++ b/server/jellyfin/apis/YearsApi.ts @@ -0,0 +1,199 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + BaseItemDto, + BaseItemDtoQueryResult, + BaseItemKind, + ImageType, + ItemFields, + ProblemDetails, + SortOrder, +} from '../models'; +import { + BaseItemDtoFromJSON, + BaseItemDtoToJSON, + BaseItemDtoQueryResultFromJSON, + BaseItemDtoQueryResultToJSON, + BaseItemKindFromJSON, + BaseItemKindToJSON, + ImageTypeFromJSON, + ImageTypeToJSON, + ItemFieldsFromJSON, + ItemFieldsToJSON, + ProblemDetailsFromJSON, + ProblemDetailsToJSON, + SortOrderFromJSON, + SortOrderToJSON, +} from '../models'; + +export interface GetYearRequest { + year: number; + userId?: string; +} + +export interface GetYearsRequest { + startIndex?: number; + limit?: number; + sortOrder?: Array; + parentId?: string; + fields?: Array; + excludeItemTypes?: Array; + includeItemTypes?: Array; + mediaTypes?: Array; + sortBy?: Array; + enableUserData?: boolean; + imageTypeLimit?: number; + enableImageTypes?: Array; + userId?: string; + recursive?: boolean; + enableImages?: boolean; +} + +/** + * + */ +export class YearsApi extends runtime.BaseAPI { + + /** + * Gets a year. + */ + async getYearRaw(requestParameters: GetYearRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.year === null || requestParameters.year === undefined) { + throw new runtime.RequiredError('year','Required parameter requestParameters.year was null or undefined when calling getYear.'); + } + + const queryParameters: any = {}; + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Years/{year}`.replace(`{${"year"}}`, encodeURIComponent(String(requestParameters.year))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoFromJSON(jsonValue)); + } + + /** + * Gets a year. + */ + async getYear(requestParameters: GetYearRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getYearRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get years. + */ + async getYearsRaw(requestParameters: GetYearsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.startIndex !== undefined) { + queryParameters['startIndex'] = requestParameters.startIndex; + } + + if (requestParameters.limit !== undefined) { + queryParameters['limit'] = requestParameters.limit; + } + + if (requestParameters.sortOrder) { + queryParameters['sortOrder'] = requestParameters.sortOrder; + } + + if (requestParameters.parentId !== undefined) { + queryParameters['parentId'] = requestParameters.parentId; + } + + if (requestParameters.fields) { + queryParameters['fields'] = requestParameters.fields; + } + + if (requestParameters.excludeItemTypes) { + queryParameters['excludeItemTypes'] = requestParameters.excludeItemTypes; + } + + if (requestParameters.includeItemTypes) { + queryParameters['includeItemTypes'] = requestParameters.includeItemTypes; + } + + if (requestParameters.mediaTypes) { + queryParameters['mediaTypes'] = requestParameters.mediaTypes; + } + + if (requestParameters.sortBy) { + queryParameters['sortBy'] = requestParameters.sortBy; + } + + if (requestParameters.enableUserData !== undefined) { + queryParameters['enableUserData'] = requestParameters.enableUserData; + } + + if (requestParameters.imageTypeLimit !== undefined) { + queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; + } + + if (requestParameters.enableImageTypes) { + queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.recursive !== undefined) { + queryParameters['recursive'] = requestParameters.recursive; + } + + if (requestParameters.enableImages !== undefined) { + queryParameters['enableImages'] = requestParameters.enableImages; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication + } + + const response = await this.request({ + path: `/Years`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); + } + + /** + * Get years. + */ + async getYears(requestParameters: GetYearsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getYearsRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/server/jellyfin/apis/index.ts b/server/jellyfin/apis/index.ts new file mode 100644 index 0000000..220a6eb --- /dev/null +++ b/server/jellyfin/apis/index.ts @@ -0,0 +1,63 @@ +/* tslint:disable */ +/* eslint-disable */ +export * from './ActivityLogApi'; +export * from './ApiKeyApi'; +export * from './ArtistsApi'; +export * from './AudioApi'; +export * from './BrandingApi'; +export * from './ChannelsApi'; +export * from './ClientLogApi'; +export * from './CollectionApi'; +export * from './ConfigurationApi'; +export * from './DashboardApi'; +export * from './DevicesApi'; +export * from './DisplayPreferencesApi'; +export * from './DlnaApi'; +export * from './DlnaServerApi'; +export * from './DynamicHlsApi'; +export * from './EnvironmentApi'; +export * from './FilterApi'; +export * from './GenresApi'; +export * from './HlsSegmentApi'; +export * from './ImageApi'; +export * from './ImageByNameApi'; +export * from './InstantMixApi'; +export * from './ItemLookupApi'; +export * from './ItemRefreshApi'; +export * from './ItemUpdateApi'; +export * from './ItemsApi'; +export * from './LibraryApi'; +export * from './LibraryStructureApi'; +export * from './LiveTvApi'; +export * from './LocalizationApi'; +export * from './MediaInfoApi'; +export * from './MoviesApi'; +export * from './MusicGenresApi'; +export * from './NotificationsApi'; +export * from './PackageApi'; +export * from './PersonsApi'; +export * from './PlaylistsApi'; +export * from './PlaystateApi'; +export * from './PluginsApi'; +export * from './QuickConnectApi'; +export * from './RemoteImageApi'; +export * from './ScheduledTasksApi'; +export * from './SearchApi'; +export * from './SessionApi'; +export * from './StartupApi'; +export * from './StudiosApi'; +export * from './SubtitleApi'; +export * from './SuggestionsApi'; +export * from './SyncPlayApi'; +export * from './SystemApi'; +export * from './TimeSyncApi'; +export * from './TmdbApi'; +export * from './TrailersApi'; +export * from './TvShowsApi'; +export * from './UniversalAudioApi'; +export * from './UserApi'; +export * from './UserLibraryApi'; +export * from './UserViewsApi'; +export * from './VideoAttachmentsApi'; +export * from './VideosApi'; +export * from './YearsApi'; diff --git a/jellyfin/handler.ts b/server/jellyfin/handler.ts similarity index 68% rename from jellyfin/handler.ts rename to server/jellyfin/handler.ts index 416822d..7c38157 100644 --- a/jellyfin/handler.ts +++ b/server/jellyfin/handler.ts @@ -1,11 +1,11 @@ -import { GuildMember, User } from "discord.js"; -import { UserDto } from "./model/userDto"; -import { Config } from "../server/configuration"; -import { UserApi } from "./api/userApi"; -import { logger } from "../server/logger"; -import { SystemApi } from "./api/systemApi"; -import { CreateUserByNameRequest, UpdateUserPolicyRequest, UpdateUserRequest } from "./api"; -import { Maybe } from "../server/interfaces"; +import { GuildMember } from "discord.js"; +import { CreateUserByNameOperationRequest, SystemApi, UpdateUserPolicyOperationRequest, UserApi } from "./apis"; +import { UserDto } from "./models/UserDto"; +import { Configuration, ConfigurationParameters } from "./runtime"; +import { CreateUserByNameRequest, UpdateUserPolicyRequest } from "./models"; +import { Config } from "../configuration"; +import { logger } from "../logger"; +import { Maybe } from "../interfaces"; export class JellyfinHandler { @@ -19,20 +19,27 @@ export class JellyfinHandler { public async ServerName(): Promise { if (this.serverName === "") { const info = await this.systemApi.getSystemInfo(this.authHeader) - this.serverName = info.body.serverName ?? this.config.bot.jellyfin_url + this.serverName = info.serverName ?? this.config.bot.jellyfin_url } return this.serverName } constructor(_config: Config, _userApi?: UserApi, _systemApi?: SystemApi) { this.config = _config - this.userApi = _userApi ?? new UserApi(this.config.bot.jellyfin_url) - this.systemApi = _systemApi ?? new SystemApi(this.config.bot.jellyfin_url) + const userApiConfigurationParams: ConfigurationParameters = { + basePath: this.config.bot.jellyfin_url + } + const systemApiConfigurationParams: ConfigurationParameters = { + basePath: this.config.bot.jellyfin_url + } + this.userApi = _userApi ?? new UserApi(new Configuration(userApiConfigurationParams)) + this.systemApi = _systemApi ?? new SystemApi(new Configuration(systemApiConfigurationParams)) this.token = this.config.bot.jellfin_token this.authHeader = { headers: { "X-MediaBrowser-Token": this.token } } + logger.info(`Initialized Jellyfin handler`, { requestId: 'Init' }) } private generateJFUserName(discordUser: GuildMember): string { @@ -50,25 +57,29 @@ export class JellyfinHandler { public async createUserAccountForDiscordUser(discordUser: GuildMember, guildId?: string, requestId?: string): Promise { const newUserName = this.generateJFUserName(discordUser) logger.info(`New Username for ${discordUser.displayName}: ${newUserName}`, { guildId, requestId }) - const req: CreateUserByNameRequest = { - name: newUserName, - password: this.generatePasswordForUser(discordUser) + const req: CreateUserByNameOperationRequest = { + createUserByNameRequest: { + name: newUserName, + password: this.generatePasswordForUser(discordUser), + } } logger.debug(JSON.stringify(req)) const createResult = await this.userApi.createUserByName(req, this.authHeader) - if (createResult.body) - return createResult.body + if (createResult) + return createResult else throw new Error('Could not create User in Jellyfin') } public async disableJfUser(user: UserDto, guildId?: string, requestId?: string): Promise { if (user.id) { logger.info(`Trying to disable user: ${user.name}|${user.id}`) - const r: UpdateUserPolicyRequest = { - ...user.policy, - isDisabled: true + const r: UpdateUserPolicyOperationRequest = { + userId: user.id, + updateUserPolicyRequest: { + isDisabled: true + }, } - await this.userApi.updateUserPolicy(user.id, r, this.authHeader) + await this.userApi.updateUserPolicy(r, this.authHeader) logger.info(`Succeeded with disabling user: ${user.name}`) } else { @@ -84,8 +95,9 @@ export class JellyfinHandler { public async getCurrentUsers(guildId: string, requestId?: string): Promise { try { - const result = await this.userApi.getUsers(undefined, undefined, this.authHeader) - return result.body + logger.info(`Fetching current users from Jellyfin`, { requestId, guildId }) + const result = await this.userApi.getUsers(undefined, this.authHeader) + return result } catch (error) { logger.error(`Could not fetch current users from jellyfin`, { guildId, requestId }) } @@ -110,11 +122,12 @@ export class JellyfinHandler { public async enableUser(user: UserDto, guildId?: string, requestId?: string): Promise { if (user.id) { logger.info(`Trying to enable user: ${user.name}|${user.id}`) - const r: UpdateUserPolicyRequest = { - ...user.policy, - isDisabled: false + const r: UpdateUserPolicyOperationRequest = { + userId: user.id ?? "", + updateUserPolicyRequest: { + } } - await this.userApi.updateUserPolicy(user.id, r, this.authHeader) + await this.userApi.updateUserPolicy(r, this.authHeader) logger.info(`Succeeded with enabling user: ${user.name}`) } else { @@ -136,3 +149,4 @@ export class JellyfinHandler { } } + diff --git a/server/jellyfin/index.ts b/server/jellyfin/index.ts new file mode 100644 index 0000000..a7db783 --- /dev/null +++ b/server/jellyfin/index.ts @@ -0,0 +1,5 @@ +/* tslint:disable */ +/* eslint-disable */ +export * from './runtime'; +export * as JellyfinAPI from './apis'; +export * from './models'; diff --git a/server/jellyfin/models/AccessSchedule.ts b/server/jellyfin/models/AccessSchedule.ts new file mode 100644 index 0000000..c6789e3 --- /dev/null +++ b/server/jellyfin/models/AccessSchedule.ts @@ -0,0 +1,103 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { DynamicDayOfWeek } from './DynamicDayOfWeek'; +import { + DynamicDayOfWeekFromJSON, + DynamicDayOfWeekFromJSONTyped, + DynamicDayOfWeekToJSON, +} from './DynamicDayOfWeek'; + +/** + * An entity representing a user's access schedule. + * @export + * @interface AccessSchedule + */ +export interface AccessSchedule { + /** + * Gets the id of this instance. + * @type {number} + * @memberof AccessSchedule + */ + readonly id?: number; + /** + * Gets the id of the associated user. + * @type {string} + * @memberof AccessSchedule + */ + userId?: string; + /** + * + * @type {DynamicDayOfWeek} + * @memberof AccessSchedule + */ + dayOfWeek?: DynamicDayOfWeek; + /** + * Gets or sets the start hour. + * @type {number} + * @memberof AccessSchedule + */ + startHour?: number; + /** + * Gets or sets the end hour. + * @type {number} + * @memberof AccessSchedule + */ + endHour?: number; +} + +/** + * Check if a given object implements the AccessSchedule interface. + */ +export function instanceOfAccessSchedule(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function AccessScheduleFromJSON(json: any): AccessSchedule { + return AccessScheduleFromJSONTyped(json, false); +} + +export function AccessScheduleFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccessSchedule { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'userId': !exists(json, 'UserId') ? undefined : json['UserId'], + 'dayOfWeek': !exists(json, 'DayOfWeek') ? undefined : DynamicDayOfWeekFromJSON(json['DayOfWeek']), + 'startHour': !exists(json, 'StartHour') ? undefined : json['StartHour'], + 'endHour': !exists(json, 'EndHour') ? undefined : json['EndHour'], + }; +} + +export function AccessScheduleToJSON(value?: AccessSchedule | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'UserId': value.userId, + 'DayOfWeek': DynamicDayOfWeekToJSON(value.dayOfWeek), + 'StartHour': value.startHour, + 'EndHour': value.endHour, + }; +} + diff --git a/server/jellyfin/models/ActivityLogEntry.ts b/server/jellyfin/models/ActivityLogEntry.ts new file mode 100644 index 0000000..6052499 --- /dev/null +++ b/server/jellyfin/models/ActivityLogEntry.ts @@ -0,0 +1,145 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { LogLevel } from './LogLevel'; +import { + LogLevelFromJSON, + LogLevelFromJSONTyped, + LogLevelToJSON, +} from './LogLevel'; + +/** + * An activity log entry. + * @export + * @interface ActivityLogEntry + */ +export interface ActivityLogEntry { + /** + * Gets or sets the identifier. + * @type {number} + * @memberof ActivityLogEntry + */ + id?: number; + /** + * Gets or sets the name. + * @type {string} + * @memberof ActivityLogEntry + */ + name?: string; + /** + * Gets or sets the overview. + * @type {string} + * @memberof ActivityLogEntry + */ + overview?: string | null; + /** + * Gets or sets the short overview. + * @type {string} + * @memberof ActivityLogEntry + */ + shortOverview?: string | null; + /** + * Gets or sets the type. + * @type {string} + * @memberof ActivityLogEntry + */ + type?: string; + /** + * Gets or sets the item identifier. + * @type {string} + * @memberof ActivityLogEntry + */ + itemId?: string | null; + /** + * Gets or sets the date. + * @type {Date} + * @memberof ActivityLogEntry + */ + date?: Date; + /** + * Gets or sets the user identifier. + * @type {string} + * @memberof ActivityLogEntry + */ + userId?: string; + /** + * Gets or sets the user primary image tag. + * @type {string} + * @memberof ActivityLogEntry + * @deprecated + */ + userPrimaryImageTag?: string | null; + /** + * + * @type {LogLevel} + * @memberof ActivityLogEntry + */ + severity?: LogLevel; +} + +/** + * Check if a given object implements the ActivityLogEntry interface. + */ +export function instanceOfActivityLogEntry(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ActivityLogEntryFromJSON(json: any): ActivityLogEntry { + return ActivityLogEntryFromJSONTyped(json, false); +} + +export function ActivityLogEntryFromJSONTyped(json: any, ignoreDiscriminator: boolean): ActivityLogEntry { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'overview': !exists(json, 'Overview') ? undefined : json['Overview'], + 'shortOverview': !exists(json, 'ShortOverview') ? undefined : json['ShortOverview'], + 'type': !exists(json, 'Type') ? undefined : json['Type'], + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'date': !exists(json, 'Date') ? undefined : (new Date(json['Date'])), + 'userId': !exists(json, 'UserId') ? undefined : json['UserId'], + 'userPrimaryImageTag': !exists(json, 'UserPrimaryImageTag') ? undefined : json['UserPrimaryImageTag'], + 'severity': !exists(json, 'Severity') ? undefined : LogLevelFromJSON(json['Severity']), + }; +} + +export function ActivityLogEntryToJSON(value?: ActivityLogEntry | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Id': value.id, + 'Name': value.name, + 'Overview': value.overview, + 'ShortOverview': value.shortOverview, + 'Type': value.type, + 'ItemId': value.itemId, + 'Date': value.date === undefined ? undefined : (value.date.toISOString()), + 'UserId': value.userId, + 'UserPrimaryImageTag': value.userPrimaryImageTag, + 'Severity': LogLevelToJSON(value.severity), + }; +} + diff --git a/server/jellyfin/models/ActivityLogEntryQueryResult.ts b/server/jellyfin/models/ActivityLogEntryQueryResult.ts new file mode 100644 index 0000000..5d64b60 --- /dev/null +++ b/server/jellyfin/models/ActivityLogEntryQueryResult.ts @@ -0,0 +1,88 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ActivityLogEntry } from './ActivityLogEntry'; +import { + ActivityLogEntryFromJSON, + ActivityLogEntryFromJSONTyped, + ActivityLogEntryToJSON, +} from './ActivityLogEntry'; + +/** + * + * @export + * @interface ActivityLogEntryQueryResult + */ +export interface ActivityLogEntryQueryResult { + /** + * Gets or sets the items. + * @type {Array} + * @memberof ActivityLogEntryQueryResult + */ + items?: Array | null; + /** + * Gets or sets the total number of records available. + * @type {number} + * @memberof ActivityLogEntryQueryResult + */ + totalRecordCount?: number; + /** + * Gets or sets the index of the first record in Items. + * @type {number} + * @memberof ActivityLogEntryQueryResult + */ + startIndex?: number; +} + +/** + * Check if a given object implements the ActivityLogEntryQueryResult interface. + */ +export function instanceOfActivityLogEntryQueryResult(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ActivityLogEntryQueryResultFromJSON(json: any): ActivityLogEntryQueryResult { + return ActivityLogEntryQueryResultFromJSONTyped(json, false); +} + +export function ActivityLogEntryQueryResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): ActivityLogEntryQueryResult { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'items': !exists(json, 'Items') ? undefined : (json['Items'] === null ? null : (json['Items'] as Array).map(ActivityLogEntryFromJSON)), + 'totalRecordCount': !exists(json, 'TotalRecordCount') ? undefined : json['TotalRecordCount'], + 'startIndex': !exists(json, 'StartIndex') ? undefined : json['StartIndex'], + }; +} + +export function ActivityLogEntryQueryResultToJSON(value?: ActivityLogEntryQueryResult | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Items': value.items === undefined ? undefined : (value.items === null ? null : (value.items as Array).map(ActivityLogEntryToJSON)), + 'TotalRecordCount': value.totalRecordCount, + 'StartIndex': value.startIndex, + }; +} + diff --git a/server/jellyfin/models/AddListingProviderRequest.ts b/server/jellyfin/models/AddListingProviderRequest.ts new file mode 100644 index 0000000..801304e --- /dev/null +++ b/server/jellyfin/models/AddListingProviderRequest.ts @@ -0,0 +1,208 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { NameValuePair } from './NameValuePair'; +import { + NameValuePairFromJSON, + NameValuePairFromJSONTyped, + NameValuePairToJSON, +} from './NameValuePair'; + +/** + * + * @export + * @interface AddListingProviderRequest + */ +export interface AddListingProviderRequest { + /** + * + * @type {string} + * @memberof AddListingProviderRequest + */ + id?: string | null; + /** + * + * @type {string} + * @memberof AddListingProviderRequest + */ + type?: string | null; + /** + * + * @type {string} + * @memberof AddListingProviderRequest + */ + username?: string | null; + /** + * + * @type {string} + * @memberof AddListingProviderRequest + */ + password?: string | null; + /** + * + * @type {string} + * @memberof AddListingProviderRequest + */ + listingsId?: string | null; + /** + * + * @type {string} + * @memberof AddListingProviderRequest + */ + zipCode?: string | null; + /** + * + * @type {string} + * @memberof AddListingProviderRequest + */ + country?: string | null; + /** + * + * @type {string} + * @memberof AddListingProviderRequest + */ + path?: string | null; + /** + * + * @type {Array} + * @memberof AddListingProviderRequest + */ + enabledTuners?: Array | null; + /** + * + * @type {boolean} + * @memberof AddListingProviderRequest + */ + enableAllTuners?: boolean; + /** + * + * @type {Array} + * @memberof AddListingProviderRequest + */ + newsCategories?: Array | null; + /** + * + * @type {Array} + * @memberof AddListingProviderRequest + */ + sportsCategories?: Array | null; + /** + * + * @type {Array} + * @memberof AddListingProviderRequest + */ + kidsCategories?: Array | null; + /** + * + * @type {Array} + * @memberof AddListingProviderRequest + */ + movieCategories?: Array | null; + /** + * + * @type {Array} + * @memberof AddListingProviderRequest + */ + channelMappings?: Array | null; + /** + * + * @type {string} + * @memberof AddListingProviderRequest + */ + moviePrefix?: string | null; + /** + * + * @type {string} + * @memberof AddListingProviderRequest + */ + preferredLanguage?: string | null; + /** + * + * @type {string} + * @memberof AddListingProviderRequest + */ + userAgent?: string | null; +} + +/** + * Check if a given object implements the AddListingProviderRequest interface. + */ +export function instanceOfAddListingProviderRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function AddListingProviderRequestFromJSON(json: any): AddListingProviderRequest { + return AddListingProviderRequestFromJSONTyped(json, false); +} + +export function AddListingProviderRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddListingProviderRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'type': !exists(json, 'Type') ? undefined : json['Type'], + 'username': !exists(json, 'Username') ? undefined : json['Username'], + 'password': !exists(json, 'Password') ? undefined : json['Password'], + 'listingsId': !exists(json, 'ListingsId') ? undefined : json['ListingsId'], + 'zipCode': !exists(json, 'ZipCode') ? undefined : json['ZipCode'], + 'country': !exists(json, 'Country') ? undefined : json['Country'], + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'enabledTuners': !exists(json, 'EnabledTuners') ? undefined : json['EnabledTuners'], + 'enableAllTuners': !exists(json, 'EnableAllTuners') ? undefined : json['EnableAllTuners'], + 'newsCategories': !exists(json, 'NewsCategories') ? undefined : json['NewsCategories'], + 'sportsCategories': !exists(json, 'SportsCategories') ? undefined : json['SportsCategories'], + 'kidsCategories': !exists(json, 'KidsCategories') ? undefined : json['KidsCategories'], + 'movieCategories': !exists(json, 'MovieCategories') ? undefined : json['MovieCategories'], + 'channelMappings': !exists(json, 'ChannelMappings') ? undefined : (json['ChannelMappings'] === null ? null : (json['ChannelMappings'] as Array).map(NameValuePairFromJSON)), + 'moviePrefix': !exists(json, 'MoviePrefix') ? undefined : json['MoviePrefix'], + 'preferredLanguage': !exists(json, 'PreferredLanguage') ? undefined : json['PreferredLanguage'], + 'userAgent': !exists(json, 'UserAgent') ? undefined : json['UserAgent'], + }; +} + +export function AddListingProviderRequestToJSON(value?: AddListingProviderRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Id': value.id, + 'Type': value.type, + 'Username': value.username, + 'Password': value.password, + 'ListingsId': value.listingsId, + 'ZipCode': value.zipCode, + 'Country': value.country, + 'Path': value.path, + 'EnabledTuners': value.enabledTuners, + 'EnableAllTuners': value.enableAllTuners, + 'NewsCategories': value.newsCategories, + 'SportsCategories': value.sportsCategories, + 'KidsCategories': value.kidsCategories, + 'MovieCategories': value.movieCategories, + 'ChannelMappings': value.channelMappings === undefined ? undefined : (value.channelMappings === null ? null : (value.channelMappings as Array).map(NameValuePairToJSON)), + 'MoviePrefix': value.moviePrefix, + 'PreferredLanguage': value.preferredLanguage, + 'UserAgent': value.userAgent, + }; +} + diff --git a/server/jellyfin/models/AddMediaPathRequest.ts b/server/jellyfin/models/AddMediaPathRequest.ts new file mode 100644 index 0000000..c7bc9ce --- /dev/null +++ b/server/jellyfin/models/AddMediaPathRequest.ts @@ -0,0 +1,89 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { MediaPathDtoPathInfo } from './MediaPathDtoPathInfo'; +import { + MediaPathDtoPathInfoFromJSON, + MediaPathDtoPathInfoFromJSONTyped, + MediaPathDtoPathInfoToJSON, +} from './MediaPathDtoPathInfo'; + +/** + * Media Path dto. + * @export + * @interface AddMediaPathRequest + */ +export interface AddMediaPathRequest { + /** + * Gets or sets the name of the library. + * @type {string} + * @memberof AddMediaPathRequest + */ + name: string; + /** + * Gets or sets the path to add. + * @type {string} + * @memberof AddMediaPathRequest + */ + path?: string | null; + /** + * + * @type {MediaPathDtoPathInfo} + * @memberof AddMediaPathRequest + */ + pathInfo?: MediaPathDtoPathInfo | null; +} + +/** + * Check if a given object implements the AddMediaPathRequest interface. + */ +export function instanceOfAddMediaPathRequest(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "name" in value; + + return isInstance; +} + +export function AddMediaPathRequestFromJSON(json: any): AddMediaPathRequest { + return AddMediaPathRequestFromJSONTyped(json, false); +} + +export function AddMediaPathRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddMediaPathRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': json['Name'], + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'pathInfo': !exists(json, 'PathInfo') ? undefined : MediaPathDtoPathInfoFromJSON(json['PathInfo']), + }; +} + +export function AddMediaPathRequestToJSON(value?: AddMediaPathRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Path': value.path, + 'PathInfo': MediaPathDtoPathInfoToJSON(value.pathInfo), + }; +} + diff --git a/server/jellyfin/models/AddTunerHostRequest.ts b/server/jellyfin/models/AddTunerHostRequest.ts new file mode 100644 index 0000000..82bc212 --- /dev/null +++ b/server/jellyfin/models/AddTunerHostRequest.ts @@ -0,0 +1,145 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface AddTunerHostRequest + */ +export interface AddTunerHostRequest { + /** + * + * @type {string} + * @memberof AddTunerHostRequest + */ + id?: string | null; + /** + * + * @type {string} + * @memberof AddTunerHostRequest + */ + url?: string | null; + /** + * + * @type {string} + * @memberof AddTunerHostRequest + */ + type?: string | null; + /** + * + * @type {string} + * @memberof AddTunerHostRequest + */ + deviceId?: string | null; + /** + * + * @type {string} + * @memberof AddTunerHostRequest + */ + friendlyName?: string | null; + /** + * + * @type {boolean} + * @memberof AddTunerHostRequest + */ + importFavoritesOnly?: boolean; + /** + * + * @type {boolean} + * @memberof AddTunerHostRequest + */ + allowHWTranscoding?: boolean; + /** + * + * @type {boolean} + * @memberof AddTunerHostRequest + */ + enableStreamLooping?: boolean; + /** + * + * @type {string} + * @memberof AddTunerHostRequest + */ + source?: string | null; + /** + * + * @type {number} + * @memberof AddTunerHostRequest + */ + tunerCount?: number; + /** + * + * @type {string} + * @memberof AddTunerHostRequest + */ + userAgent?: string | null; +} + +/** + * Check if a given object implements the AddTunerHostRequest interface. + */ +export function instanceOfAddTunerHostRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function AddTunerHostRequestFromJSON(json: any): AddTunerHostRequest { + return AddTunerHostRequestFromJSONTyped(json, false); +} + +export function AddTunerHostRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddTunerHostRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'url': !exists(json, 'Url') ? undefined : json['Url'], + 'type': !exists(json, 'Type') ? undefined : json['Type'], + 'deviceId': !exists(json, 'DeviceId') ? undefined : json['DeviceId'], + 'friendlyName': !exists(json, 'FriendlyName') ? undefined : json['FriendlyName'], + 'importFavoritesOnly': !exists(json, 'ImportFavoritesOnly') ? undefined : json['ImportFavoritesOnly'], + 'allowHWTranscoding': !exists(json, 'AllowHWTranscoding') ? undefined : json['AllowHWTranscoding'], + 'enableStreamLooping': !exists(json, 'EnableStreamLooping') ? undefined : json['EnableStreamLooping'], + 'source': !exists(json, 'Source') ? undefined : json['Source'], + 'tunerCount': !exists(json, 'TunerCount') ? undefined : json['TunerCount'], + 'userAgent': !exists(json, 'UserAgent') ? undefined : json['UserAgent'], + }; +} + +export function AddTunerHostRequestToJSON(value?: AddTunerHostRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Id': value.id, + 'Url': value.url, + 'Type': value.type, + 'DeviceId': value.deviceId, + 'FriendlyName': value.friendlyName, + 'ImportFavoritesOnly': value.importFavoritesOnly, + 'AllowHWTranscoding': value.allowHWTranscoding, + 'EnableStreamLooping': value.enableStreamLooping, + 'Source': value.source, + 'TunerCount': value.tunerCount, + 'UserAgent': value.userAgent, + }; +} + diff --git a/server/jellyfin/models/AddVirtualFolderDto.ts b/server/jellyfin/models/AddVirtualFolderDto.ts new file mode 100644 index 0000000..570067c --- /dev/null +++ b/server/jellyfin/models/AddVirtualFolderDto.ts @@ -0,0 +1,72 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { AddVirtualFolderDtoLibraryOptions } from './AddVirtualFolderDtoLibraryOptions'; +import { + AddVirtualFolderDtoLibraryOptionsFromJSON, + AddVirtualFolderDtoLibraryOptionsFromJSONTyped, + AddVirtualFolderDtoLibraryOptionsToJSON, +} from './AddVirtualFolderDtoLibraryOptions'; + +/** + * Add virtual folder dto. + * @export + * @interface AddVirtualFolderDto + */ +export interface AddVirtualFolderDto { + /** + * + * @type {AddVirtualFolderDtoLibraryOptions} + * @memberof AddVirtualFolderDto + */ + libraryOptions?: AddVirtualFolderDtoLibraryOptions | null; +} + +/** + * Check if a given object implements the AddVirtualFolderDto interface. + */ +export function instanceOfAddVirtualFolderDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function AddVirtualFolderDtoFromJSON(json: any): AddVirtualFolderDto { + return AddVirtualFolderDtoFromJSONTyped(json, false); +} + +export function AddVirtualFolderDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddVirtualFolderDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'libraryOptions': !exists(json, 'LibraryOptions') ? undefined : AddVirtualFolderDtoLibraryOptionsFromJSON(json['LibraryOptions']), + }; +} + +export function AddVirtualFolderDtoToJSON(value?: AddVirtualFolderDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'LibraryOptions': AddVirtualFolderDtoLibraryOptionsToJSON(value.libraryOptions), + }; +} + diff --git a/server/jellyfin/models/AddVirtualFolderDtoLibraryOptions.ts b/server/jellyfin/models/AddVirtualFolderDtoLibraryOptions.ts new file mode 100644 index 0000000..a878acc --- /dev/null +++ b/server/jellyfin/models/AddVirtualFolderDtoLibraryOptions.ts @@ -0,0 +1,293 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { EmbeddedSubtitleOptions } from './EmbeddedSubtitleOptions'; +import { + EmbeddedSubtitleOptionsFromJSON, + EmbeddedSubtitleOptionsFromJSONTyped, + EmbeddedSubtitleOptionsToJSON, +} from './EmbeddedSubtitleOptions'; +import type { MediaPathInfo } from './MediaPathInfo'; +import { + MediaPathInfoFromJSON, + MediaPathInfoFromJSONTyped, + MediaPathInfoToJSON, +} from './MediaPathInfo'; +import type { TypeOptions } from './TypeOptions'; +import { + TypeOptionsFromJSON, + TypeOptionsFromJSONTyped, + TypeOptionsToJSON, +} from './TypeOptions'; + +/** + * Gets or sets library options. + * @export + * @interface AddVirtualFolderDtoLibraryOptions + */ +export interface AddVirtualFolderDtoLibraryOptions { + /** + * + * @type {boolean} + * @memberof AddVirtualFolderDtoLibraryOptions + */ + enablePhotos?: boolean; + /** + * + * @type {boolean} + * @memberof AddVirtualFolderDtoLibraryOptions + */ + enableRealtimeMonitor?: boolean; + /** + * + * @type {boolean} + * @memberof AddVirtualFolderDtoLibraryOptions + */ + enableChapterImageExtraction?: boolean; + /** + * + * @type {boolean} + * @memberof AddVirtualFolderDtoLibraryOptions + */ + extractChapterImagesDuringLibraryScan?: boolean; + /** + * + * @type {Array} + * @memberof AddVirtualFolderDtoLibraryOptions + */ + pathInfos?: Array; + /** + * + * @type {boolean} + * @memberof AddVirtualFolderDtoLibraryOptions + */ + saveLocalMetadata?: boolean; + /** + * + * @type {boolean} + * @memberof AddVirtualFolderDtoLibraryOptions + * @deprecated + */ + enableInternetProviders?: boolean; + /** + * + * @type {boolean} + * @memberof AddVirtualFolderDtoLibraryOptions + */ + enableAutomaticSeriesGrouping?: boolean; + /** + * + * @type {boolean} + * @memberof AddVirtualFolderDtoLibraryOptions + */ + enableEmbeddedTitles?: boolean; + /** + * + * @type {boolean} + * @memberof AddVirtualFolderDtoLibraryOptions + */ + enableEmbeddedEpisodeInfos?: boolean; + /** + * + * @type {number} + * @memberof AddVirtualFolderDtoLibraryOptions + */ + automaticRefreshIntervalDays?: number; + /** + * Gets or sets the preferred metadata language. + * @type {string} + * @memberof AddVirtualFolderDtoLibraryOptions + */ + preferredMetadataLanguage?: string | null; + /** + * Gets or sets the metadata country code. + * @type {string} + * @memberof AddVirtualFolderDtoLibraryOptions + */ + metadataCountryCode?: string | null; + /** + * + * @type {string} + * @memberof AddVirtualFolderDtoLibraryOptions + */ + seasonZeroDisplayName?: string; + /** + * + * @type {Array} + * @memberof AddVirtualFolderDtoLibraryOptions + */ + metadataSavers?: Array | null; + /** + * + * @type {Array} + * @memberof AddVirtualFolderDtoLibraryOptions + */ + disabledLocalMetadataReaders?: Array; + /** + * + * @type {Array} + * @memberof AddVirtualFolderDtoLibraryOptions + */ + localMetadataReaderOrder?: Array | null; + /** + * + * @type {Array} + * @memberof AddVirtualFolderDtoLibraryOptions + */ + disabledSubtitleFetchers?: Array; + /** + * + * @type {Array} + * @memberof AddVirtualFolderDtoLibraryOptions + */ + subtitleFetcherOrder?: Array; + /** + * + * @type {boolean} + * @memberof AddVirtualFolderDtoLibraryOptions + */ + skipSubtitlesIfEmbeddedSubtitlesPresent?: boolean; + /** + * + * @type {boolean} + * @memberof AddVirtualFolderDtoLibraryOptions + */ + skipSubtitlesIfAudioTrackMatches?: boolean; + /** + * + * @type {Array} + * @memberof AddVirtualFolderDtoLibraryOptions + */ + subtitleDownloadLanguages?: Array | null; + /** + * + * @type {boolean} + * @memberof AddVirtualFolderDtoLibraryOptions + */ + requirePerfectSubtitleMatch?: boolean; + /** + * + * @type {boolean} + * @memberof AddVirtualFolderDtoLibraryOptions + */ + saveSubtitlesWithMedia?: boolean; + /** + * + * @type {boolean} + * @memberof AddVirtualFolderDtoLibraryOptions + */ + automaticallyAddToCollection?: boolean; + /** + * + * @type {EmbeddedSubtitleOptions} + * @memberof AddVirtualFolderDtoLibraryOptions + */ + allowEmbeddedSubtitles?: EmbeddedSubtitleOptions; + /** + * + * @type {Array} + * @memberof AddVirtualFolderDtoLibraryOptions + */ + typeOptions?: Array; +} + +/** + * Check if a given object implements the AddVirtualFolderDtoLibraryOptions interface. + */ +export function instanceOfAddVirtualFolderDtoLibraryOptions(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function AddVirtualFolderDtoLibraryOptionsFromJSON(json: any): AddVirtualFolderDtoLibraryOptions { + return AddVirtualFolderDtoLibraryOptionsFromJSONTyped(json, false); +} + +export function AddVirtualFolderDtoLibraryOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddVirtualFolderDtoLibraryOptions { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'enablePhotos': !exists(json, 'EnablePhotos') ? undefined : json['EnablePhotos'], + 'enableRealtimeMonitor': !exists(json, 'EnableRealtimeMonitor') ? undefined : json['EnableRealtimeMonitor'], + 'enableChapterImageExtraction': !exists(json, 'EnableChapterImageExtraction') ? undefined : json['EnableChapterImageExtraction'], + 'extractChapterImagesDuringLibraryScan': !exists(json, 'ExtractChapterImagesDuringLibraryScan') ? undefined : json['ExtractChapterImagesDuringLibraryScan'], + 'pathInfos': !exists(json, 'PathInfos') ? undefined : ((json['PathInfos'] as Array).map(MediaPathInfoFromJSON)), + 'saveLocalMetadata': !exists(json, 'SaveLocalMetadata') ? undefined : json['SaveLocalMetadata'], + 'enableInternetProviders': !exists(json, 'EnableInternetProviders') ? undefined : json['EnableInternetProviders'], + 'enableAutomaticSeriesGrouping': !exists(json, 'EnableAutomaticSeriesGrouping') ? undefined : json['EnableAutomaticSeriesGrouping'], + 'enableEmbeddedTitles': !exists(json, 'EnableEmbeddedTitles') ? undefined : json['EnableEmbeddedTitles'], + 'enableEmbeddedEpisodeInfos': !exists(json, 'EnableEmbeddedEpisodeInfos') ? undefined : json['EnableEmbeddedEpisodeInfos'], + 'automaticRefreshIntervalDays': !exists(json, 'AutomaticRefreshIntervalDays') ? undefined : json['AutomaticRefreshIntervalDays'], + 'preferredMetadataLanguage': !exists(json, 'PreferredMetadataLanguage') ? undefined : json['PreferredMetadataLanguage'], + 'metadataCountryCode': !exists(json, 'MetadataCountryCode') ? undefined : json['MetadataCountryCode'], + 'seasonZeroDisplayName': !exists(json, 'SeasonZeroDisplayName') ? undefined : json['SeasonZeroDisplayName'], + 'metadataSavers': !exists(json, 'MetadataSavers') ? undefined : json['MetadataSavers'], + 'disabledLocalMetadataReaders': !exists(json, 'DisabledLocalMetadataReaders') ? undefined : json['DisabledLocalMetadataReaders'], + 'localMetadataReaderOrder': !exists(json, 'LocalMetadataReaderOrder') ? undefined : json['LocalMetadataReaderOrder'], + 'disabledSubtitleFetchers': !exists(json, 'DisabledSubtitleFetchers') ? undefined : json['DisabledSubtitleFetchers'], + 'subtitleFetcherOrder': !exists(json, 'SubtitleFetcherOrder') ? undefined : json['SubtitleFetcherOrder'], + 'skipSubtitlesIfEmbeddedSubtitlesPresent': !exists(json, 'SkipSubtitlesIfEmbeddedSubtitlesPresent') ? undefined : json['SkipSubtitlesIfEmbeddedSubtitlesPresent'], + 'skipSubtitlesIfAudioTrackMatches': !exists(json, 'SkipSubtitlesIfAudioTrackMatches') ? undefined : json['SkipSubtitlesIfAudioTrackMatches'], + 'subtitleDownloadLanguages': !exists(json, 'SubtitleDownloadLanguages') ? undefined : json['SubtitleDownloadLanguages'], + 'requirePerfectSubtitleMatch': !exists(json, 'RequirePerfectSubtitleMatch') ? undefined : json['RequirePerfectSubtitleMatch'], + 'saveSubtitlesWithMedia': !exists(json, 'SaveSubtitlesWithMedia') ? undefined : json['SaveSubtitlesWithMedia'], + 'automaticallyAddToCollection': !exists(json, 'AutomaticallyAddToCollection') ? undefined : json['AutomaticallyAddToCollection'], + 'allowEmbeddedSubtitles': !exists(json, 'AllowEmbeddedSubtitles') ? undefined : EmbeddedSubtitleOptionsFromJSON(json['AllowEmbeddedSubtitles']), + 'typeOptions': !exists(json, 'TypeOptions') ? undefined : ((json['TypeOptions'] as Array).map(TypeOptionsFromJSON)), + }; +} + +export function AddVirtualFolderDtoLibraryOptionsToJSON(value?: AddVirtualFolderDtoLibraryOptions | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'EnablePhotos': value.enablePhotos, + 'EnableRealtimeMonitor': value.enableRealtimeMonitor, + 'EnableChapterImageExtraction': value.enableChapterImageExtraction, + 'ExtractChapterImagesDuringLibraryScan': value.extractChapterImagesDuringLibraryScan, + 'PathInfos': value.pathInfos === undefined ? undefined : ((value.pathInfos as Array).map(MediaPathInfoToJSON)), + 'SaveLocalMetadata': value.saveLocalMetadata, + 'EnableInternetProviders': value.enableInternetProviders, + 'EnableAutomaticSeriesGrouping': value.enableAutomaticSeriesGrouping, + 'EnableEmbeddedTitles': value.enableEmbeddedTitles, + 'EnableEmbeddedEpisodeInfos': value.enableEmbeddedEpisodeInfos, + 'AutomaticRefreshIntervalDays': value.automaticRefreshIntervalDays, + 'PreferredMetadataLanguage': value.preferredMetadataLanguage, + 'MetadataCountryCode': value.metadataCountryCode, + 'SeasonZeroDisplayName': value.seasonZeroDisplayName, + 'MetadataSavers': value.metadataSavers, + 'DisabledLocalMetadataReaders': value.disabledLocalMetadataReaders, + 'LocalMetadataReaderOrder': value.localMetadataReaderOrder, + 'DisabledSubtitleFetchers': value.disabledSubtitleFetchers, + 'SubtitleFetcherOrder': value.subtitleFetcherOrder, + 'SkipSubtitlesIfEmbeddedSubtitlesPresent': value.skipSubtitlesIfEmbeddedSubtitlesPresent, + 'SkipSubtitlesIfAudioTrackMatches': value.skipSubtitlesIfAudioTrackMatches, + 'SubtitleDownloadLanguages': value.subtitleDownloadLanguages, + 'RequirePerfectSubtitleMatch': value.requirePerfectSubtitleMatch, + 'SaveSubtitlesWithMedia': value.saveSubtitlesWithMedia, + 'AutomaticallyAddToCollection': value.automaticallyAddToCollection, + 'AllowEmbeddedSubtitles': EmbeddedSubtitleOptionsToJSON(value.allowEmbeddedSubtitles), + 'TypeOptions': value.typeOptions === undefined ? undefined : ((value.typeOptions as Array).map(TypeOptionsToJSON)), + }; +} + diff --git a/server/jellyfin/models/AddVirtualFolderRequest.ts b/server/jellyfin/models/AddVirtualFolderRequest.ts new file mode 100644 index 0000000..3919a70 --- /dev/null +++ b/server/jellyfin/models/AddVirtualFolderRequest.ts @@ -0,0 +1,72 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { AddVirtualFolderDtoLibraryOptions } from './AddVirtualFolderDtoLibraryOptions'; +import { + AddVirtualFolderDtoLibraryOptionsFromJSON, + AddVirtualFolderDtoLibraryOptionsFromJSONTyped, + AddVirtualFolderDtoLibraryOptionsToJSON, +} from './AddVirtualFolderDtoLibraryOptions'; + +/** + * Add virtual folder dto. + * @export + * @interface AddVirtualFolderRequest + */ +export interface AddVirtualFolderRequest { + /** + * + * @type {AddVirtualFolderDtoLibraryOptions} + * @memberof AddVirtualFolderRequest + */ + libraryOptions?: AddVirtualFolderDtoLibraryOptions | null; +} + +/** + * Check if a given object implements the AddVirtualFolderRequest interface. + */ +export function instanceOfAddVirtualFolderRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function AddVirtualFolderRequestFromJSON(json: any): AddVirtualFolderRequest { + return AddVirtualFolderRequestFromJSONTyped(json, false); +} + +export function AddVirtualFolderRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddVirtualFolderRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'libraryOptions': !exists(json, 'LibraryOptions') ? undefined : AddVirtualFolderDtoLibraryOptionsFromJSON(json['LibraryOptions']), + }; +} + +export function AddVirtualFolderRequestToJSON(value?: AddVirtualFolderRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'LibraryOptions': AddVirtualFolderDtoLibraryOptionsToJSON(value.libraryOptions), + }; +} + diff --git a/server/jellyfin/models/AdminNotificationDto.ts b/server/jellyfin/models/AdminNotificationDto.ts new file mode 100644 index 0000000..92733aa --- /dev/null +++ b/server/jellyfin/models/AdminNotificationDto.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { NotificationLevel } from './NotificationLevel'; +import { + NotificationLevelFromJSON, + NotificationLevelFromJSONTyped, + NotificationLevelToJSON, +} from './NotificationLevel'; + +/** + * The admin notification dto. + * @export + * @interface AdminNotificationDto + */ +export interface AdminNotificationDto { + /** + * Gets or sets the notification name. + * @type {string} + * @memberof AdminNotificationDto + */ + name?: string | null; + /** + * Gets or sets the notification description. + * @type {string} + * @memberof AdminNotificationDto + */ + description?: string | null; + /** + * + * @type {NotificationLevel} + * @memberof AdminNotificationDto + */ + notificationLevel?: NotificationLevel | null; + /** + * Gets or sets the notification url. + * @type {string} + * @memberof AdminNotificationDto + */ + url?: string | null; +} + +/** + * Check if a given object implements the AdminNotificationDto interface. + */ +export function instanceOfAdminNotificationDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function AdminNotificationDtoFromJSON(json: any): AdminNotificationDto { + return AdminNotificationDtoFromJSONTyped(json, false); +} + +export function AdminNotificationDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AdminNotificationDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'description': !exists(json, 'Description') ? undefined : json['Description'], + 'notificationLevel': !exists(json, 'NotificationLevel') ? undefined : NotificationLevelFromJSON(json['NotificationLevel']), + 'url': !exists(json, 'Url') ? undefined : json['Url'], + }; +} + +export function AdminNotificationDtoToJSON(value?: AdminNotificationDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Description': value.description, + 'NotificationLevel': NotificationLevelToJSON(value.notificationLevel), + 'Url': value.url, + }; +} + diff --git a/server/jellyfin/models/AlbumInfo.ts b/server/jellyfin/models/AlbumInfo.ts new file mode 100644 index 0000000..ae46325 --- /dev/null +++ b/server/jellyfin/models/AlbumInfo.ts @@ -0,0 +1,176 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { SongInfo } from './SongInfo'; +import { + SongInfoFromJSON, + SongInfoFromJSONTyped, + SongInfoToJSON, +} from './SongInfo'; + +/** + * + * @export + * @interface AlbumInfo + */ +export interface AlbumInfo { + /** + * Gets or sets the name. + * @type {string} + * @memberof AlbumInfo + */ + name?: string | null; + /** + * Gets or sets the original title. + * @type {string} + * @memberof AlbumInfo + */ + originalTitle?: string | null; + /** + * Gets or sets the path. + * @type {string} + * @memberof AlbumInfo + */ + path?: string | null; + /** + * Gets or sets the metadata language. + * @type {string} + * @memberof AlbumInfo + */ + metadataLanguage?: string | null; + /** + * Gets or sets the metadata country code. + * @type {string} + * @memberof AlbumInfo + */ + metadataCountryCode?: string | null; + /** + * Gets or sets the provider ids. + * @type {{ [key: string]: string; }} + * @memberof AlbumInfo + */ + providerIds?: { [key: string]: string; } | null; + /** + * Gets or sets the year. + * @type {number} + * @memberof AlbumInfo + */ + year?: number | null; + /** + * + * @type {number} + * @memberof AlbumInfo + */ + indexNumber?: number | null; + /** + * + * @type {number} + * @memberof AlbumInfo + */ + parentIndexNumber?: number | null; + /** + * + * @type {Date} + * @memberof AlbumInfo + */ + premiereDate?: Date | null; + /** + * + * @type {boolean} + * @memberof AlbumInfo + */ + isAutomated?: boolean; + /** + * Gets or sets the album artist. + * @type {Array} + * @memberof AlbumInfo + */ + albumArtists?: Array; + /** + * Gets or sets the artist provider ids. + * @type {{ [key: string]: string; }} + * @memberof AlbumInfo + */ + artistProviderIds?: { [key: string]: string; }; + /** + * + * @type {Array} + * @memberof AlbumInfo + */ + songInfos?: Array; +} + +/** + * Check if a given object implements the AlbumInfo interface. + */ +export function instanceOfAlbumInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function AlbumInfoFromJSON(json: any): AlbumInfo { + return AlbumInfoFromJSONTyped(json, false); +} + +export function AlbumInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AlbumInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'originalTitle': !exists(json, 'OriginalTitle') ? undefined : json['OriginalTitle'], + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'metadataLanguage': !exists(json, 'MetadataLanguage') ? undefined : json['MetadataLanguage'], + 'metadataCountryCode': !exists(json, 'MetadataCountryCode') ? undefined : json['MetadataCountryCode'], + 'providerIds': !exists(json, 'ProviderIds') ? undefined : json['ProviderIds'], + 'year': !exists(json, 'Year') ? undefined : json['Year'], + 'indexNumber': !exists(json, 'IndexNumber') ? undefined : json['IndexNumber'], + 'parentIndexNumber': !exists(json, 'ParentIndexNumber') ? undefined : json['ParentIndexNumber'], + 'premiereDate': !exists(json, 'PremiereDate') ? undefined : (json['PremiereDate'] === null ? null : new Date(json['PremiereDate'])), + 'isAutomated': !exists(json, 'IsAutomated') ? undefined : json['IsAutomated'], + 'albumArtists': !exists(json, 'AlbumArtists') ? undefined : json['AlbumArtists'], + 'artistProviderIds': !exists(json, 'ArtistProviderIds') ? undefined : json['ArtistProviderIds'], + 'songInfos': !exists(json, 'SongInfos') ? undefined : ((json['SongInfos'] as Array).map(SongInfoFromJSON)), + }; +} + +export function AlbumInfoToJSON(value?: AlbumInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'OriginalTitle': value.originalTitle, + 'Path': value.path, + 'MetadataLanguage': value.metadataLanguage, + 'MetadataCountryCode': value.metadataCountryCode, + 'ProviderIds': value.providerIds, + 'Year': value.year, + 'IndexNumber': value.indexNumber, + 'ParentIndexNumber': value.parentIndexNumber, + 'PremiereDate': value.premiereDate === undefined ? undefined : (value.premiereDate === null ? null : value.premiereDate.toISOString()), + 'IsAutomated': value.isAutomated, + 'AlbumArtists': value.albumArtists, + 'ArtistProviderIds': value.artistProviderIds, + 'SongInfos': value.songInfos === undefined ? undefined : ((value.songInfos as Array).map(SongInfoToJSON)), + }; +} + diff --git a/server/jellyfin/models/AlbumInfoRemoteSearchQuery.ts b/server/jellyfin/models/AlbumInfoRemoteSearchQuery.ts new file mode 100644 index 0000000..d25ce59 --- /dev/null +++ b/server/jellyfin/models/AlbumInfoRemoteSearchQuery.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { AlbumInfo } from './AlbumInfo'; +import { + AlbumInfoFromJSON, + AlbumInfoFromJSONTyped, + AlbumInfoToJSON, +} from './AlbumInfo'; + +/** + * + * @export + * @interface AlbumInfoRemoteSearchQuery + */ +export interface AlbumInfoRemoteSearchQuery { + /** + * + * @type {AlbumInfo} + * @memberof AlbumInfoRemoteSearchQuery + */ + searchInfo?: AlbumInfo | null; + /** + * + * @type {string} + * @memberof AlbumInfoRemoteSearchQuery + */ + itemId?: string; + /** + * Gets or sets the provider name to search within if set. + * @type {string} + * @memberof AlbumInfoRemoteSearchQuery + */ + searchProviderName?: string | null; + /** + * Gets or sets a value indicating whether disabled providers should be included. + * @type {boolean} + * @memberof AlbumInfoRemoteSearchQuery + */ + includeDisabledProviders?: boolean; +} + +/** + * Check if a given object implements the AlbumInfoRemoteSearchQuery interface. + */ +export function instanceOfAlbumInfoRemoteSearchQuery(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function AlbumInfoRemoteSearchQueryFromJSON(json: any): AlbumInfoRemoteSearchQuery { + return AlbumInfoRemoteSearchQueryFromJSONTyped(json, false); +} + +export function AlbumInfoRemoteSearchQueryFromJSONTyped(json: any, ignoreDiscriminator: boolean): AlbumInfoRemoteSearchQuery { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'searchInfo': !exists(json, 'SearchInfo') ? undefined : AlbumInfoFromJSON(json['SearchInfo']), + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'searchProviderName': !exists(json, 'SearchProviderName') ? undefined : json['SearchProviderName'], + 'includeDisabledProviders': !exists(json, 'IncludeDisabledProviders') ? undefined : json['IncludeDisabledProviders'], + }; +} + +export function AlbumInfoRemoteSearchQueryToJSON(value?: AlbumInfoRemoteSearchQuery | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'SearchInfo': AlbumInfoToJSON(value.searchInfo), + 'ItemId': value.itemId, + 'SearchProviderName': value.searchProviderName, + 'IncludeDisabledProviders': value.includeDisabledProviders, + }; +} + diff --git a/server/jellyfin/models/AllThemeMediaResult.ts b/server/jellyfin/models/AllThemeMediaResult.ts new file mode 100644 index 0000000..9cdc9e6 --- /dev/null +++ b/server/jellyfin/models/AllThemeMediaResult.ts @@ -0,0 +1,88 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { AllThemeMediaResultThemeVideosResult } from './AllThemeMediaResultThemeVideosResult'; +import { + AllThemeMediaResultThemeVideosResultFromJSON, + AllThemeMediaResultThemeVideosResultFromJSONTyped, + AllThemeMediaResultThemeVideosResultToJSON, +} from './AllThemeMediaResultThemeVideosResult'; + +/** + * + * @export + * @interface AllThemeMediaResult + */ +export interface AllThemeMediaResult { + /** + * + * @type {AllThemeMediaResultThemeVideosResult} + * @memberof AllThemeMediaResult + */ + themeVideosResult?: AllThemeMediaResultThemeVideosResult | null; + /** + * + * @type {AllThemeMediaResultThemeVideosResult} + * @memberof AllThemeMediaResult + */ + themeSongsResult?: AllThemeMediaResultThemeVideosResult | null; + /** + * + * @type {AllThemeMediaResultThemeVideosResult} + * @memberof AllThemeMediaResult + */ + soundtrackSongsResult?: AllThemeMediaResultThemeVideosResult | null; +} + +/** + * Check if a given object implements the AllThemeMediaResult interface. + */ +export function instanceOfAllThemeMediaResult(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function AllThemeMediaResultFromJSON(json: any): AllThemeMediaResult { + return AllThemeMediaResultFromJSONTyped(json, false); +} + +export function AllThemeMediaResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): AllThemeMediaResult { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'themeVideosResult': !exists(json, 'ThemeVideosResult') ? undefined : AllThemeMediaResultThemeVideosResultFromJSON(json['ThemeVideosResult']), + 'themeSongsResult': !exists(json, 'ThemeSongsResult') ? undefined : AllThemeMediaResultThemeVideosResultFromJSON(json['ThemeSongsResult']), + 'soundtrackSongsResult': !exists(json, 'SoundtrackSongsResult') ? undefined : AllThemeMediaResultThemeVideosResultFromJSON(json['SoundtrackSongsResult']), + }; +} + +export function AllThemeMediaResultToJSON(value?: AllThemeMediaResult | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'ThemeVideosResult': AllThemeMediaResultThemeVideosResultToJSON(value.themeVideosResult), + 'ThemeSongsResult': AllThemeMediaResultThemeVideosResultToJSON(value.themeSongsResult), + 'SoundtrackSongsResult': AllThemeMediaResultThemeVideosResultToJSON(value.soundtrackSongsResult), + }; +} + diff --git a/server/jellyfin/models/AllThemeMediaResultThemeVideosResult.ts b/server/jellyfin/models/AllThemeMediaResultThemeVideosResult.ts new file mode 100644 index 0000000..0a5c738 --- /dev/null +++ b/server/jellyfin/models/AllThemeMediaResultThemeVideosResult.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { BaseItemDto } from './BaseItemDto'; +import { + BaseItemDtoFromJSON, + BaseItemDtoFromJSONTyped, + BaseItemDtoToJSON, +} from './BaseItemDto'; + +/** + * Class ThemeMediaResult. + * @export + * @interface AllThemeMediaResultThemeVideosResult + */ +export interface AllThemeMediaResultThemeVideosResult { + /** + * Gets or sets the items. + * @type {Array} + * @memberof AllThemeMediaResultThemeVideosResult + */ + items?: Array | null; + /** + * Gets or sets the total number of records available. + * @type {number} + * @memberof AllThemeMediaResultThemeVideosResult + */ + totalRecordCount?: number; + /** + * Gets or sets the index of the first record in Items. + * @type {number} + * @memberof AllThemeMediaResultThemeVideosResult + */ + startIndex?: number; + /** + * Gets or sets the owner id. + * @type {string} + * @memberof AllThemeMediaResultThemeVideosResult + */ + ownerId?: string; +} + +/** + * Check if a given object implements the AllThemeMediaResultThemeVideosResult interface. + */ +export function instanceOfAllThemeMediaResultThemeVideosResult(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function AllThemeMediaResultThemeVideosResultFromJSON(json: any): AllThemeMediaResultThemeVideosResult { + return AllThemeMediaResultThemeVideosResultFromJSONTyped(json, false); +} + +export function AllThemeMediaResultThemeVideosResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): AllThemeMediaResultThemeVideosResult { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'items': !exists(json, 'Items') ? undefined : (json['Items'] === null ? null : (json['Items'] as Array).map(BaseItemDtoFromJSON)), + 'totalRecordCount': !exists(json, 'TotalRecordCount') ? undefined : json['TotalRecordCount'], + 'startIndex': !exists(json, 'StartIndex') ? undefined : json['StartIndex'], + 'ownerId': !exists(json, 'OwnerId') ? undefined : json['OwnerId'], + }; +} + +export function AllThemeMediaResultThemeVideosResultToJSON(value?: AllThemeMediaResultThemeVideosResult | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Items': value.items === undefined ? undefined : (value.items === null ? null : (value.items as Array).map(BaseItemDtoToJSON)), + 'TotalRecordCount': value.totalRecordCount, + 'StartIndex': value.startIndex, + 'OwnerId': value.ownerId, + }; +} + diff --git a/server/jellyfin/models/ApplySearchCriteriaRequest.ts b/server/jellyfin/models/ApplySearchCriteriaRequest.ts new file mode 100644 index 0000000..e02f131 --- /dev/null +++ b/server/jellyfin/models/ApplySearchCriteriaRequest.ts @@ -0,0 +1,160 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { RemoteSearchResult } from './RemoteSearchResult'; +import { + RemoteSearchResultFromJSON, + RemoteSearchResultFromJSONTyped, + RemoteSearchResultToJSON, +} from './RemoteSearchResult'; + +/** + * + * @export + * @interface ApplySearchCriteriaRequest + */ +export interface ApplySearchCriteriaRequest { + /** + * Gets or sets the name. + * @type {string} + * @memberof ApplySearchCriteriaRequest + */ + name?: string | null; + /** + * Gets or sets the provider ids. + * @type {{ [key: string]: string; }} + * @memberof ApplySearchCriteriaRequest + */ + providerIds?: { [key: string]: string; } | null; + /** + * Gets or sets the year. + * @type {number} + * @memberof ApplySearchCriteriaRequest + */ + productionYear?: number | null; + /** + * + * @type {number} + * @memberof ApplySearchCriteriaRequest + */ + indexNumber?: number | null; + /** + * + * @type {number} + * @memberof ApplySearchCriteriaRequest + */ + indexNumberEnd?: number | null; + /** + * + * @type {number} + * @memberof ApplySearchCriteriaRequest + */ + parentIndexNumber?: number | null; + /** + * + * @type {Date} + * @memberof ApplySearchCriteriaRequest + */ + premiereDate?: Date | null; + /** + * + * @type {string} + * @memberof ApplySearchCriteriaRequest + */ + imageUrl?: string | null; + /** + * + * @type {string} + * @memberof ApplySearchCriteriaRequest + */ + searchProviderName?: string | null; + /** + * + * @type {string} + * @memberof ApplySearchCriteriaRequest + */ + overview?: string | null; + /** + * + * @type {RemoteSearchResult} + * @memberof ApplySearchCriteriaRequest + */ + albumArtist?: RemoteSearchResult | null; + /** + * + * @type {Array} + * @memberof ApplySearchCriteriaRequest + */ + artists?: Array | null; +} + +/** + * Check if a given object implements the ApplySearchCriteriaRequest interface. + */ +export function instanceOfApplySearchCriteriaRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ApplySearchCriteriaRequestFromJSON(json: any): ApplySearchCriteriaRequest { + return ApplySearchCriteriaRequestFromJSONTyped(json, false); +} + +export function ApplySearchCriteriaRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApplySearchCriteriaRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'providerIds': !exists(json, 'ProviderIds') ? undefined : json['ProviderIds'], + 'productionYear': !exists(json, 'ProductionYear') ? undefined : json['ProductionYear'], + 'indexNumber': !exists(json, 'IndexNumber') ? undefined : json['IndexNumber'], + 'indexNumberEnd': !exists(json, 'IndexNumberEnd') ? undefined : json['IndexNumberEnd'], + 'parentIndexNumber': !exists(json, 'ParentIndexNumber') ? undefined : json['ParentIndexNumber'], + 'premiereDate': !exists(json, 'PremiereDate') ? undefined : (json['PremiereDate'] === null ? null : new Date(json['PremiereDate'])), + 'imageUrl': !exists(json, 'ImageUrl') ? undefined : json['ImageUrl'], + 'searchProviderName': !exists(json, 'SearchProviderName') ? undefined : json['SearchProviderName'], + 'overview': !exists(json, 'Overview') ? undefined : json['Overview'], + 'albumArtist': !exists(json, 'AlbumArtist') ? undefined : RemoteSearchResultFromJSON(json['AlbumArtist']), + 'artists': !exists(json, 'Artists') ? undefined : (json['Artists'] === null ? null : (json['Artists'] as Array).map(RemoteSearchResultFromJSON)), + }; +} + +export function ApplySearchCriteriaRequestToJSON(value?: ApplySearchCriteriaRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'ProviderIds': value.providerIds, + 'ProductionYear': value.productionYear, + 'IndexNumber': value.indexNumber, + 'IndexNumberEnd': value.indexNumberEnd, + 'ParentIndexNumber': value.parentIndexNumber, + 'PremiereDate': value.premiereDate === undefined ? undefined : (value.premiereDate === null ? null : value.premiereDate.toISOString()), + 'ImageUrl': value.imageUrl, + 'SearchProviderName': value.searchProviderName, + 'Overview': value.overview, + 'AlbumArtist': RemoteSearchResultToJSON(value.albumArtist), + 'Artists': value.artists === undefined ? undefined : (value.artists === null ? null : (value.artists as Array).map(RemoteSearchResultToJSON)), + }; +} + diff --git a/server/jellyfin/models/Architecture.ts b/server/jellyfin/models/Architecture.ts new file mode 100644 index 0000000..0cb23e8 --- /dev/null +++ b/server/jellyfin/models/Architecture.ts @@ -0,0 +1,42 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const Architecture = { + X86: 'X86', + X64: 'X64', + Arm: 'Arm', + Arm64: 'Arm64', + Wasm: 'Wasm', + S390x: 'S390x' +} as const; +export type Architecture = typeof Architecture[keyof typeof Architecture]; + + +export function ArchitectureFromJSON(json: any): Architecture { + return ArchitectureFromJSONTyped(json, false); +} + +export function ArchitectureFromJSONTyped(json: any, ignoreDiscriminator: boolean): Architecture { + return json as Architecture; +} + +export function ArchitectureToJSON(value?: Architecture | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/ArtistInfo.ts b/server/jellyfin/models/ArtistInfo.ts new file mode 100644 index 0000000..ff05e2d --- /dev/null +++ b/server/jellyfin/models/ArtistInfo.ts @@ -0,0 +1,160 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { SongInfo } from './SongInfo'; +import { + SongInfoFromJSON, + SongInfoFromJSONTyped, + SongInfoToJSON, +} from './SongInfo'; + +/** + * + * @export + * @interface ArtistInfo + */ +export interface ArtistInfo { + /** + * Gets or sets the name. + * @type {string} + * @memberof ArtistInfo + */ + name?: string | null; + /** + * Gets or sets the original title. + * @type {string} + * @memberof ArtistInfo + */ + originalTitle?: string | null; + /** + * Gets or sets the path. + * @type {string} + * @memberof ArtistInfo + */ + path?: string | null; + /** + * Gets or sets the metadata language. + * @type {string} + * @memberof ArtistInfo + */ + metadataLanguage?: string | null; + /** + * Gets or sets the metadata country code. + * @type {string} + * @memberof ArtistInfo + */ + metadataCountryCode?: string | null; + /** + * Gets or sets the provider ids. + * @type {{ [key: string]: string; }} + * @memberof ArtistInfo + */ + providerIds?: { [key: string]: string; } | null; + /** + * Gets or sets the year. + * @type {number} + * @memberof ArtistInfo + */ + year?: number | null; + /** + * + * @type {number} + * @memberof ArtistInfo + */ + indexNumber?: number | null; + /** + * + * @type {number} + * @memberof ArtistInfo + */ + parentIndexNumber?: number | null; + /** + * + * @type {Date} + * @memberof ArtistInfo + */ + premiereDate?: Date | null; + /** + * + * @type {boolean} + * @memberof ArtistInfo + */ + isAutomated?: boolean; + /** + * + * @type {Array} + * @memberof ArtistInfo + */ + songInfos?: Array; +} + +/** + * Check if a given object implements the ArtistInfo interface. + */ +export function instanceOfArtistInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ArtistInfoFromJSON(json: any): ArtistInfo { + return ArtistInfoFromJSONTyped(json, false); +} + +export function ArtistInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ArtistInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'originalTitle': !exists(json, 'OriginalTitle') ? undefined : json['OriginalTitle'], + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'metadataLanguage': !exists(json, 'MetadataLanguage') ? undefined : json['MetadataLanguage'], + 'metadataCountryCode': !exists(json, 'MetadataCountryCode') ? undefined : json['MetadataCountryCode'], + 'providerIds': !exists(json, 'ProviderIds') ? undefined : json['ProviderIds'], + 'year': !exists(json, 'Year') ? undefined : json['Year'], + 'indexNumber': !exists(json, 'IndexNumber') ? undefined : json['IndexNumber'], + 'parentIndexNumber': !exists(json, 'ParentIndexNumber') ? undefined : json['ParentIndexNumber'], + 'premiereDate': !exists(json, 'PremiereDate') ? undefined : (json['PremiereDate'] === null ? null : new Date(json['PremiereDate'])), + 'isAutomated': !exists(json, 'IsAutomated') ? undefined : json['IsAutomated'], + 'songInfos': !exists(json, 'SongInfos') ? undefined : ((json['SongInfos'] as Array).map(SongInfoFromJSON)), + }; +} + +export function ArtistInfoToJSON(value?: ArtistInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'OriginalTitle': value.originalTitle, + 'Path': value.path, + 'MetadataLanguage': value.metadataLanguage, + 'MetadataCountryCode': value.metadataCountryCode, + 'ProviderIds': value.providerIds, + 'Year': value.year, + 'IndexNumber': value.indexNumber, + 'ParentIndexNumber': value.parentIndexNumber, + 'PremiereDate': value.premiereDate === undefined ? undefined : (value.premiereDate === null ? null : value.premiereDate.toISOString()), + 'IsAutomated': value.isAutomated, + 'SongInfos': value.songInfos === undefined ? undefined : ((value.songInfos as Array).map(SongInfoToJSON)), + }; +} + diff --git a/server/jellyfin/models/ArtistInfoRemoteSearchQuery.ts b/server/jellyfin/models/ArtistInfoRemoteSearchQuery.ts new file mode 100644 index 0000000..9a1a2b6 --- /dev/null +++ b/server/jellyfin/models/ArtistInfoRemoteSearchQuery.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ArtistInfo } from './ArtistInfo'; +import { + ArtistInfoFromJSON, + ArtistInfoFromJSONTyped, + ArtistInfoToJSON, +} from './ArtistInfo'; + +/** + * + * @export + * @interface ArtistInfoRemoteSearchQuery + */ +export interface ArtistInfoRemoteSearchQuery { + /** + * + * @type {ArtistInfo} + * @memberof ArtistInfoRemoteSearchQuery + */ + searchInfo?: ArtistInfo | null; + /** + * + * @type {string} + * @memberof ArtistInfoRemoteSearchQuery + */ + itemId?: string; + /** + * Gets or sets the provider name to search within if set. + * @type {string} + * @memberof ArtistInfoRemoteSearchQuery + */ + searchProviderName?: string | null; + /** + * Gets or sets a value indicating whether disabled providers should be included. + * @type {boolean} + * @memberof ArtistInfoRemoteSearchQuery + */ + includeDisabledProviders?: boolean; +} + +/** + * Check if a given object implements the ArtistInfoRemoteSearchQuery interface. + */ +export function instanceOfArtistInfoRemoteSearchQuery(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ArtistInfoRemoteSearchQueryFromJSON(json: any): ArtistInfoRemoteSearchQuery { + return ArtistInfoRemoteSearchQueryFromJSONTyped(json, false); +} + +export function ArtistInfoRemoteSearchQueryFromJSONTyped(json: any, ignoreDiscriminator: boolean): ArtistInfoRemoteSearchQuery { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'searchInfo': !exists(json, 'SearchInfo') ? undefined : ArtistInfoFromJSON(json['SearchInfo']), + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'searchProviderName': !exists(json, 'SearchProviderName') ? undefined : json['SearchProviderName'], + 'includeDisabledProviders': !exists(json, 'IncludeDisabledProviders') ? undefined : json['IncludeDisabledProviders'], + }; +} + +export function ArtistInfoRemoteSearchQueryToJSON(value?: ArtistInfoRemoteSearchQuery | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'SearchInfo': ArtistInfoToJSON(value.searchInfo), + 'ItemId': value.itemId, + 'SearchProviderName': value.searchProviderName, + 'IncludeDisabledProviders': value.includeDisabledProviders, + }; +} + diff --git a/server/jellyfin/models/AuthenticateUserByName.ts b/server/jellyfin/models/AuthenticateUserByName.ts new file mode 100644 index 0000000..804bb77 --- /dev/null +++ b/server/jellyfin/models/AuthenticateUserByName.ts @@ -0,0 +1,82 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * The authenticate user by name request body. + * @export + * @interface AuthenticateUserByName + */ +export interface AuthenticateUserByName { + /** + * Gets or sets the username. + * @type {string} + * @memberof AuthenticateUserByName + */ + username?: string | null; + /** + * Gets or sets the plain text password. + * @type {string} + * @memberof AuthenticateUserByName + */ + pw?: string | null; + /** + * Gets or sets the sha1-hashed password. + * @type {string} + * @memberof AuthenticateUserByName + * @deprecated + */ + password?: string | null; +} + +/** + * Check if a given object implements the AuthenticateUserByName interface. + */ +export function instanceOfAuthenticateUserByName(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function AuthenticateUserByNameFromJSON(json: any): AuthenticateUserByName { + return AuthenticateUserByNameFromJSONTyped(json, false); +} + +export function AuthenticateUserByNameFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthenticateUserByName { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'username': !exists(json, 'Username') ? undefined : json['Username'], + 'pw': !exists(json, 'Pw') ? undefined : json['Pw'], + 'password': !exists(json, 'Password') ? undefined : json['Password'], + }; +} + +export function AuthenticateUserByNameToJSON(value?: AuthenticateUserByName | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Username': value.username, + 'Pw': value.pw, + 'Password': value.password, + }; +} + diff --git a/server/jellyfin/models/AuthenticateUserByNameRequest.ts b/server/jellyfin/models/AuthenticateUserByNameRequest.ts new file mode 100644 index 0000000..4c3192c --- /dev/null +++ b/server/jellyfin/models/AuthenticateUserByNameRequest.ts @@ -0,0 +1,82 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * The authenticate user by name request body. + * @export + * @interface AuthenticateUserByNameRequest + */ +export interface AuthenticateUserByNameRequest { + /** + * Gets or sets the username. + * @type {string} + * @memberof AuthenticateUserByNameRequest + */ + username?: string | null; + /** + * Gets or sets the plain text password. + * @type {string} + * @memberof AuthenticateUserByNameRequest + */ + pw?: string | null; + /** + * Gets or sets the sha1-hashed password. + * @type {string} + * @memberof AuthenticateUserByNameRequest + * @deprecated + */ + password?: string | null; +} + +/** + * Check if a given object implements the AuthenticateUserByNameRequest interface. + */ +export function instanceOfAuthenticateUserByNameRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function AuthenticateUserByNameRequestFromJSON(json: any): AuthenticateUserByNameRequest { + return AuthenticateUserByNameRequestFromJSONTyped(json, false); +} + +export function AuthenticateUserByNameRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthenticateUserByNameRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'username': !exists(json, 'Username') ? undefined : json['Username'], + 'pw': !exists(json, 'Pw') ? undefined : json['Pw'], + 'password': !exists(json, 'Password') ? undefined : json['Password'], + }; +} + +export function AuthenticateUserByNameRequestToJSON(value?: AuthenticateUserByNameRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Username': value.username, + 'Pw': value.pw, + 'Password': value.password, + }; +} + diff --git a/server/jellyfin/models/AuthenticateWithQuickConnectRequest.ts b/server/jellyfin/models/AuthenticateWithQuickConnectRequest.ts new file mode 100644 index 0000000..fe81d3c --- /dev/null +++ b/server/jellyfin/models/AuthenticateWithQuickConnectRequest.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * The quick connect request body. + * @export + * @interface AuthenticateWithQuickConnectRequest + */ +export interface AuthenticateWithQuickConnectRequest { + /** + * Gets or sets the quick connect secret. + * @type {string} + * @memberof AuthenticateWithQuickConnectRequest + */ + secret: string; +} + +/** + * Check if a given object implements the AuthenticateWithQuickConnectRequest interface. + */ +export function instanceOfAuthenticateWithQuickConnectRequest(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "secret" in value; + + return isInstance; +} + +export function AuthenticateWithQuickConnectRequestFromJSON(json: any): AuthenticateWithQuickConnectRequest { + return AuthenticateWithQuickConnectRequestFromJSONTyped(json, false); +} + +export function AuthenticateWithQuickConnectRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthenticateWithQuickConnectRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'secret': json['Secret'], + }; +} + +export function AuthenticateWithQuickConnectRequestToJSON(value?: AuthenticateWithQuickConnectRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Secret': value.secret, + }; +} + diff --git a/server/jellyfin/models/AuthenticationInfo.ts b/server/jellyfin/models/AuthenticationInfo.ts new file mode 100644 index 0000000..9a5b38c --- /dev/null +++ b/server/jellyfin/models/AuthenticationInfo.ts @@ -0,0 +1,153 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface AuthenticationInfo + */ +export interface AuthenticationInfo { + /** + * Gets or sets the identifier. + * @type {number} + * @memberof AuthenticationInfo + */ + id?: number; + /** + * Gets or sets the access token. + * @type {string} + * @memberof AuthenticationInfo + */ + accessToken?: string | null; + /** + * Gets or sets the device identifier. + * @type {string} + * @memberof AuthenticationInfo + */ + deviceId?: string | null; + /** + * Gets or sets the name of the application. + * @type {string} + * @memberof AuthenticationInfo + */ + appName?: string | null; + /** + * Gets or sets the application version. + * @type {string} + * @memberof AuthenticationInfo + */ + appVersion?: string | null; + /** + * Gets or sets the name of the device. + * @type {string} + * @memberof AuthenticationInfo + */ + deviceName?: string | null; + /** + * Gets or sets the user identifier. + * @type {string} + * @memberof AuthenticationInfo + */ + userId?: string; + /** + * Gets or sets a value indicating whether this instance is active. + * @type {boolean} + * @memberof AuthenticationInfo + */ + isActive?: boolean; + /** + * Gets or sets the date created. + * @type {Date} + * @memberof AuthenticationInfo + */ + dateCreated?: Date; + /** + * Gets or sets the date revoked. + * @type {Date} + * @memberof AuthenticationInfo + */ + dateRevoked?: Date | null; + /** + * + * @type {Date} + * @memberof AuthenticationInfo + */ + dateLastActivity?: Date; + /** + * + * @type {string} + * @memberof AuthenticationInfo + */ + userName?: string | null; +} + +/** + * Check if a given object implements the AuthenticationInfo interface. + */ +export function instanceOfAuthenticationInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function AuthenticationInfoFromJSON(json: any): AuthenticationInfo { + return AuthenticationInfoFromJSONTyped(json, false); +} + +export function AuthenticationInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthenticationInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'accessToken': !exists(json, 'AccessToken') ? undefined : json['AccessToken'], + 'deviceId': !exists(json, 'DeviceId') ? undefined : json['DeviceId'], + 'appName': !exists(json, 'AppName') ? undefined : json['AppName'], + 'appVersion': !exists(json, 'AppVersion') ? undefined : json['AppVersion'], + 'deviceName': !exists(json, 'DeviceName') ? undefined : json['DeviceName'], + 'userId': !exists(json, 'UserId') ? undefined : json['UserId'], + 'isActive': !exists(json, 'IsActive') ? undefined : json['IsActive'], + 'dateCreated': !exists(json, 'DateCreated') ? undefined : (new Date(json['DateCreated'])), + 'dateRevoked': !exists(json, 'DateRevoked') ? undefined : (json['DateRevoked'] === null ? null : new Date(json['DateRevoked'])), + 'dateLastActivity': !exists(json, 'DateLastActivity') ? undefined : (new Date(json['DateLastActivity'])), + 'userName': !exists(json, 'UserName') ? undefined : json['UserName'], + }; +} + +export function AuthenticationInfoToJSON(value?: AuthenticationInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Id': value.id, + 'AccessToken': value.accessToken, + 'DeviceId': value.deviceId, + 'AppName': value.appName, + 'AppVersion': value.appVersion, + 'DeviceName': value.deviceName, + 'UserId': value.userId, + 'IsActive': value.isActive, + 'DateCreated': value.dateCreated === undefined ? undefined : (value.dateCreated.toISOString()), + 'DateRevoked': value.dateRevoked === undefined ? undefined : (value.dateRevoked === null ? null : value.dateRevoked.toISOString()), + 'DateLastActivity': value.dateLastActivity === undefined ? undefined : (value.dateLastActivity.toISOString()), + 'UserName': value.userName, + }; +} + diff --git a/server/jellyfin/models/AuthenticationInfoQueryResult.ts b/server/jellyfin/models/AuthenticationInfoQueryResult.ts new file mode 100644 index 0000000..7b7a054 --- /dev/null +++ b/server/jellyfin/models/AuthenticationInfoQueryResult.ts @@ -0,0 +1,88 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { AuthenticationInfo } from './AuthenticationInfo'; +import { + AuthenticationInfoFromJSON, + AuthenticationInfoFromJSONTyped, + AuthenticationInfoToJSON, +} from './AuthenticationInfo'; + +/** + * + * @export + * @interface AuthenticationInfoQueryResult + */ +export interface AuthenticationInfoQueryResult { + /** + * Gets or sets the items. + * @type {Array} + * @memberof AuthenticationInfoQueryResult + */ + items?: Array | null; + /** + * Gets or sets the total number of records available. + * @type {number} + * @memberof AuthenticationInfoQueryResult + */ + totalRecordCount?: number; + /** + * Gets or sets the index of the first record in Items. + * @type {number} + * @memberof AuthenticationInfoQueryResult + */ + startIndex?: number; +} + +/** + * Check if a given object implements the AuthenticationInfoQueryResult interface. + */ +export function instanceOfAuthenticationInfoQueryResult(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function AuthenticationInfoQueryResultFromJSON(json: any): AuthenticationInfoQueryResult { + return AuthenticationInfoQueryResultFromJSONTyped(json, false); +} + +export function AuthenticationInfoQueryResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthenticationInfoQueryResult { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'items': !exists(json, 'Items') ? undefined : (json['Items'] === null ? null : (json['Items'] as Array).map(AuthenticationInfoFromJSON)), + 'totalRecordCount': !exists(json, 'TotalRecordCount') ? undefined : json['TotalRecordCount'], + 'startIndex': !exists(json, 'StartIndex') ? undefined : json['StartIndex'], + }; +} + +export function AuthenticationInfoQueryResultToJSON(value?: AuthenticationInfoQueryResult | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Items': value.items === undefined ? undefined : (value.items === null ? null : (value.items as Array).map(AuthenticationInfoToJSON)), + 'TotalRecordCount': value.totalRecordCount, + 'StartIndex': value.startIndex, + }; +} + diff --git a/server/jellyfin/models/AuthenticationResult.ts b/server/jellyfin/models/AuthenticationResult.ts new file mode 100644 index 0000000..0a44bfd --- /dev/null +++ b/server/jellyfin/models/AuthenticationResult.ts @@ -0,0 +1,102 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { AuthenticationResultSessionInfo } from './AuthenticationResultSessionInfo'; +import { + AuthenticationResultSessionInfoFromJSON, + AuthenticationResultSessionInfoFromJSONTyped, + AuthenticationResultSessionInfoToJSON, +} from './AuthenticationResultSessionInfo'; +import type { AuthenticationResultUser } from './AuthenticationResultUser'; +import { + AuthenticationResultUserFromJSON, + AuthenticationResultUserFromJSONTyped, + AuthenticationResultUserToJSON, +} from './AuthenticationResultUser'; + +/** + * + * @export + * @interface AuthenticationResult + */ +export interface AuthenticationResult { + /** + * + * @type {AuthenticationResultUser} + * @memberof AuthenticationResult + */ + user?: AuthenticationResultUser | null; + /** + * + * @type {AuthenticationResultSessionInfo} + * @memberof AuthenticationResult + */ + sessionInfo?: AuthenticationResultSessionInfo | null; + /** + * + * @type {string} + * @memberof AuthenticationResult + */ + accessToken?: string | null; + /** + * + * @type {string} + * @memberof AuthenticationResult + */ + serverId?: string | null; +} + +/** + * Check if a given object implements the AuthenticationResult interface. + */ +export function instanceOfAuthenticationResult(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function AuthenticationResultFromJSON(json: any): AuthenticationResult { + return AuthenticationResultFromJSONTyped(json, false); +} + +export function AuthenticationResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthenticationResult { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'user': !exists(json, 'User') ? undefined : AuthenticationResultUserFromJSON(json['User']), + 'sessionInfo': !exists(json, 'SessionInfo') ? undefined : AuthenticationResultSessionInfoFromJSON(json['SessionInfo']), + 'accessToken': !exists(json, 'AccessToken') ? undefined : json['AccessToken'], + 'serverId': !exists(json, 'ServerId') ? undefined : json['ServerId'], + }; +} + +export function AuthenticationResultToJSON(value?: AuthenticationResult | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'User': AuthenticationResultUserToJSON(value.user), + 'SessionInfo': AuthenticationResultSessionInfoToJSON(value.sessionInfo), + 'AccessToken': value.accessToken, + 'ServerId': value.serverId, + }; +} + diff --git a/server/jellyfin/models/AuthenticationResultSessionInfo.ts b/server/jellyfin/models/AuthenticationResultSessionInfo.ts new file mode 100644 index 0000000..fd32359 --- /dev/null +++ b/server/jellyfin/models/AuthenticationResultSessionInfo.ts @@ -0,0 +1,339 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { BaseItemDto } from './BaseItemDto'; +import { + BaseItemDtoFromJSON, + BaseItemDtoFromJSONTyped, + BaseItemDtoToJSON, +} from './BaseItemDto'; +import type { ClientCapabilities } from './ClientCapabilities'; +import { + ClientCapabilitiesFromJSON, + ClientCapabilitiesFromJSONTyped, + ClientCapabilitiesToJSON, +} from './ClientCapabilities'; +import type { GeneralCommandType } from './GeneralCommandType'; +import { + GeneralCommandTypeFromJSON, + GeneralCommandTypeFromJSONTyped, + GeneralCommandTypeToJSON, +} from './GeneralCommandType'; +import type { PlayerStateInfo } from './PlayerStateInfo'; +import { + PlayerStateInfoFromJSON, + PlayerStateInfoFromJSONTyped, + PlayerStateInfoToJSON, +} from './PlayerStateInfo'; +import type { QueueItem } from './QueueItem'; +import { + QueueItemFromJSON, + QueueItemFromJSONTyped, + QueueItemToJSON, +} from './QueueItem'; +import type { SessionInfoFullNowPlayingItem } from './SessionInfoFullNowPlayingItem'; +import { + SessionInfoFullNowPlayingItemFromJSON, + SessionInfoFullNowPlayingItemFromJSONTyped, + SessionInfoFullNowPlayingItemToJSON, +} from './SessionInfoFullNowPlayingItem'; +import type { SessionInfoNowPlayingItem } from './SessionInfoNowPlayingItem'; +import { + SessionInfoNowPlayingItemFromJSON, + SessionInfoNowPlayingItemFromJSONTyped, + SessionInfoNowPlayingItemToJSON, +} from './SessionInfoNowPlayingItem'; +import type { SessionUserInfo } from './SessionUserInfo'; +import { + SessionUserInfoFromJSON, + SessionUserInfoFromJSONTyped, + SessionUserInfoToJSON, +} from './SessionUserInfo'; +import type { TranscodingInfo } from './TranscodingInfo'; +import { + TranscodingInfoFromJSON, + TranscodingInfoFromJSONTyped, + TranscodingInfoToJSON, +} from './TranscodingInfo'; + +/** + * Class SessionInfo. + * @export + * @interface AuthenticationResultSessionInfo + */ +export interface AuthenticationResultSessionInfo { + /** + * + * @type {PlayerStateInfo} + * @memberof AuthenticationResultSessionInfo + */ + playState?: PlayerStateInfo | null; + /** + * + * @type {Array} + * @memberof AuthenticationResultSessionInfo + */ + additionalUsers?: Array | null; + /** + * + * @type {ClientCapabilities} + * @memberof AuthenticationResultSessionInfo + */ + capabilities?: ClientCapabilities | null; + /** + * Gets or sets the remote end point. + * @type {string} + * @memberof AuthenticationResultSessionInfo + */ + remoteEndPoint?: string | null; + /** + * Gets the playable media types. + * @type {Array} + * @memberof AuthenticationResultSessionInfo + */ + readonly playableMediaTypes?: Array | null; + /** + * Gets or sets the id. + * @type {string} + * @memberof AuthenticationResultSessionInfo + */ + id?: string | null; + /** + * Gets or sets the user id. + * @type {string} + * @memberof AuthenticationResultSessionInfo + */ + userId?: string; + /** + * Gets or sets the username. + * @type {string} + * @memberof AuthenticationResultSessionInfo + */ + userName?: string | null; + /** + * Gets or sets the type of the client. + * @type {string} + * @memberof AuthenticationResultSessionInfo + */ + client?: string | null; + /** + * Gets or sets the last activity date. + * @type {Date} + * @memberof AuthenticationResultSessionInfo + */ + lastActivityDate?: Date; + /** + * Gets or sets the last playback check in. + * @type {Date} + * @memberof AuthenticationResultSessionInfo + */ + lastPlaybackCheckIn?: Date; + /** + * Gets or sets the name of the device. + * @type {string} + * @memberof AuthenticationResultSessionInfo + */ + deviceName?: string | null; + /** + * Gets or sets the type of the device. + * @type {string} + * @memberof AuthenticationResultSessionInfo + */ + deviceType?: string | null; + /** + * + * @type {SessionInfoNowPlayingItem} + * @memberof AuthenticationResultSessionInfo + */ + nowPlayingItem?: SessionInfoNowPlayingItem | null; + /** + * + * @type {SessionInfoFullNowPlayingItem} + * @memberof AuthenticationResultSessionInfo + */ + fullNowPlayingItem?: SessionInfoFullNowPlayingItem | null; + /** + * + * @type {SessionInfoNowPlayingItem} + * @memberof AuthenticationResultSessionInfo + */ + nowViewingItem?: SessionInfoNowPlayingItem | null; + /** + * Gets or sets the device id. + * @type {string} + * @memberof AuthenticationResultSessionInfo + */ + deviceId?: string | null; + /** + * Gets or sets the application version. + * @type {string} + * @memberof AuthenticationResultSessionInfo + */ + applicationVersion?: string | null; + /** + * + * @type {TranscodingInfo} + * @memberof AuthenticationResultSessionInfo + */ + transcodingInfo?: TranscodingInfo | null; + /** + * Gets a value indicating whether this instance is active. + * @type {boolean} + * @memberof AuthenticationResultSessionInfo + */ + readonly isActive?: boolean; + /** + * + * @type {boolean} + * @memberof AuthenticationResultSessionInfo + */ + readonly supportsMediaControl?: boolean; + /** + * + * @type {boolean} + * @memberof AuthenticationResultSessionInfo + */ + readonly supportsRemoteControl?: boolean; + /** + * + * @type {Array} + * @memberof AuthenticationResultSessionInfo + */ + nowPlayingQueue?: Array | null; + /** + * + * @type {Array} + * @memberof AuthenticationResultSessionInfo + */ + nowPlayingQueueFullItems?: Array | null; + /** + * + * @type {boolean} + * @memberof AuthenticationResultSessionInfo + */ + hasCustomDeviceName?: boolean; + /** + * + * @type {string} + * @memberof AuthenticationResultSessionInfo + */ + playlistItemId?: string | null; + /** + * + * @type {string} + * @memberof AuthenticationResultSessionInfo + */ + serverId?: string | null; + /** + * + * @type {string} + * @memberof AuthenticationResultSessionInfo + */ + userPrimaryImageTag?: string | null; + /** + * Gets the supported commands. + * @type {Array} + * @memberof AuthenticationResultSessionInfo + */ + readonly supportedCommands?: Array | null; +} + +/** + * Check if a given object implements the AuthenticationResultSessionInfo interface. + */ +export function instanceOfAuthenticationResultSessionInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function AuthenticationResultSessionInfoFromJSON(json: any): AuthenticationResultSessionInfo { + return AuthenticationResultSessionInfoFromJSONTyped(json, false); +} + +export function AuthenticationResultSessionInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthenticationResultSessionInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'playState': !exists(json, 'PlayState') ? undefined : PlayerStateInfoFromJSON(json['PlayState']), + 'additionalUsers': !exists(json, 'AdditionalUsers') ? undefined : (json['AdditionalUsers'] === null ? null : (json['AdditionalUsers'] as Array).map(SessionUserInfoFromJSON)), + 'capabilities': !exists(json, 'Capabilities') ? undefined : ClientCapabilitiesFromJSON(json['Capabilities']), + 'remoteEndPoint': !exists(json, 'RemoteEndPoint') ? undefined : json['RemoteEndPoint'], + 'playableMediaTypes': !exists(json, 'PlayableMediaTypes') ? undefined : json['PlayableMediaTypes'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'userId': !exists(json, 'UserId') ? undefined : json['UserId'], + 'userName': !exists(json, 'UserName') ? undefined : json['UserName'], + 'client': !exists(json, 'Client') ? undefined : json['Client'], + 'lastActivityDate': !exists(json, 'LastActivityDate') ? undefined : (new Date(json['LastActivityDate'])), + 'lastPlaybackCheckIn': !exists(json, 'LastPlaybackCheckIn') ? undefined : (new Date(json['LastPlaybackCheckIn'])), + 'deviceName': !exists(json, 'DeviceName') ? undefined : json['DeviceName'], + 'deviceType': !exists(json, 'DeviceType') ? undefined : json['DeviceType'], + 'nowPlayingItem': !exists(json, 'NowPlayingItem') ? undefined : SessionInfoNowPlayingItemFromJSON(json['NowPlayingItem']), + 'fullNowPlayingItem': !exists(json, 'FullNowPlayingItem') ? undefined : SessionInfoFullNowPlayingItemFromJSON(json['FullNowPlayingItem']), + 'nowViewingItem': !exists(json, 'NowViewingItem') ? undefined : SessionInfoNowPlayingItemFromJSON(json['NowViewingItem']), + 'deviceId': !exists(json, 'DeviceId') ? undefined : json['DeviceId'], + 'applicationVersion': !exists(json, 'ApplicationVersion') ? undefined : json['ApplicationVersion'], + 'transcodingInfo': !exists(json, 'TranscodingInfo') ? undefined : TranscodingInfoFromJSON(json['TranscodingInfo']), + 'isActive': !exists(json, 'IsActive') ? undefined : json['IsActive'], + 'supportsMediaControl': !exists(json, 'SupportsMediaControl') ? undefined : json['SupportsMediaControl'], + 'supportsRemoteControl': !exists(json, 'SupportsRemoteControl') ? undefined : json['SupportsRemoteControl'], + 'nowPlayingQueue': !exists(json, 'NowPlayingQueue') ? undefined : (json['NowPlayingQueue'] === null ? null : (json['NowPlayingQueue'] as Array).map(QueueItemFromJSON)), + 'nowPlayingQueueFullItems': !exists(json, 'NowPlayingQueueFullItems') ? undefined : (json['NowPlayingQueueFullItems'] === null ? null : (json['NowPlayingQueueFullItems'] as Array).map(BaseItemDtoFromJSON)), + 'hasCustomDeviceName': !exists(json, 'HasCustomDeviceName') ? undefined : json['HasCustomDeviceName'], + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + 'serverId': !exists(json, 'ServerId') ? undefined : json['ServerId'], + 'userPrimaryImageTag': !exists(json, 'UserPrimaryImageTag') ? undefined : json['UserPrimaryImageTag'], + 'supportedCommands': !exists(json, 'SupportedCommands') ? undefined : (json['SupportedCommands'] === null ? null : (json['SupportedCommands'] as Array).map(GeneralCommandTypeFromJSON)), + }; +} + +export function AuthenticationResultSessionInfoToJSON(value?: AuthenticationResultSessionInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'PlayState': PlayerStateInfoToJSON(value.playState), + 'AdditionalUsers': value.additionalUsers === undefined ? undefined : (value.additionalUsers === null ? null : (value.additionalUsers as Array).map(SessionUserInfoToJSON)), + 'Capabilities': ClientCapabilitiesToJSON(value.capabilities), + 'RemoteEndPoint': value.remoteEndPoint, + 'Id': value.id, + 'UserId': value.userId, + 'UserName': value.userName, + 'Client': value.client, + 'LastActivityDate': value.lastActivityDate === undefined ? undefined : (value.lastActivityDate.toISOString()), + 'LastPlaybackCheckIn': value.lastPlaybackCheckIn === undefined ? undefined : (value.lastPlaybackCheckIn.toISOString()), + 'DeviceName': value.deviceName, + 'DeviceType': value.deviceType, + 'NowPlayingItem': SessionInfoNowPlayingItemToJSON(value.nowPlayingItem), + 'FullNowPlayingItem': SessionInfoFullNowPlayingItemToJSON(value.fullNowPlayingItem), + 'NowViewingItem': SessionInfoNowPlayingItemToJSON(value.nowViewingItem), + 'DeviceId': value.deviceId, + 'ApplicationVersion': value.applicationVersion, + 'TranscodingInfo': TranscodingInfoToJSON(value.transcodingInfo), + 'NowPlayingQueue': value.nowPlayingQueue === undefined ? undefined : (value.nowPlayingQueue === null ? null : (value.nowPlayingQueue as Array).map(QueueItemToJSON)), + 'NowPlayingQueueFullItems': value.nowPlayingQueueFullItems === undefined ? undefined : (value.nowPlayingQueueFullItems === null ? null : (value.nowPlayingQueueFullItems as Array).map(BaseItemDtoToJSON)), + 'HasCustomDeviceName': value.hasCustomDeviceName, + 'PlaylistItemId': value.playlistItemId, + 'ServerId': value.serverId, + 'UserPrimaryImageTag': value.userPrimaryImageTag, + }; +} + diff --git a/server/jellyfin/models/AuthenticationResultUser.ts b/server/jellyfin/models/AuthenticationResultUser.ts new file mode 100644 index 0000000..716ad5e --- /dev/null +++ b/server/jellyfin/models/AuthenticationResultUser.ts @@ -0,0 +1,183 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { UserDtoConfiguration } from './UserDtoConfiguration'; +import { + UserDtoConfigurationFromJSON, + UserDtoConfigurationFromJSONTyped, + UserDtoConfigurationToJSON, +} from './UserDtoConfiguration'; +import type { UserDtoPolicy } from './UserDtoPolicy'; +import { + UserDtoPolicyFromJSON, + UserDtoPolicyFromJSONTyped, + UserDtoPolicyToJSON, +} from './UserDtoPolicy'; + +/** + * Class UserDto. + * @export + * @interface AuthenticationResultUser + */ +export interface AuthenticationResultUser { + /** + * Gets or sets the name. + * @type {string} + * @memberof AuthenticationResultUser + */ + name?: string | null; + /** + * Gets or sets the server identifier. + * @type {string} + * @memberof AuthenticationResultUser + */ + serverId?: string | null; + /** + * Gets or sets the name of the server. + * This is not used by the server and is for client-side usage only. + * @type {string} + * @memberof AuthenticationResultUser + */ + serverName?: string | null; + /** + * Gets or sets the id. + * @type {string} + * @memberof AuthenticationResultUser + */ + id?: string; + /** + * Gets or sets the primary image tag. + * @type {string} + * @memberof AuthenticationResultUser + */ + primaryImageTag?: string | null; + /** + * Gets or sets a value indicating whether this instance has password. + * @type {boolean} + * @memberof AuthenticationResultUser + */ + hasPassword?: boolean; + /** + * Gets or sets a value indicating whether this instance has configured password. + * @type {boolean} + * @memberof AuthenticationResultUser + */ + hasConfiguredPassword?: boolean; + /** + * Gets or sets a value indicating whether this instance has configured easy password. + * @type {boolean} + * @memberof AuthenticationResultUser + */ + hasConfiguredEasyPassword?: boolean; + /** + * Gets or sets whether async login is enabled or not. + * @type {boolean} + * @memberof AuthenticationResultUser + */ + enableAutoLogin?: boolean | null; + /** + * Gets or sets the last login date. + * @type {Date} + * @memberof AuthenticationResultUser + */ + lastLoginDate?: Date | null; + /** + * Gets or sets the last activity date. + * @type {Date} + * @memberof AuthenticationResultUser + */ + lastActivityDate?: Date | null; + /** + * + * @type {UserDtoConfiguration} + * @memberof AuthenticationResultUser + */ + _configuration?: UserDtoConfiguration | null; + /** + * + * @type {UserDtoPolicy} + * @memberof AuthenticationResultUser + */ + policy?: UserDtoPolicy | null; + /** + * Gets or sets the primary image aspect ratio. + * @type {number} + * @memberof AuthenticationResultUser + */ + primaryImageAspectRatio?: number | null; +} + +/** + * Check if a given object implements the AuthenticationResultUser interface. + */ +export function instanceOfAuthenticationResultUser(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function AuthenticationResultUserFromJSON(json: any): AuthenticationResultUser { + return AuthenticationResultUserFromJSONTyped(json, false); +} + +export function AuthenticationResultUserFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthenticationResultUser { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'serverId': !exists(json, 'ServerId') ? undefined : json['ServerId'], + 'serverName': !exists(json, 'ServerName') ? undefined : json['ServerName'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'primaryImageTag': !exists(json, 'PrimaryImageTag') ? undefined : json['PrimaryImageTag'], + 'hasPassword': !exists(json, 'HasPassword') ? undefined : json['HasPassword'], + 'hasConfiguredPassword': !exists(json, 'HasConfiguredPassword') ? undefined : json['HasConfiguredPassword'], + 'hasConfiguredEasyPassword': !exists(json, 'HasConfiguredEasyPassword') ? undefined : json['HasConfiguredEasyPassword'], + 'enableAutoLogin': !exists(json, 'EnableAutoLogin') ? undefined : json['EnableAutoLogin'], + 'lastLoginDate': !exists(json, 'LastLoginDate') ? undefined : (json['LastLoginDate'] === null ? null : new Date(json['LastLoginDate'])), + 'lastActivityDate': !exists(json, 'LastActivityDate') ? undefined : (json['LastActivityDate'] === null ? null : new Date(json['LastActivityDate'])), + '_configuration': !exists(json, 'Configuration') ? undefined : UserDtoConfigurationFromJSON(json['Configuration']), + 'policy': !exists(json, 'Policy') ? undefined : UserDtoPolicyFromJSON(json['Policy']), + 'primaryImageAspectRatio': !exists(json, 'PrimaryImageAspectRatio') ? undefined : json['PrimaryImageAspectRatio'], + }; +} + +export function AuthenticationResultUserToJSON(value?: AuthenticationResultUser | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'ServerId': value.serverId, + 'ServerName': value.serverName, + 'Id': value.id, + 'PrimaryImageTag': value.primaryImageTag, + 'HasPassword': value.hasPassword, + 'HasConfiguredPassword': value.hasConfiguredPassword, + 'HasConfiguredEasyPassword': value.hasConfiguredEasyPassword, + 'EnableAutoLogin': value.enableAutoLogin, + 'LastLoginDate': value.lastLoginDate === undefined ? undefined : (value.lastLoginDate === null ? null : value.lastLoginDate.toISOString()), + 'LastActivityDate': value.lastActivityDate === undefined ? undefined : (value.lastActivityDate === null ? null : value.lastActivityDate.toISOString()), + 'Configuration': UserDtoConfigurationToJSON(value._configuration), + 'Policy': UserDtoPolicyToJSON(value.policy), + 'PrimaryImageAspectRatio': value.primaryImageAspectRatio, + }; +} + diff --git a/server/jellyfin/models/BaseItem.ts b/server/jellyfin/models/BaseItem.ts new file mode 100644 index 0000000..593633a --- /dev/null +++ b/server/jellyfin/models/BaseItem.ts @@ -0,0 +1,150 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { MediaUrl } from './MediaUrl'; +import { + MediaUrlFromJSON, + MediaUrlFromJSONTyped, + MediaUrlToJSON, +} from './MediaUrl'; + +/** + * Class BaseItem. + * @export + * @interface BaseItem + */ +export interface BaseItem { + /** + * + * @type {number} + * @memberof BaseItem + */ + size?: number | null; + /** + * + * @type {string} + * @memberof BaseItem + */ + container?: string | null; + /** + * + * @type {boolean} + * @memberof BaseItem + */ + readonly isHD?: boolean; + /** + * + * @type {boolean} + * @memberof BaseItem + */ + isShortcut?: boolean; + /** + * + * @type {string} + * @memberof BaseItem + */ + shortcutPath?: string | null; + /** + * + * @type {number} + * @memberof BaseItem + */ + width?: number; + /** + * + * @type {number} + * @memberof BaseItem + */ + height?: number; + /** + * + * @type {Array} + * @memberof BaseItem + */ + extraIds?: Array | null; + /** + * + * @type {Date} + * @memberof BaseItem + */ + dateLastSaved?: Date; + /** + * Gets or sets the remote trailers. + * @type {Array} + * @memberof BaseItem + */ + remoteTrailers?: Array | null; + /** + * + * @type {boolean} + * @memberof BaseItem + */ + readonly supportsExternalTransfer?: boolean; +} + +/** + * Check if a given object implements the BaseItem interface. + */ +export function instanceOfBaseItem(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function BaseItemFromJSON(json: any): BaseItem { + return BaseItemFromJSONTyped(json, false); +} + +export function BaseItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): BaseItem { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'size': !exists(json, 'Size') ? undefined : json['Size'], + 'container': !exists(json, 'Container') ? undefined : json['Container'], + 'isHD': !exists(json, 'IsHD') ? undefined : json['IsHD'], + 'isShortcut': !exists(json, 'IsShortcut') ? undefined : json['IsShortcut'], + 'shortcutPath': !exists(json, 'ShortcutPath') ? undefined : json['ShortcutPath'], + 'width': !exists(json, 'Width') ? undefined : json['Width'], + 'height': !exists(json, 'Height') ? undefined : json['Height'], + 'extraIds': !exists(json, 'ExtraIds') ? undefined : json['ExtraIds'], + 'dateLastSaved': !exists(json, 'DateLastSaved') ? undefined : (new Date(json['DateLastSaved'])), + 'remoteTrailers': !exists(json, 'RemoteTrailers') ? undefined : (json['RemoteTrailers'] === null ? null : (json['RemoteTrailers'] as Array).map(MediaUrlFromJSON)), + 'supportsExternalTransfer': !exists(json, 'SupportsExternalTransfer') ? undefined : json['SupportsExternalTransfer'], + }; +} + +export function BaseItemToJSON(value?: BaseItem | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Size': value.size, + 'Container': value.container, + 'IsShortcut': value.isShortcut, + 'ShortcutPath': value.shortcutPath, + 'Width': value.width, + 'Height': value.height, + 'ExtraIds': value.extraIds, + 'DateLastSaved': value.dateLastSaved === undefined ? undefined : (value.dateLastSaved.toISOString()), + 'RemoteTrailers': value.remoteTrailers === undefined ? undefined : (value.remoteTrailers === null ? null : (value.remoteTrailers as Array).map(MediaUrlToJSON)), + }; +} + diff --git a/server/jellyfin/models/BaseItemDto.ts b/server/jellyfin/models/BaseItemDto.ts new file mode 100644 index 0000000..244dda7 --- /dev/null +++ b/server/jellyfin/models/BaseItemDto.ts @@ -0,0 +1,1393 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { BaseItemDtoCurrentProgram } from './BaseItemDtoCurrentProgram'; +import { + BaseItemDtoCurrentProgramFromJSON, + BaseItemDtoCurrentProgramFromJSONTyped, + BaseItemDtoCurrentProgramToJSON, +} from './BaseItemDtoCurrentProgram'; +import type { BaseItemDtoImageBlurHashes } from './BaseItemDtoImageBlurHashes'; +import { + BaseItemDtoImageBlurHashesFromJSON, + BaseItemDtoImageBlurHashesFromJSONTyped, + BaseItemDtoImageBlurHashesToJSON, +} from './BaseItemDtoImageBlurHashes'; +import type { BaseItemDtoUserData } from './BaseItemDtoUserData'; +import { + BaseItemDtoUserDataFromJSON, + BaseItemDtoUserDataFromJSONTyped, + BaseItemDtoUserDataToJSON, +} from './BaseItemDtoUserData'; +import type { BaseItemKind } from './BaseItemKind'; +import { + BaseItemKindFromJSON, + BaseItemKindFromJSONTyped, + BaseItemKindToJSON, +} from './BaseItemKind'; +import type { BaseItemPerson } from './BaseItemPerson'; +import { + BaseItemPersonFromJSON, + BaseItemPersonFromJSONTyped, + BaseItemPersonToJSON, +} from './BaseItemPerson'; +import type { ChannelType } from './ChannelType'; +import { + ChannelTypeFromJSON, + ChannelTypeFromJSONTyped, + ChannelTypeToJSON, +} from './ChannelType'; +import type { ChapterInfo } from './ChapterInfo'; +import { + ChapterInfoFromJSON, + ChapterInfoFromJSONTyped, + ChapterInfoToJSON, +} from './ChapterInfo'; +import type { DayOfWeek } from './DayOfWeek'; +import { + DayOfWeekFromJSON, + DayOfWeekFromJSONTyped, + DayOfWeekToJSON, +} from './DayOfWeek'; +import type { ExternalUrl } from './ExternalUrl'; +import { + ExternalUrlFromJSON, + ExternalUrlFromJSONTyped, + ExternalUrlToJSON, +} from './ExternalUrl'; +import type { ImageOrientation } from './ImageOrientation'; +import { + ImageOrientationFromJSON, + ImageOrientationFromJSONTyped, + ImageOrientationToJSON, +} from './ImageOrientation'; +import type { IsoType } from './IsoType'; +import { + IsoTypeFromJSON, + IsoTypeFromJSONTyped, + IsoTypeToJSON, +} from './IsoType'; +import type { LocationType } from './LocationType'; +import { + LocationTypeFromJSON, + LocationTypeFromJSONTyped, + LocationTypeToJSON, +} from './LocationType'; +import type { MediaSourceInfo } from './MediaSourceInfo'; +import { + MediaSourceInfoFromJSON, + MediaSourceInfoFromJSONTyped, + MediaSourceInfoToJSON, +} from './MediaSourceInfo'; +import type { MediaStream } from './MediaStream'; +import { + MediaStreamFromJSON, + MediaStreamFromJSONTyped, + MediaStreamToJSON, +} from './MediaStream'; +import type { MediaUrl } from './MediaUrl'; +import { + MediaUrlFromJSON, + MediaUrlFromJSONTyped, + MediaUrlToJSON, +} from './MediaUrl'; +import type { MetadataField } from './MetadataField'; +import { + MetadataFieldFromJSON, + MetadataFieldFromJSONTyped, + MetadataFieldToJSON, +} from './MetadataField'; +import type { NameGuidPair } from './NameGuidPair'; +import { + NameGuidPairFromJSON, + NameGuidPairFromJSONTyped, + NameGuidPairToJSON, +} from './NameGuidPair'; +import type { PlayAccess } from './PlayAccess'; +import { + PlayAccessFromJSON, + PlayAccessFromJSONTyped, + PlayAccessToJSON, +} from './PlayAccess'; +import type { ProgramAudio } from './ProgramAudio'; +import { + ProgramAudioFromJSON, + ProgramAudioFromJSONTyped, + ProgramAudioToJSON, +} from './ProgramAudio'; +import type { Video3DFormat } from './Video3DFormat'; +import { + Video3DFormatFromJSON, + Video3DFormatFromJSONTyped, + Video3DFormatToJSON, +} from './Video3DFormat'; +import type { VideoType } from './VideoType'; +import { + VideoTypeFromJSON, + VideoTypeFromJSONTyped, + VideoTypeToJSON, +} from './VideoType'; + +/** + * This is strictly used as a data transfer object from the api layer. + * This holds information about a BaseItem in a format that is convenient for the client. + * @export + * @interface BaseItemDto + */ +export interface BaseItemDto { + /** + * Gets or sets the name. + * @type {string} + * @memberof BaseItemDto + */ + name?: string | null; + /** + * + * @type {string} + * @memberof BaseItemDto + */ + originalTitle?: string | null; + /** + * Gets or sets the server identifier. + * @type {string} + * @memberof BaseItemDto + */ + serverId?: string | null; + /** + * Gets or sets the id. + * @type {string} + * @memberof BaseItemDto + */ + id?: string; + /** + * Gets or sets the etag. + * @type {string} + * @memberof BaseItemDto + */ + etag?: string | null; + /** + * Gets or sets the type of the source. + * @type {string} + * @memberof BaseItemDto + */ + sourceType?: string | null; + /** + * Gets or sets the playlist item identifier. + * @type {string} + * @memberof BaseItemDto + */ + playlistItemId?: string | null; + /** + * Gets or sets the date created. + * @type {Date} + * @memberof BaseItemDto + */ + dateCreated?: Date | null; + /** + * + * @type {Date} + * @memberof BaseItemDto + */ + dateLastMediaAdded?: Date | null; + /** + * + * @type {string} + * @memberof BaseItemDto + */ + extraType?: string | null; + /** + * + * @type {number} + * @memberof BaseItemDto + */ + airsBeforeSeasonNumber?: number | null; + /** + * + * @type {number} + * @memberof BaseItemDto + */ + airsAfterSeasonNumber?: number | null; + /** + * + * @type {number} + * @memberof BaseItemDto + */ + airsBeforeEpisodeNumber?: number | null; + /** + * + * @type {boolean} + * @memberof BaseItemDto + */ + canDelete?: boolean | null; + /** + * + * @type {boolean} + * @memberof BaseItemDto + */ + canDownload?: boolean | null; + /** + * + * @type {boolean} + * @memberof BaseItemDto + */ + hasSubtitles?: boolean | null; + /** + * + * @type {string} + * @memberof BaseItemDto + */ + preferredMetadataLanguage?: string | null; + /** + * + * @type {string} + * @memberof BaseItemDto + */ + preferredMetadataCountryCode?: string | null; + /** + * Gets or sets a value indicating whether [supports synchronize]. + * @type {boolean} + * @memberof BaseItemDto + */ + supportsSync?: boolean | null; + /** + * + * @type {string} + * @memberof BaseItemDto + */ + container?: string | null; + /** + * Gets or sets the name of the sort. + * @type {string} + * @memberof BaseItemDto + */ + sortName?: string | null; + /** + * + * @type {string} + * @memberof BaseItemDto + */ + forcedSortName?: string | null; + /** + * + * @type {Video3DFormat} + * @memberof BaseItemDto + */ + video3DFormat?: Video3DFormat | null; + /** + * Gets or sets the premiere date. + * @type {Date} + * @memberof BaseItemDto + */ + premiereDate?: Date | null; + /** + * Gets or sets the external urls. + * @type {Array} + * @memberof BaseItemDto + */ + externalUrls?: Array | null; + /** + * Gets or sets the media versions. + * @type {Array} + * @memberof BaseItemDto + */ + mediaSources?: Array | null; + /** + * Gets or sets the critic rating. + * @type {number} + * @memberof BaseItemDto + */ + criticRating?: number | null; + /** + * + * @type {Array} + * @memberof BaseItemDto + */ + productionLocations?: Array | null; + /** + * Gets or sets the path. + * @type {string} + * @memberof BaseItemDto + */ + path?: string | null; + /** + * + * @type {boolean} + * @memberof BaseItemDto + */ + enableMediaSourceDisplay?: boolean | null; + /** + * Gets or sets the official rating. + * @type {string} + * @memberof BaseItemDto + */ + officialRating?: string | null; + /** + * Gets or sets the custom rating. + * @type {string} + * @memberof BaseItemDto + */ + customRating?: string | null; + /** + * Gets or sets the channel identifier. + * @type {string} + * @memberof BaseItemDto + */ + channelId?: string | null; + /** + * + * @type {string} + * @memberof BaseItemDto + */ + channelName?: string | null; + /** + * Gets or sets the overview. + * @type {string} + * @memberof BaseItemDto + */ + overview?: string | null; + /** + * Gets or sets the taglines. + * @type {Array} + * @memberof BaseItemDto + */ + taglines?: Array | null; + /** + * Gets or sets the genres. + * @type {Array} + * @memberof BaseItemDto + */ + genres?: Array | null; + /** + * Gets or sets the community rating. + * @type {number} + * @memberof BaseItemDto + */ + communityRating?: number | null; + /** + * Gets or sets the cumulative run time ticks. + * @type {number} + * @memberof BaseItemDto + */ + cumulativeRunTimeTicks?: number | null; + /** + * Gets or sets the run time ticks. + * @type {number} + * @memberof BaseItemDto + */ + runTimeTicks?: number | null; + /** + * + * @type {PlayAccess} + * @memberof BaseItemDto + */ + playAccess?: PlayAccess | null; + /** + * Gets or sets the aspect ratio. + * @type {string} + * @memberof BaseItemDto + */ + aspectRatio?: string | null; + /** + * Gets or sets the production year. + * @type {number} + * @memberof BaseItemDto + */ + productionYear?: number | null; + /** + * Gets or sets a value indicating whether this instance is place holder. + * @type {boolean} + * @memberof BaseItemDto + */ + isPlaceHolder?: boolean | null; + /** + * Gets or sets the number. + * @type {string} + * @memberof BaseItemDto + */ + number?: string | null; + /** + * + * @type {string} + * @memberof BaseItemDto + */ + channelNumber?: string | null; + /** + * Gets or sets the index number. + * @type {number} + * @memberof BaseItemDto + */ + indexNumber?: number | null; + /** + * Gets or sets the index number end. + * @type {number} + * @memberof BaseItemDto + */ + indexNumberEnd?: number | null; + /** + * Gets or sets the parent index number. + * @type {number} + * @memberof BaseItemDto + */ + parentIndexNumber?: number | null; + /** + * Gets or sets the trailer urls. + * @type {Array} + * @memberof BaseItemDto + */ + remoteTrailers?: Array | null; + /** + * Gets or sets the provider ids. + * @type {{ [key: string]: string; }} + * @memberof BaseItemDto + */ + providerIds?: { [key: string]: string; } | null; + /** + * Gets or sets a value indicating whether this instance is HD. + * @type {boolean} + * @memberof BaseItemDto + */ + isHD?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is folder. + * @type {boolean} + * @memberof BaseItemDto + */ + isFolder?: boolean | null; + /** + * Gets or sets the parent id. + * @type {string} + * @memberof BaseItemDto + */ + parentId?: string | null; + /** + * + * @type {BaseItemKind} + * @memberof BaseItemDto + */ + type?: BaseItemKind; + /** + * Gets or sets the people. + * @type {Array} + * @memberof BaseItemDto + */ + people?: Array | null; + /** + * Gets or sets the studios. + * @type {Array} + * @memberof BaseItemDto + */ + studios?: Array | null; + /** + * + * @type {Array} + * @memberof BaseItemDto + */ + genreItems?: Array | null; + /** + * Gets or sets wether the item has a logo, this will hold the Id of the Parent that has one. + * @type {string} + * @memberof BaseItemDto + */ + parentLogoItemId?: string | null; + /** + * Gets or sets wether the item has any backdrops, this will hold the Id of the Parent that has one. + * @type {string} + * @memberof BaseItemDto + */ + parentBackdropItemId?: string | null; + /** + * Gets or sets the parent backdrop image tags. + * @type {Array} + * @memberof BaseItemDto + */ + parentBackdropImageTags?: Array | null; + /** + * Gets or sets the local trailer count. + * @type {number} + * @memberof BaseItemDto + */ + localTrailerCount?: number | null; + /** + * + * @type {BaseItemDtoUserData} + * @memberof BaseItemDto + */ + userData?: BaseItemDtoUserData | null; + /** + * Gets or sets the recursive item count. + * @type {number} + * @memberof BaseItemDto + */ + recursiveItemCount?: number | null; + /** + * Gets or sets the child count. + * @type {number} + * @memberof BaseItemDto + */ + childCount?: number | null; + /** + * Gets or sets the name of the series. + * @type {string} + * @memberof BaseItemDto + */ + seriesName?: string | null; + /** + * Gets or sets the series id. + * @type {string} + * @memberof BaseItemDto + */ + seriesId?: string | null; + /** + * Gets or sets the season identifier. + * @type {string} + * @memberof BaseItemDto + */ + seasonId?: string | null; + /** + * Gets or sets the special feature count. + * @type {number} + * @memberof BaseItemDto + */ + specialFeatureCount?: number | null; + /** + * Gets or sets the display preferences id. + * @type {string} + * @memberof BaseItemDto + */ + displayPreferencesId?: string | null; + /** + * Gets or sets the status. + * @type {string} + * @memberof BaseItemDto + */ + status?: string | null; + /** + * Gets or sets the air time. + * @type {string} + * @memberof BaseItemDto + */ + airTime?: string | null; + /** + * Gets or sets the air days. + * @type {Array} + * @memberof BaseItemDto + */ + airDays?: Array | null; + /** + * Gets or sets the tags. + * @type {Array} + * @memberof BaseItemDto + */ + tags?: Array | null; + /** + * Gets or sets the primary image aspect ratio, after image enhancements. + * @type {number} + * @memberof BaseItemDto + */ + primaryImageAspectRatio?: number | null; + /** + * Gets or sets the artists. + * @type {Array} + * @memberof BaseItemDto + */ + artists?: Array | null; + /** + * Gets or sets the artist items. + * @type {Array} + * @memberof BaseItemDto + */ + artistItems?: Array | null; + /** + * Gets or sets the album. + * @type {string} + * @memberof BaseItemDto + */ + album?: string | null; + /** + * Gets or sets the type of the collection. + * @type {string} + * @memberof BaseItemDto + */ + collectionType?: string | null; + /** + * Gets or sets the display order. + * @type {string} + * @memberof BaseItemDto + */ + displayOrder?: string | null; + /** + * Gets or sets the album id. + * @type {string} + * @memberof BaseItemDto + */ + albumId?: string | null; + /** + * Gets or sets the album image tag. + * @type {string} + * @memberof BaseItemDto + */ + albumPrimaryImageTag?: string | null; + /** + * Gets or sets the series primary image tag. + * @type {string} + * @memberof BaseItemDto + */ + seriesPrimaryImageTag?: string | null; + /** + * Gets or sets the album artist. + * @type {string} + * @memberof BaseItemDto + */ + albumArtist?: string | null; + /** + * Gets or sets the album artists. + * @type {Array} + * @memberof BaseItemDto + */ + albumArtists?: Array | null; + /** + * Gets or sets the name of the season. + * @type {string} + * @memberof BaseItemDto + */ + seasonName?: string | null; + /** + * Gets or sets the media streams. + * @type {Array} + * @memberof BaseItemDto + */ + mediaStreams?: Array | null; + /** + * + * @type {VideoType} + * @memberof BaseItemDto + */ + videoType?: VideoType | null; + /** + * Gets or sets the part count. + * @type {number} + * @memberof BaseItemDto + */ + partCount?: number | null; + /** + * + * @type {number} + * @memberof BaseItemDto + */ + mediaSourceCount?: number | null; + /** + * Gets or sets the image tags. + * @type {{ [key: string]: string; }} + * @memberof BaseItemDto + */ + imageTags?: { [key: string]: string; } | null; + /** + * Gets or sets the backdrop image tags. + * @type {Array} + * @memberof BaseItemDto + */ + backdropImageTags?: Array | null; + /** + * Gets or sets the screenshot image tags. + * @type {Array} + * @memberof BaseItemDto + */ + screenshotImageTags?: Array | null; + /** + * Gets or sets the parent logo image tag. + * @type {string} + * @memberof BaseItemDto + */ + parentLogoImageTag?: string | null; + /** + * Gets or sets wether the item has fan art, this will hold the Id of the Parent that has one. + * @type {string} + * @memberof BaseItemDto + */ + parentArtItemId?: string | null; + /** + * Gets or sets the parent art image tag. + * @type {string} + * @memberof BaseItemDto + */ + parentArtImageTag?: string | null; + /** + * Gets or sets the series thumb image tag. + * @type {string} + * @memberof BaseItemDto + */ + seriesThumbImageTag?: string | null; + /** + * + * @type {BaseItemDtoImageBlurHashes} + * @memberof BaseItemDto + */ + imageBlurHashes?: BaseItemDtoImageBlurHashes | null; + /** + * Gets or sets the series studio. + * @type {string} + * @memberof BaseItemDto + */ + seriesStudio?: string | null; + /** + * Gets or sets the parent thumb item id. + * @type {string} + * @memberof BaseItemDto + */ + parentThumbItemId?: string | null; + /** + * Gets or sets the parent thumb image tag. + * @type {string} + * @memberof BaseItemDto + */ + parentThumbImageTag?: string | null; + /** + * Gets or sets the parent primary image item identifier. + * @type {string} + * @memberof BaseItemDto + */ + parentPrimaryImageItemId?: string | null; + /** + * Gets or sets the parent primary image tag. + * @type {string} + * @memberof BaseItemDto + */ + parentPrimaryImageTag?: string | null; + /** + * Gets or sets the chapters. + * @type {Array} + * @memberof BaseItemDto + */ + chapters?: Array | null; + /** + * + * @type {LocationType} + * @memberof BaseItemDto + */ + locationType?: LocationType | null; + /** + * + * @type {IsoType} + * @memberof BaseItemDto + */ + isoType?: IsoType | null; + /** + * Gets or sets the type of the media. + * @type {string} + * @memberof BaseItemDto + */ + mediaType?: string | null; + /** + * Gets or sets the end date. + * @type {Date} + * @memberof BaseItemDto + */ + endDate?: Date | null; + /** + * Gets or sets the locked fields. + * @type {Array} + * @memberof BaseItemDto + */ + lockedFields?: Array | null; + /** + * Gets or sets the trailer count. + * @type {number} + * @memberof BaseItemDto + */ + trailerCount?: number | null; + /** + * Gets or sets the movie count. + * @type {number} + * @memberof BaseItemDto + */ + movieCount?: number | null; + /** + * Gets or sets the series count. + * @type {number} + * @memberof BaseItemDto + */ + seriesCount?: number | null; + /** + * + * @type {number} + * @memberof BaseItemDto + */ + programCount?: number | null; + /** + * Gets or sets the episode count. + * @type {number} + * @memberof BaseItemDto + */ + episodeCount?: number | null; + /** + * Gets or sets the song count. + * @type {number} + * @memberof BaseItemDto + */ + songCount?: number | null; + /** + * Gets or sets the album count. + * @type {number} + * @memberof BaseItemDto + */ + albumCount?: number | null; + /** + * + * @type {number} + * @memberof BaseItemDto + */ + artistCount?: number | null; + /** + * Gets or sets the music video count. + * @type {number} + * @memberof BaseItemDto + */ + musicVideoCount?: number | null; + /** + * Gets or sets a value indicating whether [enable internet providers]. + * @type {boolean} + * @memberof BaseItemDto + */ + lockData?: boolean | null; + /** + * + * @type {number} + * @memberof BaseItemDto + */ + width?: number | null; + /** + * + * @type {number} + * @memberof BaseItemDto + */ + height?: number | null; + /** + * + * @type {string} + * @memberof BaseItemDto + */ + cameraMake?: string | null; + /** + * + * @type {string} + * @memberof BaseItemDto + */ + cameraModel?: string | null; + /** + * + * @type {string} + * @memberof BaseItemDto + */ + software?: string | null; + /** + * + * @type {number} + * @memberof BaseItemDto + */ + exposureTime?: number | null; + /** + * + * @type {number} + * @memberof BaseItemDto + */ + focalLength?: number | null; + /** + * + * @type {ImageOrientation} + * @memberof BaseItemDto + */ + imageOrientation?: ImageOrientation | null; + /** + * + * @type {number} + * @memberof BaseItemDto + */ + aperture?: number | null; + /** + * + * @type {number} + * @memberof BaseItemDto + */ + shutterSpeed?: number | null; + /** + * + * @type {number} + * @memberof BaseItemDto + */ + latitude?: number | null; + /** + * + * @type {number} + * @memberof BaseItemDto + */ + longitude?: number | null; + /** + * + * @type {number} + * @memberof BaseItemDto + */ + altitude?: number | null; + /** + * + * @type {number} + * @memberof BaseItemDto + */ + isoSpeedRating?: number | null; + /** + * Gets or sets the series timer identifier. + * @type {string} + * @memberof BaseItemDto + */ + seriesTimerId?: string | null; + /** + * Gets or sets the program identifier. + * @type {string} + * @memberof BaseItemDto + */ + programId?: string | null; + /** + * Gets or sets the channel primary image tag. + * @type {string} + * @memberof BaseItemDto + */ + channelPrimaryImageTag?: string | null; + /** + * Gets or sets the start date of the recording, in UTC. + * @type {Date} + * @memberof BaseItemDto + */ + startDate?: Date | null; + /** + * Gets or sets the completion percentage. + * @type {number} + * @memberof BaseItemDto + */ + completionPercentage?: number | null; + /** + * Gets or sets a value indicating whether this instance is repeat. + * @type {boolean} + * @memberof BaseItemDto + */ + isRepeat?: boolean | null; + /** + * Gets or sets the episode title. + * @type {string} + * @memberof BaseItemDto + */ + episodeTitle?: string | null; + /** + * + * @type {ChannelType} + * @memberof BaseItemDto + */ + channelType?: ChannelType | null; + /** + * + * @type {ProgramAudio} + * @memberof BaseItemDto + */ + audio?: ProgramAudio | null; + /** + * Gets or sets a value indicating whether this instance is movie. + * @type {boolean} + * @memberof BaseItemDto + */ + isMovie?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is sports. + * @type {boolean} + * @memberof BaseItemDto + */ + isSports?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is series. + * @type {boolean} + * @memberof BaseItemDto + */ + isSeries?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is live. + * @type {boolean} + * @memberof BaseItemDto + */ + isLive?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is news. + * @type {boolean} + * @memberof BaseItemDto + */ + isNews?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is kids. + * @type {boolean} + * @memberof BaseItemDto + */ + isKids?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is premiere. + * @type {boolean} + * @memberof BaseItemDto + */ + isPremiere?: boolean | null; + /** + * Gets or sets the timer identifier. + * @type {string} + * @memberof BaseItemDto + */ + timerId?: string | null; + /** + * + * @type {BaseItemDtoCurrentProgram} + * @memberof BaseItemDto + */ + currentProgram?: BaseItemDtoCurrentProgram | null; +} + +/** + * Check if a given object implements the BaseItemDto interface. + */ +export function instanceOfBaseItemDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function BaseItemDtoFromJSON(json: any): BaseItemDto { + return BaseItemDtoFromJSONTyped(json, false); +} + +export function BaseItemDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): BaseItemDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'originalTitle': !exists(json, 'OriginalTitle') ? undefined : json['OriginalTitle'], + 'serverId': !exists(json, 'ServerId') ? undefined : json['ServerId'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'etag': !exists(json, 'Etag') ? undefined : json['Etag'], + 'sourceType': !exists(json, 'SourceType') ? undefined : json['SourceType'], + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + 'dateCreated': !exists(json, 'DateCreated') ? undefined : (json['DateCreated'] === null ? null : new Date(json['DateCreated'])), + 'dateLastMediaAdded': !exists(json, 'DateLastMediaAdded') ? undefined : (json['DateLastMediaAdded'] === null ? null : new Date(json['DateLastMediaAdded'])), + 'extraType': !exists(json, 'ExtraType') ? undefined : json['ExtraType'], + 'airsBeforeSeasonNumber': !exists(json, 'AirsBeforeSeasonNumber') ? undefined : json['AirsBeforeSeasonNumber'], + 'airsAfterSeasonNumber': !exists(json, 'AirsAfterSeasonNumber') ? undefined : json['AirsAfterSeasonNumber'], + 'airsBeforeEpisodeNumber': !exists(json, 'AirsBeforeEpisodeNumber') ? undefined : json['AirsBeforeEpisodeNumber'], + 'canDelete': !exists(json, 'CanDelete') ? undefined : json['CanDelete'], + 'canDownload': !exists(json, 'CanDownload') ? undefined : json['CanDownload'], + 'hasSubtitles': !exists(json, 'HasSubtitles') ? undefined : json['HasSubtitles'], + 'preferredMetadataLanguage': !exists(json, 'PreferredMetadataLanguage') ? undefined : json['PreferredMetadataLanguage'], + 'preferredMetadataCountryCode': !exists(json, 'PreferredMetadataCountryCode') ? undefined : json['PreferredMetadataCountryCode'], + 'supportsSync': !exists(json, 'SupportsSync') ? undefined : json['SupportsSync'], + 'container': !exists(json, 'Container') ? undefined : json['Container'], + 'sortName': !exists(json, 'SortName') ? undefined : json['SortName'], + 'forcedSortName': !exists(json, 'ForcedSortName') ? undefined : json['ForcedSortName'], + 'video3DFormat': !exists(json, 'Video3DFormat') ? undefined : Video3DFormatFromJSON(json['Video3DFormat']), + 'premiereDate': !exists(json, 'PremiereDate') ? undefined : (json['PremiereDate'] === null ? null : new Date(json['PremiereDate'])), + 'externalUrls': !exists(json, 'ExternalUrls') ? undefined : (json['ExternalUrls'] === null ? null : (json['ExternalUrls'] as Array).map(ExternalUrlFromJSON)), + 'mediaSources': !exists(json, 'MediaSources') ? undefined : (json['MediaSources'] === null ? null : (json['MediaSources'] as Array).map(MediaSourceInfoFromJSON)), + 'criticRating': !exists(json, 'CriticRating') ? undefined : json['CriticRating'], + 'productionLocations': !exists(json, 'ProductionLocations') ? undefined : json['ProductionLocations'], + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'enableMediaSourceDisplay': !exists(json, 'EnableMediaSourceDisplay') ? undefined : json['EnableMediaSourceDisplay'], + 'officialRating': !exists(json, 'OfficialRating') ? undefined : json['OfficialRating'], + 'customRating': !exists(json, 'CustomRating') ? undefined : json['CustomRating'], + 'channelId': !exists(json, 'ChannelId') ? undefined : json['ChannelId'], + 'channelName': !exists(json, 'ChannelName') ? undefined : json['ChannelName'], + 'overview': !exists(json, 'Overview') ? undefined : json['Overview'], + 'taglines': !exists(json, 'Taglines') ? undefined : json['Taglines'], + 'genres': !exists(json, 'Genres') ? undefined : json['Genres'], + 'communityRating': !exists(json, 'CommunityRating') ? undefined : json['CommunityRating'], + 'cumulativeRunTimeTicks': !exists(json, 'CumulativeRunTimeTicks') ? undefined : json['CumulativeRunTimeTicks'], + 'runTimeTicks': !exists(json, 'RunTimeTicks') ? undefined : json['RunTimeTicks'], + 'playAccess': !exists(json, 'PlayAccess') ? undefined : PlayAccessFromJSON(json['PlayAccess']), + 'aspectRatio': !exists(json, 'AspectRatio') ? undefined : json['AspectRatio'], + 'productionYear': !exists(json, 'ProductionYear') ? undefined : json['ProductionYear'], + 'isPlaceHolder': !exists(json, 'IsPlaceHolder') ? undefined : json['IsPlaceHolder'], + 'number': !exists(json, 'Number') ? undefined : json['Number'], + 'channelNumber': !exists(json, 'ChannelNumber') ? undefined : json['ChannelNumber'], + 'indexNumber': !exists(json, 'IndexNumber') ? undefined : json['IndexNumber'], + 'indexNumberEnd': !exists(json, 'IndexNumberEnd') ? undefined : json['IndexNumberEnd'], + 'parentIndexNumber': !exists(json, 'ParentIndexNumber') ? undefined : json['ParentIndexNumber'], + 'remoteTrailers': !exists(json, 'RemoteTrailers') ? undefined : (json['RemoteTrailers'] === null ? null : (json['RemoteTrailers'] as Array).map(MediaUrlFromJSON)), + 'providerIds': !exists(json, 'ProviderIds') ? undefined : json['ProviderIds'], + 'isHD': !exists(json, 'IsHD') ? undefined : json['IsHD'], + 'isFolder': !exists(json, 'IsFolder') ? undefined : json['IsFolder'], + 'parentId': !exists(json, 'ParentId') ? undefined : json['ParentId'], + 'type': !exists(json, 'Type') ? undefined : BaseItemKindFromJSON(json['Type']), + 'people': !exists(json, 'People') ? undefined : (json['People'] === null ? null : (json['People'] as Array).map(BaseItemPersonFromJSON)), + 'studios': !exists(json, 'Studios') ? undefined : (json['Studios'] === null ? null : (json['Studios'] as Array).map(NameGuidPairFromJSON)), + 'genreItems': !exists(json, 'GenreItems') ? undefined : (json['GenreItems'] === null ? null : (json['GenreItems'] as Array).map(NameGuidPairFromJSON)), + 'parentLogoItemId': !exists(json, 'ParentLogoItemId') ? undefined : json['ParentLogoItemId'], + 'parentBackdropItemId': !exists(json, 'ParentBackdropItemId') ? undefined : json['ParentBackdropItemId'], + 'parentBackdropImageTags': !exists(json, 'ParentBackdropImageTags') ? undefined : json['ParentBackdropImageTags'], + 'localTrailerCount': !exists(json, 'LocalTrailerCount') ? undefined : json['LocalTrailerCount'], + 'userData': !exists(json, 'UserData') ? undefined : BaseItemDtoUserDataFromJSON(json['UserData']), + 'recursiveItemCount': !exists(json, 'RecursiveItemCount') ? undefined : json['RecursiveItemCount'], + 'childCount': !exists(json, 'ChildCount') ? undefined : json['ChildCount'], + 'seriesName': !exists(json, 'SeriesName') ? undefined : json['SeriesName'], + 'seriesId': !exists(json, 'SeriesId') ? undefined : json['SeriesId'], + 'seasonId': !exists(json, 'SeasonId') ? undefined : json['SeasonId'], + 'specialFeatureCount': !exists(json, 'SpecialFeatureCount') ? undefined : json['SpecialFeatureCount'], + 'displayPreferencesId': !exists(json, 'DisplayPreferencesId') ? undefined : json['DisplayPreferencesId'], + 'status': !exists(json, 'Status') ? undefined : json['Status'], + 'airTime': !exists(json, 'AirTime') ? undefined : json['AirTime'], + 'airDays': !exists(json, 'AirDays') ? undefined : (json['AirDays'] === null ? null : (json['AirDays'] as Array).map(DayOfWeekFromJSON)), + 'tags': !exists(json, 'Tags') ? undefined : json['Tags'], + 'primaryImageAspectRatio': !exists(json, 'PrimaryImageAspectRatio') ? undefined : json['PrimaryImageAspectRatio'], + 'artists': !exists(json, 'Artists') ? undefined : json['Artists'], + 'artistItems': !exists(json, 'ArtistItems') ? undefined : (json['ArtistItems'] === null ? null : (json['ArtistItems'] as Array).map(NameGuidPairFromJSON)), + 'album': !exists(json, 'Album') ? undefined : json['Album'], + 'collectionType': !exists(json, 'CollectionType') ? undefined : json['CollectionType'], + 'displayOrder': !exists(json, 'DisplayOrder') ? undefined : json['DisplayOrder'], + 'albumId': !exists(json, 'AlbumId') ? undefined : json['AlbumId'], + 'albumPrimaryImageTag': !exists(json, 'AlbumPrimaryImageTag') ? undefined : json['AlbumPrimaryImageTag'], + 'seriesPrimaryImageTag': !exists(json, 'SeriesPrimaryImageTag') ? undefined : json['SeriesPrimaryImageTag'], + 'albumArtist': !exists(json, 'AlbumArtist') ? undefined : json['AlbumArtist'], + 'albumArtists': !exists(json, 'AlbumArtists') ? undefined : (json['AlbumArtists'] === null ? null : (json['AlbumArtists'] as Array).map(NameGuidPairFromJSON)), + 'seasonName': !exists(json, 'SeasonName') ? undefined : json['SeasonName'], + 'mediaStreams': !exists(json, 'MediaStreams') ? undefined : (json['MediaStreams'] === null ? null : (json['MediaStreams'] as Array).map(MediaStreamFromJSON)), + 'videoType': !exists(json, 'VideoType') ? undefined : VideoTypeFromJSON(json['VideoType']), + 'partCount': !exists(json, 'PartCount') ? undefined : json['PartCount'], + 'mediaSourceCount': !exists(json, 'MediaSourceCount') ? undefined : json['MediaSourceCount'], + 'imageTags': !exists(json, 'ImageTags') ? undefined : json['ImageTags'], + 'backdropImageTags': !exists(json, 'BackdropImageTags') ? undefined : json['BackdropImageTags'], + 'screenshotImageTags': !exists(json, 'ScreenshotImageTags') ? undefined : json['ScreenshotImageTags'], + 'parentLogoImageTag': !exists(json, 'ParentLogoImageTag') ? undefined : json['ParentLogoImageTag'], + 'parentArtItemId': !exists(json, 'ParentArtItemId') ? undefined : json['ParentArtItemId'], + 'parentArtImageTag': !exists(json, 'ParentArtImageTag') ? undefined : json['ParentArtImageTag'], + 'seriesThumbImageTag': !exists(json, 'SeriesThumbImageTag') ? undefined : json['SeriesThumbImageTag'], + 'imageBlurHashes': !exists(json, 'ImageBlurHashes') ? undefined : BaseItemDtoImageBlurHashesFromJSON(json['ImageBlurHashes']), + 'seriesStudio': !exists(json, 'SeriesStudio') ? undefined : json['SeriesStudio'], + 'parentThumbItemId': !exists(json, 'ParentThumbItemId') ? undefined : json['ParentThumbItemId'], + 'parentThumbImageTag': !exists(json, 'ParentThumbImageTag') ? undefined : json['ParentThumbImageTag'], + 'parentPrimaryImageItemId': !exists(json, 'ParentPrimaryImageItemId') ? undefined : json['ParentPrimaryImageItemId'], + 'parentPrimaryImageTag': !exists(json, 'ParentPrimaryImageTag') ? undefined : json['ParentPrimaryImageTag'], + 'chapters': !exists(json, 'Chapters') ? undefined : (json['Chapters'] === null ? null : (json['Chapters'] as Array).map(ChapterInfoFromJSON)), + 'locationType': !exists(json, 'LocationType') ? undefined : LocationTypeFromJSON(json['LocationType']), + 'isoType': !exists(json, 'IsoType') ? undefined : IsoTypeFromJSON(json['IsoType']), + 'mediaType': !exists(json, 'MediaType') ? undefined : json['MediaType'], + 'endDate': !exists(json, 'EndDate') ? undefined : (json['EndDate'] === null ? null : new Date(json['EndDate'])), + 'lockedFields': !exists(json, 'LockedFields') ? undefined : (json['LockedFields'] === null ? null : (json['LockedFields'] as Array).map(MetadataFieldFromJSON)), + 'trailerCount': !exists(json, 'TrailerCount') ? undefined : json['TrailerCount'], + 'movieCount': !exists(json, 'MovieCount') ? undefined : json['MovieCount'], + 'seriesCount': !exists(json, 'SeriesCount') ? undefined : json['SeriesCount'], + 'programCount': !exists(json, 'ProgramCount') ? undefined : json['ProgramCount'], + 'episodeCount': !exists(json, 'EpisodeCount') ? undefined : json['EpisodeCount'], + 'songCount': !exists(json, 'SongCount') ? undefined : json['SongCount'], + 'albumCount': !exists(json, 'AlbumCount') ? undefined : json['AlbumCount'], + 'artistCount': !exists(json, 'ArtistCount') ? undefined : json['ArtistCount'], + 'musicVideoCount': !exists(json, 'MusicVideoCount') ? undefined : json['MusicVideoCount'], + 'lockData': !exists(json, 'LockData') ? undefined : json['LockData'], + 'width': !exists(json, 'Width') ? undefined : json['Width'], + 'height': !exists(json, 'Height') ? undefined : json['Height'], + 'cameraMake': !exists(json, 'CameraMake') ? undefined : json['CameraMake'], + 'cameraModel': !exists(json, 'CameraModel') ? undefined : json['CameraModel'], + 'software': !exists(json, 'Software') ? undefined : json['Software'], + 'exposureTime': !exists(json, 'ExposureTime') ? undefined : json['ExposureTime'], + 'focalLength': !exists(json, 'FocalLength') ? undefined : json['FocalLength'], + 'imageOrientation': !exists(json, 'ImageOrientation') ? undefined : ImageOrientationFromJSON(json['ImageOrientation']), + 'aperture': !exists(json, 'Aperture') ? undefined : json['Aperture'], + 'shutterSpeed': !exists(json, 'ShutterSpeed') ? undefined : json['ShutterSpeed'], + 'latitude': !exists(json, 'Latitude') ? undefined : json['Latitude'], + 'longitude': !exists(json, 'Longitude') ? undefined : json['Longitude'], + 'altitude': !exists(json, 'Altitude') ? undefined : json['Altitude'], + 'isoSpeedRating': !exists(json, 'IsoSpeedRating') ? undefined : json['IsoSpeedRating'], + 'seriesTimerId': !exists(json, 'SeriesTimerId') ? undefined : json['SeriesTimerId'], + 'programId': !exists(json, 'ProgramId') ? undefined : json['ProgramId'], + 'channelPrimaryImageTag': !exists(json, 'ChannelPrimaryImageTag') ? undefined : json['ChannelPrimaryImageTag'], + 'startDate': !exists(json, 'StartDate') ? undefined : (json['StartDate'] === null ? null : new Date(json['StartDate'])), + 'completionPercentage': !exists(json, 'CompletionPercentage') ? undefined : json['CompletionPercentage'], + 'isRepeat': !exists(json, 'IsRepeat') ? undefined : json['IsRepeat'], + 'episodeTitle': !exists(json, 'EpisodeTitle') ? undefined : json['EpisodeTitle'], + 'channelType': !exists(json, 'ChannelType') ? undefined : ChannelTypeFromJSON(json['ChannelType']), + 'audio': !exists(json, 'Audio') ? undefined : ProgramAudioFromJSON(json['Audio']), + 'isMovie': !exists(json, 'IsMovie') ? undefined : json['IsMovie'], + 'isSports': !exists(json, 'IsSports') ? undefined : json['IsSports'], + 'isSeries': !exists(json, 'IsSeries') ? undefined : json['IsSeries'], + 'isLive': !exists(json, 'IsLive') ? undefined : json['IsLive'], + 'isNews': !exists(json, 'IsNews') ? undefined : json['IsNews'], + 'isKids': !exists(json, 'IsKids') ? undefined : json['IsKids'], + 'isPremiere': !exists(json, 'IsPremiere') ? undefined : json['IsPremiere'], + 'timerId': !exists(json, 'TimerId') ? undefined : json['TimerId'], + 'currentProgram': !exists(json, 'CurrentProgram') ? undefined : BaseItemDtoCurrentProgramFromJSON(json['CurrentProgram']), + }; +} + +export function BaseItemDtoToJSON(value?: BaseItemDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'OriginalTitle': value.originalTitle, + 'ServerId': value.serverId, + 'Id': value.id, + 'Etag': value.etag, + 'SourceType': value.sourceType, + 'PlaylistItemId': value.playlistItemId, + 'DateCreated': value.dateCreated === undefined ? undefined : (value.dateCreated === null ? null : value.dateCreated.toISOString()), + 'DateLastMediaAdded': value.dateLastMediaAdded === undefined ? undefined : (value.dateLastMediaAdded === null ? null : value.dateLastMediaAdded.toISOString()), + 'ExtraType': value.extraType, + 'AirsBeforeSeasonNumber': value.airsBeforeSeasonNumber, + 'AirsAfterSeasonNumber': value.airsAfterSeasonNumber, + 'AirsBeforeEpisodeNumber': value.airsBeforeEpisodeNumber, + 'CanDelete': value.canDelete, + 'CanDownload': value.canDownload, + 'HasSubtitles': value.hasSubtitles, + 'PreferredMetadataLanguage': value.preferredMetadataLanguage, + 'PreferredMetadataCountryCode': value.preferredMetadataCountryCode, + 'SupportsSync': value.supportsSync, + 'Container': value.container, + 'SortName': value.sortName, + 'ForcedSortName': value.forcedSortName, + 'Video3DFormat': Video3DFormatToJSON(value.video3DFormat), + 'PremiereDate': value.premiereDate === undefined ? undefined : (value.premiereDate === null ? null : value.premiereDate.toISOString()), + 'ExternalUrls': value.externalUrls === undefined ? undefined : (value.externalUrls === null ? null : (value.externalUrls as Array).map(ExternalUrlToJSON)), + 'MediaSources': value.mediaSources === undefined ? undefined : (value.mediaSources === null ? null : (value.mediaSources as Array).map(MediaSourceInfoToJSON)), + 'CriticRating': value.criticRating, + 'ProductionLocations': value.productionLocations, + 'Path': value.path, + 'EnableMediaSourceDisplay': value.enableMediaSourceDisplay, + 'OfficialRating': value.officialRating, + 'CustomRating': value.customRating, + 'ChannelId': value.channelId, + 'ChannelName': value.channelName, + 'Overview': value.overview, + 'Taglines': value.taglines, + 'Genres': value.genres, + 'CommunityRating': value.communityRating, + 'CumulativeRunTimeTicks': value.cumulativeRunTimeTicks, + 'RunTimeTicks': value.runTimeTicks, + 'PlayAccess': PlayAccessToJSON(value.playAccess), + 'AspectRatio': value.aspectRatio, + 'ProductionYear': value.productionYear, + 'IsPlaceHolder': value.isPlaceHolder, + 'Number': value.number, + 'ChannelNumber': value.channelNumber, + 'IndexNumber': value.indexNumber, + 'IndexNumberEnd': value.indexNumberEnd, + 'ParentIndexNumber': value.parentIndexNumber, + 'RemoteTrailers': value.remoteTrailers === undefined ? undefined : (value.remoteTrailers === null ? null : (value.remoteTrailers as Array).map(MediaUrlToJSON)), + 'ProviderIds': value.providerIds, + 'IsHD': value.isHD, + 'IsFolder': value.isFolder, + 'ParentId': value.parentId, + 'Type': BaseItemKindToJSON(value.type), + 'People': value.people === undefined ? undefined : (value.people === null ? null : (value.people as Array).map(BaseItemPersonToJSON)), + 'Studios': value.studios === undefined ? undefined : (value.studios === null ? null : (value.studios as Array).map(NameGuidPairToJSON)), + 'GenreItems': value.genreItems === undefined ? undefined : (value.genreItems === null ? null : (value.genreItems as Array).map(NameGuidPairToJSON)), + 'ParentLogoItemId': value.parentLogoItemId, + 'ParentBackdropItemId': value.parentBackdropItemId, + 'ParentBackdropImageTags': value.parentBackdropImageTags, + 'LocalTrailerCount': value.localTrailerCount, + 'UserData': BaseItemDtoUserDataToJSON(value.userData), + 'RecursiveItemCount': value.recursiveItemCount, + 'ChildCount': value.childCount, + 'SeriesName': value.seriesName, + 'SeriesId': value.seriesId, + 'SeasonId': value.seasonId, + 'SpecialFeatureCount': value.specialFeatureCount, + 'DisplayPreferencesId': value.displayPreferencesId, + 'Status': value.status, + 'AirTime': value.airTime, + 'AirDays': value.airDays === undefined ? undefined : (value.airDays === null ? null : (value.airDays as Array).map(DayOfWeekToJSON)), + 'Tags': value.tags, + 'PrimaryImageAspectRatio': value.primaryImageAspectRatio, + 'Artists': value.artists, + 'ArtistItems': value.artistItems === undefined ? undefined : (value.artistItems === null ? null : (value.artistItems as Array).map(NameGuidPairToJSON)), + 'Album': value.album, + 'CollectionType': value.collectionType, + 'DisplayOrder': value.displayOrder, + 'AlbumId': value.albumId, + 'AlbumPrimaryImageTag': value.albumPrimaryImageTag, + 'SeriesPrimaryImageTag': value.seriesPrimaryImageTag, + 'AlbumArtist': value.albumArtist, + 'AlbumArtists': value.albumArtists === undefined ? undefined : (value.albumArtists === null ? null : (value.albumArtists as Array).map(NameGuidPairToJSON)), + 'SeasonName': value.seasonName, + 'MediaStreams': value.mediaStreams === undefined ? undefined : (value.mediaStreams === null ? null : (value.mediaStreams as Array).map(MediaStreamToJSON)), + 'VideoType': VideoTypeToJSON(value.videoType), + 'PartCount': value.partCount, + 'MediaSourceCount': value.mediaSourceCount, + 'ImageTags': value.imageTags, + 'BackdropImageTags': value.backdropImageTags, + 'ScreenshotImageTags': value.screenshotImageTags, + 'ParentLogoImageTag': value.parentLogoImageTag, + 'ParentArtItemId': value.parentArtItemId, + 'ParentArtImageTag': value.parentArtImageTag, + 'SeriesThumbImageTag': value.seriesThumbImageTag, + 'ImageBlurHashes': BaseItemDtoImageBlurHashesToJSON(value.imageBlurHashes), + 'SeriesStudio': value.seriesStudio, + 'ParentThumbItemId': value.parentThumbItemId, + 'ParentThumbImageTag': value.parentThumbImageTag, + 'ParentPrimaryImageItemId': value.parentPrimaryImageItemId, + 'ParentPrimaryImageTag': value.parentPrimaryImageTag, + 'Chapters': value.chapters === undefined ? undefined : (value.chapters === null ? null : (value.chapters as Array).map(ChapterInfoToJSON)), + 'LocationType': LocationTypeToJSON(value.locationType), + 'IsoType': IsoTypeToJSON(value.isoType), + 'MediaType': value.mediaType, + 'EndDate': value.endDate === undefined ? undefined : (value.endDate === null ? null : value.endDate.toISOString()), + 'LockedFields': value.lockedFields === undefined ? undefined : (value.lockedFields === null ? null : (value.lockedFields as Array).map(MetadataFieldToJSON)), + 'TrailerCount': value.trailerCount, + 'MovieCount': value.movieCount, + 'SeriesCount': value.seriesCount, + 'ProgramCount': value.programCount, + 'EpisodeCount': value.episodeCount, + 'SongCount': value.songCount, + 'AlbumCount': value.albumCount, + 'ArtistCount': value.artistCount, + 'MusicVideoCount': value.musicVideoCount, + 'LockData': value.lockData, + 'Width': value.width, + 'Height': value.height, + 'CameraMake': value.cameraMake, + 'CameraModel': value.cameraModel, + 'Software': value.software, + 'ExposureTime': value.exposureTime, + 'FocalLength': value.focalLength, + 'ImageOrientation': ImageOrientationToJSON(value.imageOrientation), + 'Aperture': value.aperture, + 'ShutterSpeed': value.shutterSpeed, + 'Latitude': value.latitude, + 'Longitude': value.longitude, + 'Altitude': value.altitude, + 'IsoSpeedRating': value.isoSpeedRating, + 'SeriesTimerId': value.seriesTimerId, + 'ProgramId': value.programId, + 'ChannelPrimaryImageTag': value.channelPrimaryImageTag, + 'StartDate': value.startDate === undefined ? undefined : (value.startDate === null ? null : value.startDate.toISOString()), + 'CompletionPercentage': value.completionPercentage, + 'IsRepeat': value.isRepeat, + 'EpisodeTitle': value.episodeTitle, + 'ChannelType': ChannelTypeToJSON(value.channelType), + 'Audio': ProgramAudioToJSON(value.audio), + 'IsMovie': value.isMovie, + 'IsSports': value.isSports, + 'IsSeries': value.isSeries, + 'IsLive': value.isLive, + 'IsNews': value.isNews, + 'IsKids': value.isKids, + 'IsPremiere': value.isPremiere, + 'TimerId': value.timerId, + 'CurrentProgram': BaseItemDtoCurrentProgramToJSON(value.currentProgram), + }; +} + diff --git a/server/jellyfin/models/BaseItemDtoCurrentProgram.ts b/server/jellyfin/models/BaseItemDtoCurrentProgram.ts new file mode 100644 index 0000000..dda9d3f --- /dev/null +++ b/server/jellyfin/models/BaseItemDtoCurrentProgram.ts @@ -0,0 +1,1386 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { BaseItemDtoImageBlurHashes } from './BaseItemDtoImageBlurHashes'; +import { + BaseItemDtoImageBlurHashesFromJSON, + BaseItemDtoImageBlurHashesFromJSONTyped, + BaseItemDtoImageBlurHashesToJSON, +} from './BaseItemDtoImageBlurHashes'; +import type { BaseItemDtoUserData } from './BaseItemDtoUserData'; +import { + BaseItemDtoUserDataFromJSON, + BaseItemDtoUserDataFromJSONTyped, + BaseItemDtoUserDataToJSON, +} from './BaseItemDtoUserData'; +import type { BaseItemKind } from './BaseItemKind'; +import { + BaseItemKindFromJSON, + BaseItemKindFromJSONTyped, + BaseItemKindToJSON, +} from './BaseItemKind'; +import type { BaseItemPerson } from './BaseItemPerson'; +import { + BaseItemPersonFromJSON, + BaseItemPersonFromJSONTyped, + BaseItemPersonToJSON, +} from './BaseItemPerson'; +import type { ChannelType } from './ChannelType'; +import { + ChannelTypeFromJSON, + ChannelTypeFromJSONTyped, + ChannelTypeToJSON, +} from './ChannelType'; +import type { ChapterInfo } from './ChapterInfo'; +import { + ChapterInfoFromJSON, + ChapterInfoFromJSONTyped, + ChapterInfoToJSON, +} from './ChapterInfo'; +import type { DayOfWeek } from './DayOfWeek'; +import { + DayOfWeekFromJSON, + DayOfWeekFromJSONTyped, + DayOfWeekToJSON, +} from './DayOfWeek'; +import type { ExternalUrl } from './ExternalUrl'; +import { + ExternalUrlFromJSON, + ExternalUrlFromJSONTyped, + ExternalUrlToJSON, +} from './ExternalUrl'; +import type { ImageOrientation } from './ImageOrientation'; +import { + ImageOrientationFromJSON, + ImageOrientationFromJSONTyped, + ImageOrientationToJSON, +} from './ImageOrientation'; +import type { IsoType } from './IsoType'; +import { + IsoTypeFromJSON, + IsoTypeFromJSONTyped, + IsoTypeToJSON, +} from './IsoType'; +import type { LocationType } from './LocationType'; +import { + LocationTypeFromJSON, + LocationTypeFromJSONTyped, + LocationTypeToJSON, +} from './LocationType'; +import type { MediaSourceInfo } from './MediaSourceInfo'; +import { + MediaSourceInfoFromJSON, + MediaSourceInfoFromJSONTyped, + MediaSourceInfoToJSON, +} from './MediaSourceInfo'; +import type { MediaStream } from './MediaStream'; +import { + MediaStreamFromJSON, + MediaStreamFromJSONTyped, + MediaStreamToJSON, +} from './MediaStream'; +import type { MediaUrl } from './MediaUrl'; +import { + MediaUrlFromJSON, + MediaUrlFromJSONTyped, + MediaUrlToJSON, +} from './MediaUrl'; +import type { MetadataField } from './MetadataField'; +import { + MetadataFieldFromJSON, + MetadataFieldFromJSONTyped, + MetadataFieldToJSON, +} from './MetadataField'; +import type { NameGuidPair } from './NameGuidPair'; +import { + NameGuidPairFromJSON, + NameGuidPairFromJSONTyped, + NameGuidPairToJSON, +} from './NameGuidPair'; +import type { PlayAccess } from './PlayAccess'; +import { + PlayAccessFromJSON, + PlayAccessFromJSONTyped, + PlayAccessToJSON, +} from './PlayAccess'; +import type { ProgramAudio } from './ProgramAudio'; +import { + ProgramAudioFromJSON, + ProgramAudioFromJSONTyped, + ProgramAudioToJSON, +} from './ProgramAudio'; +import type { Video3DFormat } from './Video3DFormat'; +import { + Video3DFormatFromJSON, + Video3DFormatFromJSONTyped, + Video3DFormatToJSON, +} from './Video3DFormat'; +import type { VideoType } from './VideoType'; +import { + VideoTypeFromJSON, + VideoTypeFromJSONTyped, + VideoTypeToJSON, +} from './VideoType'; + +/** + * Gets or sets the current program. + * @export + * @interface BaseItemDtoCurrentProgram + */ +export interface BaseItemDtoCurrentProgram { + /** + * Gets or sets the name. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + name?: string | null; + /** + * + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + originalTitle?: string | null; + /** + * Gets or sets the server identifier. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + serverId?: string | null; + /** + * Gets or sets the id. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + id?: string; + /** + * Gets or sets the etag. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + etag?: string | null; + /** + * Gets or sets the type of the source. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + sourceType?: string | null; + /** + * Gets or sets the playlist item identifier. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + playlistItemId?: string | null; + /** + * Gets or sets the date created. + * @type {Date} + * @memberof BaseItemDtoCurrentProgram + */ + dateCreated?: Date | null; + /** + * + * @type {Date} + * @memberof BaseItemDtoCurrentProgram + */ + dateLastMediaAdded?: Date | null; + /** + * + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + extraType?: string | null; + /** + * + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + airsBeforeSeasonNumber?: number | null; + /** + * + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + airsAfterSeasonNumber?: number | null; + /** + * + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + airsBeforeEpisodeNumber?: number | null; + /** + * + * @type {boolean} + * @memberof BaseItemDtoCurrentProgram + */ + canDelete?: boolean | null; + /** + * + * @type {boolean} + * @memberof BaseItemDtoCurrentProgram + */ + canDownload?: boolean | null; + /** + * + * @type {boolean} + * @memberof BaseItemDtoCurrentProgram + */ + hasSubtitles?: boolean | null; + /** + * + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + preferredMetadataLanguage?: string | null; + /** + * + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + preferredMetadataCountryCode?: string | null; + /** + * Gets or sets a value indicating whether [supports synchronize]. + * @type {boolean} + * @memberof BaseItemDtoCurrentProgram + */ + supportsSync?: boolean | null; + /** + * + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + container?: string | null; + /** + * Gets or sets the name of the sort. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + sortName?: string | null; + /** + * + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + forcedSortName?: string | null; + /** + * + * @type {Video3DFormat} + * @memberof BaseItemDtoCurrentProgram + */ + video3DFormat?: Video3DFormat | null; + /** + * Gets or sets the premiere date. + * @type {Date} + * @memberof BaseItemDtoCurrentProgram + */ + premiereDate?: Date | null; + /** + * Gets or sets the external urls. + * @type {Array} + * @memberof BaseItemDtoCurrentProgram + */ + externalUrls?: Array | null; + /** + * Gets or sets the media versions. + * @type {Array} + * @memberof BaseItemDtoCurrentProgram + */ + mediaSources?: Array | null; + /** + * Gets or sets the critic rating. + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + criticRating?: number | null; + /** + * + * @type {Array} + * @memberof BaseItemDtoCurrentProgram + */ + productionLocations?: Array | null; + /** + * Gets or sets the path. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + path?: string | null; + /** + * + * @type {boolean} + * @memberof BaseItemDtoCurrentProgram + */ + enableMediaSourceDisplay?: boolean | null; + /** + * Gets or sets the official rating. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + officialRating?: string | null; + /** + * Gets or sets the custom rating. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + customRating?: string | null; + /** + * Gets or sets the channel identifier. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + channelId?: string | null; + /** + * + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + channelName?: string | null; + /** + * Gets or sets the overview. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + overview?: string | null; + /** + * Gets or sets the taglines. + * @type {Array} + * @memberof BaseItemDtoCurrentProgram + */ + taglines?: Array | null; + /** + * Gets or sets the genres. + * @type {Array} + * @memberof BaseItemDtoCurrentProgram + */ + genres?: Array | null; + /** + * Gets or sets the community rating. + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + communityRating?: number | null; + /** + * Gets or sets the cumulative run time ticks. + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + cumulativeRunTimeTicks?: number | null; + /** + * Gets or sets the run time ticks. + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + runTimeTicks?: number | null; + /** + * + * @type {PlayAccess} + * @memberof BaseItemDtoCurrentProgram + */ + playAccess?: PlayAccess | null; + /** + * Gets or sets the aspect ratio. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + aspectRatio?: string | null; + /** + * Gets or sets the production year. + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + productionYear?: number | null; + /** + * Gets or sets a value indicating whether this instance is place holder. + * @type {boolean} + * @memberof BaseItemDtoCurrentProgram + */ + isPlaceHolder?: boolean | null; + /** + * Gets or sets the number. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + number?: string | null; + /** + * + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + channelNumber?: string | null; + /** + * Gets or sets the index number. + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + indexNumber?: number | null; + /** + * Gets or sets the index number end. + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + indexNumberEnd?: number | null; + /** + * Gets or sets the parent index number. + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + parentIndexNumber?: number | null; + /** + * Gets or sets the trailer urls. + * @type {Array} + * @memberof BaseItemDtoCurrentProgram + */ + remoteTrailers?: Array | null; + /** + * Gets or sets the provider ids. + * @type {{ [key: string]: string; }} + * @memberof BaseItemDtoCurrentProgram + */ + providerIds?: { [key: string]: string; } | null; + /** + * Gets or sets a value indicating whether this instance is HD. + * @type {boolean} + * @memberof BaseItemDtoCurrentProgram + */ + isHD?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is folder. + * @type {boolean} + * @memberof BaseItemDtoCurrentProgram + */ + isFolder?: boolean | null; + /** + * Gets or sets the parent id. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + parentId?: string | null; + /** + * + * @type {BaseItemKind} + * @memberof BaseItemDtoCurrentProgram + */ + type?: BaseItemKind; + /** + * Gets or sets the people. + * @type {Array} + * @memberof BaseItemDtoCurrentProgram + */ + people?: Array | null; + /** + * Gets or sets the studios. + * @type {Array} + * @memberof BaseItemDtoCurrentProgram + */ + studios?: Array | null; + /** + * + * @type {Array} + * @memberof BaseItemDtoCurrentProgram + */ + genreItems?: Array | null; + /** + * Gets or sets wether the item has a logo, this will hold the Id of the Parent that has one. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + parentLogoItemId?: string | null; + /** + * Gets or sets wether the item has any backdrops, this will hold the Id of the Parent that has one. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + parentBackdropItemId?: string | null; + /** + * Gets or sets the parent backdrop image tags. + * @type {Array} + * @memberof BaseItemDtoCurrentProgram + */ + parentBackdropImageTags?: Array | null; + /** + * Gets or sets the local trailer count. + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + localTrailerCount?: number | null; + /** + * + * @type {BaseItemDtoUserData} + * @memberof BaseItemDtoCurrentProgram + */ + userData?: BaseItemDtoUserData | null; + /** + * Gets or sets the recursive item count. + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + recursiveItemCount?: number | null; + /** + * Gets or sets the child count. + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + childCount?: number | null; + /** + * Gets or sets the name of the series. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + seriesName?: string | null; + /** + * Gets or sets the series id. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + seriesId?: string | null; + /** + * Gets or sets the season identifier. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + seasonId?: string | null; + /** + * Gets or sets the special feature count. + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + specialFeatureCount?: number | null; + /** + * Gets or sets the display preferences id. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + displayPreferencesId?: string | null; + /** + * Gets or sets the status. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + status?: string | null; + /** + * Gets or sets the air time. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + airTime?: string | null; + /** + * Gets or sets the air days. + * @type {Array} + * @memberof BaseItemDtoCurrentProgram + */ + airDays?: Array | null; + /** + * Gets or sets the tags. + * @type {Array} + * @memberof BaseItemDtoCurrentProgram + */ + tags?: Array | null; + /** + * Gets or sets the primary image aspect ratio, after image enhancements. + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + primaryImageAspectRatio?: number | null; + /** + * Gets or sets the artists. + * @type {Array} + * @memberof BaseItemDtoCurrentProgram + */ + artists?: Array | null; + /** + * Gets or sets the artist items. + * @type {Array} + * @memberof BaseItemDtoCurrentProgram + */ + artistItems?: Array | null; + /** + * Gets or sets the album. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + album?: string | null; + /** + * Gets or sets the type of the collection. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + collectionType?: string | null; + /** + * Gets or sets the display order. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + displayOrder?: string | null; + /** + * Gets or sets the album id. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + albumId?: string | null; + /** + * Gets or sets the album image tag. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + albumPrimaryImageTag?: string | null; + /** + * Gets or sets the series primary image tag. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + seriesPrimaryImageTag?: string | null; + /** + * Gets or sets the album artist. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + albumArtist?: string | null; + /** + * Gets or sets the album artists. + * @type {Array} + * @memberof BaseItemDtoCurrentProgram + */ + albumArtists?: Array | null; + /** + * Gets or sets the name of the season. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + seasonName?: string | null; + /** + * Gets or sets the media streams. + * @type {Array} + * @memberof BaseItemDtoCurrentProgram + */ + mediaStreams?: Array | null; + /** + * + * @type {VideoType} + * @memberof BaseItemDtoCurrentProgram + */ + videoType?: VideoType | null; + /** + * Gets or sets the part count. + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + partCount?: number | null; + /** + * + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + mediaSourceCount?: number | null; + /** + * Gets or sets the image tags. + * @type {{ [key: string]: string; }} + * @memberof BaseItemDtoCurrentProgram + */ + imageTags?: { [key: string]: string; } | null; + /** + * Gets or sets the backdrop image tags. + * @type {Array} + * @memberof BaseItemDtoCurrentProgram + */ + backdropImageTags?: Array | null; + /** + * Gets or sets the screenshot image tags. + * @type {Array} + * @memberof BaseItemDtoCurrentProgram + */ + screenshotImageTags?: Array | null; + /** + * Gets or sets the parent logo image tag. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + parentLogoImageTag?: string | null; + /** + * Gets or sets wether the item has fan art, this will hold the Id of the Parent that has one. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + parentArtItemId?: string | null; + /** + * Gets or sets the parent art image tag. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + parentArtImageTag?: string | null; + /** + * Gets or sets the series thumb image tag. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + seriesThumbImageTag?: string | null; + /** + * + * @type {BaseItemDtoImageBlurHashes} + * @memberof BaseItemDtoCurrentProgram + */ + imageBlurHashes?: BaseItemDtoImageBlurHashes | null; + /** + * Gets or sets the series studio. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + seriesStudio?: string | null; + /** + * Gets or sets the parent thumb item id. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + parentThumbItemId?: string | null; + /** + * Gets or sets the parent thumb image tag. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + parentThumbImageTag?: string | null; + /** + * Gets or sets the parent primary image item identifier. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + parentPrimaryImageItemId?: string | null; + /** + * Gets or sets the parent primary image tag. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + parentPrimaryImageTag?: string | null; + /** + * Gets or sets the chapters. + * @type {Array} + * @memberof BaseItemDtoCurrentProgram + */ + chapters?: Array | null; + /** + * + * @type {LocationType} + * @memberof BaseItemDtoCurrentProgram + */ + locationType?: LocationType | null; + /** + * + * @type {IsoType} + * @memberof BaseItemDtoCurrentProgram + */ + isoType?: IsoType | null; + /** + * Gets or sets the type of the media. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + mediaType?: string | null; + /** + * Gets or sets the end date. + * @type {Date} + * @memberof BaseItemDtoCurrentProgram + */ + endDate?: Date | null; + /** + * Gets or sets the locked fields. + * @type {Array} + * @memberof BaseItemDtoCurrentProgram + */ + lockedFields?: Array | null; + /** + * Gets or sets the trailer count. + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + trailerCount?: number | null; + /** + * Gets or sets the movie count. + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + movieCount?: number | null; + /** + * Gets or sets the series count. + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + seriesCount?: number | null; + /** + * + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + programCount?: number | null; + /** + * Gets or sets the episode count. + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + episodeCount?: number | null; + /** + * Gets or sets the song count. + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + songCount?: number | null; + /** + * Gets or sets the album count. + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + albumCount?: number | null; + /** + * + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + artistCount?: number | null; + /** + * Gets or sets the music video count. + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + musicVideoCount?: number | null; + /** + * Gets or sets a value indicating whether [enable internet providers]. + * @type {boolean} + * @memberof BaseItemDtoCurrentProgram + */ + lockData?: boolean | null; + /** + * + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + width?: number | null; + /** + * + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + height?: number | null; + /** + * + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + cameraMake?: string | null; + /** + * + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + cameraModel?: string | null; + /** + * + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + software?: string | null; + /** + * + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + exposureTime?: number | null; + /** + * + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + focalLength?: number | null; + /** + * + * @type {ImageOrientation} + * @memberof BaseItemDtoCurrentProgram + */ + imageOrientation?: ImageOrientation | null; + /** + * + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + aperture?: number | null; + /** + * + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + shutterSpeed?: number | null; + /** + * + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + latitude?: number | null; + /** + * + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + longitude?: number | null; + /** + * + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + altitude?: number | null; + /** + * + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + isoSpeedRating?: number | null; + /** + * Gets or sets the series timer identifier. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + seriesTimerId?: string | null; + /** + * Gets or sets the program identifier. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + programId?: string | null; + /** + * Gets or sets the channel primary image tag. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + channelPrimaryImageTag?: string | null; + /** + * Gets or sets the start date of the recording, in UTC. + * @type {Date} + * @memberof BaseItemDtoCurrentProgram + */ + startDate?: Date | null; + /** + * Gets or sets the completion percentage. + * @type {number} + * @memberof BaseItemDtoCurrentProgram + */ + completionPercentage?: number | null; + /** + * Gets or sets a value indicating whether this instance is repeat. + * @type {boolean} + * @memberof BaseItemDtoCurrentProgram + */ + isRepeat?: boolean | null; + /** + * Gets or sets the episode title. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + episodeTitle?: string | null; + /** + * + * @type {ChannelType} + * @memberof BaseItemDtoCurrentProgram + */ + channelType?: ChannelType | null; + /** + * + * @type {ProgramAudio} + * @memberof BaseItemDtoCurrentProgram + */ + audio?: ProgramAudio | null; + /** + * Gets or sets a value indicating whether this instance is movie. + * @type {boolean} + * @memberof BaseItemDtoCurrentProgram + */ + isMovie?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is sports. + * @type {boolean} + * @memberof BaseItemDtoCurrentProgram + */ + isSports?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is series. + * @type {boolean} + * @memberof BaseItemDtoCurrentProgram + */ + isSeries?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is live. + * @type {boolean} + * @memberof BaseItemDtoCurrentProgram + */ + isLive?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is news. + * @type {boolean} + * @memberof BaseItemDtoCurrentProgram + */ + isNews?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is kids. + * @type {boolean} + * @memberof BaseItemDtoCurrentProgram + */ + isKids?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is premiere. + * @type {boolean} + * @memberof BaseItemDtoCurrentProgram + */ + isPremiere?: boolean | null; + /** + * Gets or sets the timer identifier. + * @type {string} + * @memberof BaseItemDtoCurrentProgram + */ + timerId?: string | null; + /** + * + * @type {BaseItemDtoCurrentProgram} + * @memberof BaseItemDtoCurrentProgram + */ + currentProgram?: BaseItemDtoCurrentProgram | null; +} + +/** + * Check if a given object implements the BaseItemDtoCurrentProgram interface. + */ +export function instanceOfBaseItemDtoCurrentProgram(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function BaseItemDtoCurrentProgramFromJSON(json: any): BaseItemDtoCurrentProgram { + return BaseItemDtoCurrentProgramFromJSONTyped(json, false); +} + +export function BaseItemDtoCurrentProgramFromJSONTyped(json: any, ignoreDiscriminator: boolean): BaseItemDtoCurrentProgram { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'originalTitle': !exists(json, 'OriginalTitle') ? undefined : json['OriginalTitle'], + 'serverId': !exists(json, 'ServerId') ? undefined : json['ServerId'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'etag': !exists(json, 'Etag') ? undefined : json['Etag'], + 'sourceType': !exists(json, 'SourceType') ? undefined : json['SourceType'], + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + 'dateCreated': !exists(json, 'DateCreated') ? undefined : (json['DateCreated'] === null ? null : new Date(json['DateCreated'])), + 'dateLastMediaAdded': !exists(json, 'DateLastMediaAdded') ? undefined : (json['DateLastMediaAdded'] === null ? null : new Date(json['DateLastMediaAdded'])), + 'extraType': !exists(json, 'ExtraType') ? undefined : json['ExtraType'], + 'airsBeforeSeasonNumber': !exists(json, 'AirsBeforeSeasonNumber') ? undefined : json['AirsBeforeSeasonNumber'], + 'airsAfterSeasonNumber': !exists(json, 'AirsAfterSeasonNumber') ? undefined : json['AirsAfterSeasonNumber'], + 'airsBeforeEpisodeNumber': !exists(json, 'AirsBeforeEpisodeNumber') ? undefined : json['AirsBeforeEpisodeNumber'], + 'canDelete': !exists(json, 'CanDelete') ? undefined : json['CanDelete'], + 'canDownload': !exists(json, 'CanDownload') ? undefined : json['CanDownload'], + 'hasSubtitles': !exists(json, 'HasSubtitles') ? undefined : json['HasSubtitles'], + 'preferredMetadataLanguage': !exists(json, 'PreferredMetadataLanguage') ? undefined : json['PreferredMetadataLanguage'], + 'preferredMetadataCountryCode': !exists(json, 'PreferredMetadataCountryCode') ? undefined : json['PreferredMetadataCountryCode'], + 'supportsSync': !exists(json, 'SupportsSync') ? undefined : json['SupportsSync'], + 'container': !exists(json, 'Container') ? undefined : json['Container'], + 'sortName': !exists(json, 'SortName') ? undefined : json['SortName'], + 'forcedSortName': !exists(json, 'ForcedSortName') ? undefined : json['ForcedSortName'], + 'video3DFormat': !exists(json, 'Video3DFormat') ? undefined : Video3DFormatFromJSON(json['Video3DFormat']), + 'premiereDate': !exists(json, 'PremiereDate') ? undefined : (json['PremiereDate'] === null ? null : new Date(json['PremiereDate'])), + 'externalUrls': !exists(json, 'ExternalUrls') ? undefined : (json['ExternalUrls'] === null ? null : (json['ExternalUrls'] as Array).map(ExternalUrlFromJSON)), + 'mediaSources': !exists(json, 'MediaSources') ? undefined : (json['MediaSources'] === null ? null : (json['MediaSources'] as Array).map(MediaSourceInfoFromJSON)), + 'criticRating': !exists(json, 'CriticRating') ? undefined : json['CriticRating'], + 'productionLocations': !exists(json, 'ProductionLocations') ? undefined : json['ProductionLocations'], + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'enableMediaSourceDisplay': !exists(json, 'EnableMediaSourceDisplay') ? undefined : json['EnableMediaSourceDisplay'], + 'officialRating': !exists(json, 'OfficialRating') ? undefined : json['OfficialRating'], + 'customRating': !exists(json, 'CustomRating') ? undefined : json['CustomRating'], + 'channelId': !exists(json, 'ChannelId') ? undefined : json['ChannelId'], + 'channelName': !exists(json, 'ChannelName') ? undefined : json['ChannelName'], + 'overview': !exists(json, 'Overview') ? undefined : json['Overview'], + 'taglines': !exists(json, 'Taglines') ? undefined : json['Taglines'], + 'genres': !exists(json, 'Genres') ? undefined : json['Genres'], + 'communityRating': !exists(json, 'CommunityRating') ? undefined : json['CommunityRating'], + 'cumulativeRunTimeTicks': !exists(json, 'CumulativeRunTimeTicks') ? undefined : json['CumulativeRunTimeTicks'], + 'runTimeTicks': !exists(json, 'RunTimeTicks') ? undefined : json['RunTimeTicks'], + 'playAccess': !exists(json, 'PlayAccess') ? undefined : PlayAccessFromJSON(json['PlayAccess']), + 'aspectRatio': !exists(json, 'AspectRatio') ? undefined : json['AspectRatio'], + 'productionYear': !exists(json, 'ProductionYear') ? undefined : json['ProductionYear'], + 'isPlaceHolder': !exists(json, 'IsPlaceHolder') ? undefined : json['IsPlaceHolder'], + 'number': !exists(json, 'Number') ? undefined : json['Number'], + 'channelNumber': !exists(json, 'ChannelNumber') ? undefined : json['ChannelNumber'], + 'indexNumber': !exists(json, 'IndexNumber') ? undefined : json['IndexNumber'], + 'indexNumberEnd': !exists(json, 'IndexNumberEnd') ? undefined : json['IndexNumberEnd'], + 'parentIndexNumber': !exists(json, 'ParentIndexNumber') ? undefined : json['ParentIndexNumber'], + 'remoteTrailers': !exists(json, 'RemoteTrailers') ? undefined : (json['RemoteTrailers'] === null ? null : (json['RemoteTrailers'] as Array).map(MediaUrlFromJSON)), + 'providerIds': !exists(json, 'ProviderIds') ? undefined : json['ProviderIds'], + 'isHD': !exists(json, 'IsHD') ? undefined : json['IsHD'], + 'isFolder': !exists(json, 'IsFolder') ? undefined : json['IsFolder'], + 'parentId': !exists(json, 'ParentId') ? undefined : json['ParentId'], + 'type': !exists(json, 'Type') ? undefined : BaseItemKindFromJSON(json['Type']), + 'people': !exists(json, 'People') ? undefined : (json['People'] === null ? null : (json['People'] as Array).map(BaseItemPersonFromJSON)), + 'studios': !exists(json, 'Studios') ? undefined : (json['Studios'] === null ? null : (json['Studios'] as Array).map(NameGuidPairFromJSON)), + 'genreItems': !exists(json, 'GenreItems') ? undefined : (json['GenreItems'] === null ? null : (json['GenreItems'] as Array).map(NameGuidPairFromJSON)), + 'parentLogoItemId': !exists(json, 'ParentLogoItemId') ? undefined : json['ParentLogoItemId'], + 'parentBackdropItemId': !exists(json, 'ParentBackdropItemId') ? undefined : json['ParentBackdropItemId'], + 'parentBackdropImageTags': !exists(json, 'ParentBackdropImageTags') ? undefined : json['ParentBackdropImageTags'], + 'localTrailerCount': !exists(json, 'LocalTrailerCount') ? undefined : json['LocalTrailerCount'], + 'userData': !exists(json, 'UserData') ? undefined : BaseItemDtoUserDataFromJSON(json['UserData']), + 'recursiveItemCount': !exists(json, 'RecursiveItemCount') ? undefined : json['RecursiveItemCount'], + 'childCount': !exists(json, 'ChildCount') ? undefined : json['ChildCount'], + 'seriesName': !exists(json, 'SeriesName') ? undefined : json['SeriesName'], + 'seriesId': !exists(json, 'SeriesId') ? undefined : json['SeriesId'], + 'seasonId': !exists(json, 'SeasonId') ? undefined : json['SeasonId'], + 'specialFeatureCount': !exists(json, 'SpecialFeatureCount') ? undefined : json['SpecialFeatureCount'], + 'displayPreferencesId': !exists(json, 'DisplayPreferencesId') ? undefined : json['DisplayPreferencesId'], + 'status': !exists(json, 'Status') ? undefined : json['Status'], + 'airTime': !exists(json, 'AirTime') ? undefined : json['AirTime'], + 'airDays': !exists(json, 'AirDays') ? undefined : (json['AirDays'] === null ? null : (json['AirDays'] as Array).map(DayOfWeekFromJSON)), + 'tags': !exists(json, 'Tags') ? undefined : json['Tags'], + 'primaryImageAspectRatio': !exists(json, 'PrimaryImageAspectRatio') ? undefined : json['PrimaryImageAspectRatio'], + 'artists': !exists(json, 'Artists') ? undefined : json['Artists'], + 'artistItems': !exists(json, 'ArtistItems') ? undefined : (json['ArtistItems'] === null ? null : (json['ArtistItems'] as Array).map(NameGuidPairFromJSON)), + 'album': !exists(json, 'Album') ? undefined : json['Album'], + 'collectionType': !exists(json, 'CollectionType') ? undefined : json['CollectionType'], + 'displayOrder': !exists(json, 'DisplayOrder') ? undefined : json['DisplayOrder'], + 'albumId': !exists(json, 'AlbumId') ? undefined : json['AlbumId'], + 'albumPrimaryImageTag': !exists(json, 'AlbumPrimaryImageTag') ? undefined : json['AlbumPrimaryImageTag'], + 'seriesPrimaryImageTag': !exists(json, 'SeriesPrimaryImageTag') ? undefined : json['SeriesPrimaryImageTag'], + 'albumArtist': !exists(json, 'AlbumArtist') ? undefined : json['AlbumArtist'], + 'albumArtists': !exists(json, 'AlbumArtists') ? undefined : (json['AlbumArtists'] === null ? null : (json['AlbumArtists'] as Array).map(NameGuidPairFromJSON)), + 'seasonName': !exists(json, 'SeasonName') ? undefined : json['SeasonName'], + 'mediaStreams': !exists(json, 'MediaStreams') ? undefined : (json['MediaStreams'] === null ? null : (json['MediaStreams'] as Array).map(MediaStreamFromJSON)), + 'videoType': !exists(json, 'VideoType') ? undefined : VideoTypeFromJSON(json['VideoType']), + 'partCount': !exists(json, 'PartCount') ? undefined : json['PartCount'], + 'mediaSourceCount': !exists(json, 'MediaSourceCount') ? undefined : json['MediaSourceCount'], + 'imageTags': !exists(json, 'ImageTags') ? undefined : json['ImageTags'], + 'backdropImageTags': !exists(json, 'BackdropImageTags') ? undefined : json['BackdropImageTags'], + 'screenshotImageTags': !exists(json, 'ScreenshotImageTags') ? undefined : json['ScreenshotImageTags'], + 'parentLogoImageTag': !exists(json, 'ParentLogoImageTag') ? undefined : json['ParentLogoImageTag'], + 'parentArtItemId': !exists(json, 'ParentArtItemId') ? undefined : json['ParentArtItemId'], + 'parentArtImageTag': !exists(json, 'ParentArtImageTag') ? undefined : json['ParentArtImageTag'], + 'seriesThumbImageTag': !exists(json, 'SeriesThumbImageTag') ? undefined : json['SeriesThumbImageTag'], + 'imageBlurHashes': !exists(json, 'ImageBlurHashes') ? undefined : BaseItemDtoImageBlurHashesFromJSON(json['ImageBlurHashes']), + 'seriesStudio': !exists(json, 'SeriesStudio') ? undefined : json['SeriesStudio'], + 'parentThumbItemId': !exists(json, 'ParentThumbItemId') ? undefined : json['ParentThumbItemId'], + 'parentThumbImageTag': !exists(json, 'ParentThumbImageTag') ? undefined : json['ParentThumbImageTag'], + 'parentPrimaryImageItemId': !exists(json, 'ParentPrimaryImageItemId') ? undefined : json['ParentPrimaryImageItemId'], + 'parentPrimaryImageTag': !exists(json, 'ParentPrimaryImageTag') ? undefined : json['ParentPrimaryImageTag'], + 'chapters': !exists(json, 'Chapters') ? undefined : (json['Chapters'] === null ? null : (json['Chapters'] as Array).map(ChapterInfoFromJSON)), + 'locationType': !exists(json, 'LocationType') ? undefined : LocationTypeFromJSON(json['LocationType']), + 'isoType': !exists(json, 'IsoType') ? undefined : IsoTypeFromJSON(json['IsoType']), + 'mediaType': !exists(json, 'MediaType') ? undefined : json['MediaType'], + 'endDate': !exists(json, 'EndDate') ? undefined : (json['EndDate'] === null ? null : new Date(json['EndDate'])), + 'lockedFields': !exists(json, 'LockedFields') ? undefined : (json['LockedFields'] === null ? null : (json['LockedFields'] as Array).map(MetadataFieldFromJSON)), + 'trailerCount': !exists(json, 'TrailerCount') ? undefined : json['TrailerCount'], + 'movieCount': !exists(json, 'MovieCount') ? undefined : json['MovieCount'], + 'seriesCount': !exists(json, 'SeriesCount') ? undefined : json['SeriesCount'], + 'programCount': !exists(json, 'ProgramCount') ? undefined : json['ProgramCount'], + 'episodeCount': !exists(json, 'EpisodeCount') ? undefined : json['EpisodeCount'], + 'songCount': !exists(json, 'SongCount') ? undefined : json['SongCount'], + 'albumCount': !exists(json, 'AlbumCount') ? undefined : json['AlbumCount'], + 'artistCount': !exists(json, 'ArtistCount') ? undefined : json['ArtistCount'], + 'musicVideoCount': !exists(json, 'MusicVideoCount') ? undefined : json['MusicVideoCount'], + 'lockData': !exists(json, 'LockData') ? undefined : json['LockData'], + 'width': !exists(json, 'Width') ? undefined : json['Width'], + 'height': !exists(json, 'Height') ? undefined : json['Height'], + 'cameraMake': !exists(json, 'CameraMake') ? undefined : json['CameraMake'], + 'cameraModel': !exists(json, 'CameraModel') ? undefined : json['CameraModel'], + 'software': !exists(json, 'Software') ? undefined : json['Software'], + 'exposureTime': !exists(json, 'ExposureTime') ? undefined : json['ExposureTime'], + 'focalLength': !exists(json, 'FocalLength') ? undefined : json['FocalLength'], + 'imageOrientation': !exists(json, 'ImageOrientation') ? undefined : ImageOrientationFromJSON(json['ImageOrientation']), + 'aperture': !exists(json, 'Aperture') ? undefined : json['Aperture'], + 'shutterSpeed': !exists(json, 'ShutterSpeed') ? undefined : json['ShutterSpeed'], + 'latitude': !exists(json, 'Latitude') ? undefined : json['Latitude'], + 'longitude': !exists(json, 'Longitude') ? undefined : json['Longitude'], + 'altitude': !exists(json, 'Altitude') ? undefined : json['Altitude'], + 'isoSpeedRating': !exists(json, 'IsoSpeedRating') ? undefined : json['IsoSpeedRating'], + 'seriesTimerId': !exists(json, 'SeriesTimerId') ? undefined : json['SeriesTimerId'], + 'programId': !exists(json, 'ProgramId') ? undefined : json['ProgramId'], + 'channelPrimaryImageTag': !exists(json, 'ChannelPrimaryImageTag') ? undefined : json['ChannelPrimaryImageTag'], + 'startDate': !exists(json, 'StartDate') ? undefined : (json['StartDate'] === null ? null : new Date(json['StartDate'])), + 'completionPercentage': !exists(json, 'CompletionPercentage') ? undefined : json['CompletionPercentage'], + 'isRepeat': !exists(json, 'IsRepeat') ? undefined : json['IsRepeat'], + 'episodeTitle': !exists(json, 'EpisodeTitle') ? undefined : json['EpisodeTitle'], + 'channelType': !exists(json, 'ChannelType') ? undefined : ChannelTypeFromJSON(json['ChannelType']), + 'audio': !exists(json, 'Audio') ? undefined : ProgramAudioFromJSON(json['Audio']), + 'isMovie': !exists(json, 'IsMovie') ? undefined : json['IsMovie'], + 'isSports': !exists(json, 'IsSports') ? undefined : json['IsSports'], + 'isSeries': !exists(json, 'IsSeries') ? undefined : json['IsSeries'], + 'isLive': !exists(json, 'IsLive') ? undefined : json['IsLive'], + 'isNews': !exists(json, 'IsNews') ? undefined : json['IsNews'], + 'isKids': !exists(json, 'IsKids') ? undefined : json['IsKids'], + 'isPremiere': !exists(json, 'IsPremiere') ? undefined : json['IsPremiere'], + 'timerId': !exists(json, 'TimerId') ? undefined : json['TimerId'], + 'currentProgram': !exists(json, 'CurrentProgram') ? undefined : BaseItemDtoCurrentProgramFromJSON(json['CurrentProgram']), + }; +} + +export function BaseItemDtoCurrentProgramToJSON(value?: BaseItemDtoCurrentProgram | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'OriginalTitle': value.originalTitle, + 'ServerId': value.serverId, + 'Id': value.id, + 'Etag': value.etag, + 'SourceType': value.sourceType, + 'PlaylistItemId': value.playlistItemId, + 'DateCreated': value.dateCreated === undefined ? undefined : (value.dateCreated === null ? null : value.dateCreated.toISOString()), + 'DateLastMediaAdded': value.dateLastMediaAdded === undefined ? undefined : (value.dateLastMediaAdded === null ? null : value.dateLastMediaAdded.toISOString()), + 'ExtraType': value.extraType, + 'AirsBeforeSeasonNumber': value.airsBeforeSeasonNumber, + 'AirsAfterSeasonNumber': value.airsAfterSeasonNumber, + 'AirsBeforeEpisodeNumber': value.airsBeforeEpisodeNumber, + 'CanDelete': value.canDelete, + 'CanDownload': value.canDownload, + 'HasSubtitles': value.hasSubtitles, + 'PreferredMetadataLanguage': value.preferredMetadataLanguage, + 'PreferredMetadataCountryCode': value.preferredMetadataCountryCode, + 'SupportsSync': value.supportsSync, + 'Container': value.container, + 'SortName': value.sortName, + 'ForcedSortName': value.forcedSortName, + 'Video3DFormat': Video3DFormatToJSON(value.video3DFormat), + 'PremiereDate': value.premiereDate === undefined ? undefined : (value.premiereDate === null ? null : value.premiereDate.toISOString()), + 'ExternalUrls': value.externalUrls === undefined ? undefined : (value.externalUrls === null ? null : (value.externalUrls as Array).map(ExternalUrlToJSON)), + 'MediaSources': value.mediaSources === undefined ? undefined : (value.mediaSources === null ? null : (value.mediaSources as Array).map(MediaSourceInfoToJSON)), + 'CriticRating': value.criticRating, + 'ProductionLocations': value.productionLocations, + 'Path': value.path, + 'EnableMediaSourceDisplay': value.enableMediaSourceDisplay, + 'OfficialRating': value.officialRating, + 'CustomRating': value.customRating, + 'ChannelId': value.channelId, + 'ChannelName': value.channelName, + 'Overview': value.overview, + 'Taglines': value.taglines, + 'Genres': value.genres, + 'CommunityRating': value.communityRating, + 'CumulativeRunTimeTicks': value.cumulativeRunTimeTicks, + 'RunTimeTicks': value.runTimeTicks, + 'PlayAccess': PlayAccessToJSON(value.playAccess), + 'AspectRatio': value.aspectRatio, + 'ProductionYear': value.productionYear, + 'IsPlaceHolder': value.isPlaceHolder, + 'Number': value.number, + 'ChannelNumber': value.channelNumber, + 'IndexNumber': value.indexNumber, + 'IndexNumberEnd': value.indexNumberEnd, + 'ParentIndexNumber': value.parentIndexNumber, + 'RemoteTrailers': value.remoteTrailers === undefined ? undefined : (value.remoteTrailers === null ? null : (value.remoteTrailers as Array).map(MediaUrlToJSON)), + 'ProviderIds': value.providerIds, + 'IsHD': value.isHD, + 'IsFolder': value.isFolder, + 'ParentId': value.parentId, + 'Type': BaseItemKindToJSON(value.type), + 'People': value.people === undefined ? undefined : (value.people === null ? null : (value.people as Array).map(BaseItemPersonToJSON)), + 'Studios': value.studios === undefined ? undefined : (value.studios === null ? null : (value.studios as Array).map(NameGuidPairToJSON)), + 'GenreItems': value.genreItems === undefined ? undefined : (value.genreItems === null ? null : (value.genreItems as Array).map(NameGuidPairToJSON)), + 'ParentLogoItemId': value.parentLogoItemId, + 'ParentBackdropItemId': value.parentBackdropItemId, + 'ParentBackdropImageTags': value.parentBackdropImageTags, + 'LocalTrailerCount': value.localTrailerCount, + 'UserData': BaseItemDtoUserDataToJSON(value.userData), + 'RecursiveItemCount': value.recursiveItemCount, + 'ChildCount': value.childCount, + 'SeriesName': value.seriesName, + 'SeriesId': value.seriesId, + 'SeasonId': value.seasonId, + 'SpecialFeatureCount': value.specialFeatureCount, + 'DisplayPreferencesId': value.displayPreferencesId, + 'Status': value.status, + 'AirTime': value.airTime, + 'AirDays': value.airDays === undefined ? undefined : (value.airDays === null ? null : (value.airDays as Array).map(DayOfWeekToJSON)), + 'Tags': value.tags, + 'PrimaryImageAspectRatio': value.primaryImageAspectRatio, + 'Artists': value.artists, + 'ArtistItems': value.artistItems === undefined ? undefined : (value.artistItems === null ? null : (value.artistItems as Array).map(NameGuidPairToJSON)), + 'Album': value.album, + 'CollectionType': value.collectionType, + 'DisplayOrder': value.displayOrder, + 'AlbumId': value.albumId, + 'AlbumPrimaryImageTag': value.albumPrimaryImageTag, + 'SeriesPrimaryImageTag': value.seriesPrimaryImageTag, + 'AlbumArtist': value.albumArtist, + 'AlbumArtists': value.albumArtists === undefined ? undefined : (value.albumArtists === null ? null : (value.albumArtists as Array).map(NameGuidPairToJSON)), + 'SeasonName': value.seasonName, + 'MediaStreams': value.mediaStreams === undefined ? undefined : (value.mediaStreams === null ? null : (value.mediaStreams as Array).map(MediaStreamToJSON)), + 'VideoType': VideoTypeToJSON(value.videoType), + 'PartCount': value.partCount, + 'MediaSourceCount': value.mediaSourceCount, + 'ImageTags': value.imageTags, + 'BackdropImageTags': value.backdropImageTags, + 'ScreenshotImageTags': value.screenshotImageTags, + 'ParentLogoImageTag': value.parentLogoImageTag, + 'ParentArtItemId': value.parentArtItemId, + 'ParentArtImageTag': value.parentArtImageTag, + 'SeriesThumbImageTag': value.seriesThumbImageTag, + 'ImageBlurHashes': BaseItemDtoImageBlurHashesToJSON(value.imageBlurHashes), + 'SeriesStudio': value.seriesStudio, + 'ParentThumbItemId': value.parentThumbItemId, + 'ParentThumbImageTag': value.parentThumbImageTag, + 'ParentPrimaryImageItemId': value.parentPrimaryImageItemId, + 'ParentPrimaryImageTag': value.parentPrimaryImageTag, + 'Chapters': value.chapters === undefined ? undefined : (value.chapters === null ? null : (value.chapters as Array).map(ChapterInfoToJSON)), + 'LocationType': LocationTypeToJSON(value.locationType), + 'IsoType': IsoTypeToJSON(value.isoType), + 'MediaType': value.mediaType, + 'EndDate': value.endDate === undefined ? undefined : (value.endDate === null ? null : value.endDate.toISOString()), + 'LockedFields': value.lockedFields === undefined ? undefined : (value.lockedFields === null ? null : (value.lockedFields as Array).map(MetadataFieldToJSON)), + 'TrailerCount': value.trailerCount, + 'MovieCount': value.movieCount, + 'SeriesCount': value.seriesCount, + 'ProgramCount': value.programCount, + 'EpisodeCount': value.episodeCount, + 'SongCount': value.songCount, + 'AlbumCount': value.albumCount, + 'ArtistCount': value.artistCount, + 'MusicVideoCount': value.musicVideoCount, + 'LockData': value.lockData, + 'Width': value.width, + 'Height': value.height, + 'CameraMake': value.cameraMake, + 'CameraModel': value.cameraModel, + 'Software': value.software, + 'ExposureTime': value.exposureTime, + 'FocalLength': value.focalLength, + 'ImageOrientation': ImageOrientationToJSON(value.imageOrientation), + 'Aperture': value.aperture, + 'ShutterSpeed': value.shutterSpeed, + 'Latitude': value.latitude, + 'Longitude': value.longitude, + 'Altitude': value.altitude, + 'IsoSpeedRating': value.isoSpeedRating, + 'SeriesTimerId': value.seriesTimerId, + 'ProgramId': value.programId, + 'ChannelPrimaryImageTag': value.channelPrimaryImageTag, + 'StartDate': value.startDate === undefined ? undefined : (value.startDate === null ? null : value.startDate.toISOString()), + 'CompletionPercentage': value.completionPercentage, + 'IsRepeat': value.isRepeat, + 'EpisodeTitle': value.episodeTitle, + 'ChannelType': ChannelTypeToJSON(value.channelType), + 'Audio': ProgramAudioToJSON(value.audio), + 'IsMovie': value.isMovie, + 'IsSports': value.isSports, + 'IsSeries': value.isSeries, + 'IsLive': value.isLive, + 'IsNews': value.isNews, + 'IsKids': value.isKids, + 'IsPremiere': value.isPremiere, + 'TimerId': value.timerId, + 'CurrentProgram': BaseItemDtoCurrentProgramToJSON(value.currentProgram), + }; +} + diff --git a/server/jellyfin/models/BaseItemDtoImageBlurHashes.ts b/server/jellyfin/models/BaseItemDtoImageBlurHashes.ts new file mode 100644 index 0000000..8fcee37 --- /dev/null +++ b/server/jellyfin/models/BaseItemDtoImageBlurHashes.ts @@ -0,0 +1,162 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Gets or sets the blurhashes for the image tags. + * Maps image type to dictionary mapping image tag to blurhash value. + * @export + * @interface BaseItemDtoImageBlurHashes + */ +export interface BaseItemDtoImageBlurHashes { + /** + * + * @type {{ [key: string]: string; }} + * @memberof BaseItemDtoImageBlurHashes + */ + primary?: { [key: string]: string; }; + /** + * + * @type {{ [key: string]: string; }} + * @memberof BaseItemDtoImageBlurHashes + */ + art?: { [key: string]: string; }; + /** + * + * @type {{ [key: string]: string; }} + * @memberof BaseItemDtoImageBlurHashes + */ + backdrop?: { [key: string]: string; }; + /** + * + * @type {{ [key: string]: string; }} + * @memberof BaseItemDtoImageBlurHashes + */ + banner?: { [key: string]: string; }; + /** + * + * @type {{ [key: string]: string; }} + * @memberof BaseItemDtoImageBlurHashes + */ + logo?: { [key: string]: string; }; + /** + * + * @type {{ [key: string]: string; }} + * @memberof BaseItemDtoImageBlurHashes + */ + thumb?: { [key: string]: string; }; + /** + * + * @type {{ [key: string]: string; }} + * @memberof BaseItemDtoImageBlurHashes + */ + disc?: { [key: string]: string; }; + /** + * + * @type {{ [key: string]: string; }} + * @memberof BaseItemDtoImageBlurHashes + */ + box?: { [key: string]: string; }; + /** + * + * @type {{ [key: string]: string; }} + * @memberof BaseItemDtoImageBlurHashes + */ + screenshot?: { [key: string]: string; }; + /** + * + * @type {{ [key: string]: string; }} + * @memberof BaseItemDtoImageBlurHashes + */ + menu?: { [key: string]: string; }; + /** + * + * @type {{ [key: string]: string; }} + * @memberof BaseItemDtoImageBlurHashes + */ + chapter?: { [key: string]: string; }; + /** + * + * @type {{ [key: string]: string; }} + * @memberof BaseItemDtoImageBlurHashes + */ + boxRear?: { [key: string]: string; }; + /** + * + * @type {{ [key: string]: string; }} + * @memberof BaseItemDtoImageBlurHashes + */ + profile?: { [key: string]: string; }; +} + +/** + * Check if a given object implements the BaseItemDtoImageBlurHashes interface. + */ +export function instanceOfBaseItemDtoImageBlurHashes(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function BaseItemDtoImageBlurHashesFromJSON(json: any): BaseItemDtoImageBlurHashes { + return BaseItemDtoImageBlurHashesFromJSONTyped(json, false); +} + +export function BaseItemDtoImageBlurHashesFromJSONTyped(json: any, ignoreDiscriminator: boolean): BaseItemDtoImageBlurHashes { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'primary': !exists(json, 'Primary') ? undefined : json['Primary'], + 'art': !exists(json, 'Art') ? undefined : json['Art'], + 'backdrop': !exists(json, 'Backdrop') ? undefined : json['Backdrop'], + 'banner': !exists(json, 'Banner') ? undefined : json['Banner'], + 'logo': !exists(json, 'Logo') ? undefined : json['Logo'], + 'thumb': !exists(json, 'Thumb') ? undefined : json['Thumb'], + 'disc': !exists(json, 'Disc') ? undefined : json['Disc'], + 'box': !exists(json, 'Box') ? undefined : json['Box'], + 'screenshot': !exists(json, 'Screenshot') ? undefined : json['Screenshot'], + 'menu': !exists(json, 'Menu') ? undefined : json['Menu'], + 'chapter': !exists(json, 'Chapter') ? undefined : json['Chapter'], + 'boxRear': !exists(json, 'BoxRear') ? undefined : json['BoxRear'], + 'profile': !exists(json, 'Profile') ? undefined : json['Profile'], + }; +} + +export function BaseItemDtoImageBlurHashesToJSON(value?: BaseItemDtoImageBlurHashes | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Primary': value.primary, + 'Art': value.art, + 'Backdrop': value.backdrop, + 'Banner': value.banner, + 'Logo': value.logo, + 'Thumb': value.thumb, + 'Disc': value.disc, + 'Box': value.box, + 'Screenshot': value.screenshot, + 'Menu': value.menu, + 'Chapter': value.chapter, + 'BoxRear': value.boxRear, + 'Profile': value.profile, + }; +} + diff --git a/server/jellyfin/models/BaseItemDtoQueryResult.ts b/server/jellyfin/models/BaseItemDtoQueryResult.ts new file mode 100644 index 0000000..b1bc062 --- /dev/null +++ b/server/jellyfin/models/BaseItemDtoQueryResult.ts @@ -0,0 +1,88 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { BaseItemDto } from './BaseItemDto'; +import { + BaseItemDtoFromJSON, + BaseItemDtoFromJSONTyped, + BaseItemDtoToJSON, +} from './BaseItemDto'; + +/** + * + * @export + * @interface BaseItemDtoQueryResult + */ +export interface BaseItemDtoQueryResult { + /** + * Gets or sets the items. + * @type {Array} + * @memberof BaseItemDtoQueryResult + */ + items?: Array | null; + /** + * Gets or sets the total number of records available. + * @type {number} + * @memberof BaseItemDtoQueryResult + */ + totalRecordCount?: number; + /** + * Gets or sets the index of the first record in Items. + * @type {number} + * @memberof BaseItemDtoQueryResult + */ + startIndex?: number; +} + +/** + * Check if a given object implements the BaseItemDtoQueryResult interface. + */ +export function instanceOfBaseItemDtoQueryResult(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function BaseItemDtoQueryResultFromJSON(json: any): BaseItemDtoQueryResult { + return BaseItemDtoQueryResultFromJSONTyped(json, false); +} + +export function BaseItemDtoQueryResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): BaseItemDtoQueryResult { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'items': !exists(json, 'Items') ? undefined : (json['Items'] === null ? null : (json['Items'] as Array).map(BaseItemDtoFromJSON)), + 'totalRecordCount': !exists(json, 'TotalRecordCount') ? undefined : json['TotalRecordCount'], + 'startIndex': !exists(json, 'StartIndex') ? undefined : json['StartIndex'], + }; +} + +export function BaseItemDtoQueryResultToJSON(value?: BaseItemDtoQueryResult | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Items': value.items === undefined ? undefined : (value.items === null ? null : (value.items as Array).map(BaseItemDtoToJSON)), + 'TotalRecordCount': value.totalRecordCount, + 'StartIndex': value.startIndex, + }; +} + diff --git a/server/jellyfin/models/BaseItemDtoUserData.ts b/server/jellyfin/models/BaseItemDtoUserData.ts new file mode 100644 index 0000000..489a388 --- /dev/null +++ b/server/jellyfin/models/BaseItemDtoUserData.ts @@ -0,0 +1,145 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Gets or sets the user data for this item based on the user it's being requested for. + * @export + * @interface BaseItemDtoUserData + */ +export interface BaseItemDtoUserData { + /** + * Gets or sets the rating. + * @type {number} + * @memberof BaseItemDtoUserData + */ + rating?: number | null; + /** + * Gets or sets the played percentage. + * @type {number} + * @memberof BaseItemDtoUserData + */ + playedPercentage?: number | null; + /** + * Gets or sets the unplayed item count. + * @type {number} + * @memberof BaseItemDtoUserData + */ + unplayedItemCount?: number | null; + /** + * Gets or sets the playback position ticks. + * @type {number} + * @memberof BaseItemDtoUserData + */ + playbackPositionTicks?: number; + /** + * Gets or sets the play count. + * @type {number} + * @memberof BaseItemDtoUserData + */ + playCount?: number; + /** + * Gets or sets a value indicating whether this instance is favorite. + * @type {boolean} + * @memberof BaseItemDtoUserData + */ + isFavorite?: boolean; + /** + * Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UserItemDataDto is likes. + * @type {boolean} + * @memberof BaseItemDtoUserData + */ + likes?: boolean | null; + /** + * Gets or sets the last played date. + * @type {Date} + * @memberof BaseItemDtoUserData + */ + lastPlayedDate?: Date | null; + /** + * Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UserItemDataDto is played. + * @type {boolean} + * @memberof BaseItemDtoUserData + */ + played?: boolean; + /** + * Gets or sets the key. + * @type {string} + * @memberof BaseItemDtoUserData + */ + key?: string | null; + /** + * Gets or sets the item identifier. + * @type {string} + * @memberof BaseItemDtoUserData + */ + itemId?: string | null; +} + +/** + * Check if a given object implements the BaseItemDtoUserData interface. + */ +export function instanceOfBaseItemDtoUserData(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function BaseItemDtoUserDataFromJSON(json: any): BaseItemDtoUserData { + return BaseItemDtoUserDataFromJSONTyped(json, false); +} + +export function BaseItemDtoUserDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): BaseItemDtoUserData { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'rating': !exists(json, 'Rating') ? undefined : json['Rating'], + 'playedPercentage': !exists(json, 'PlayedPercentage') ? undefined : json['PlayedPercentage'], + 'unplayedItemCount': !exists(json, 'UnplayedItemCount') ? undefined : json['UnplayedItemCount'], + 'playbackPositionTicks': !exists(json, 'PlaybackPositionTicks') ? undefined : json['PlaybackPositionTicks'], + 'playCount': !exists(json, 'PlayCount') ? undefined : json['PlayCount'], + 'isFavorite': !exists(json, 'IsFavorite') ? undefined : json['IsFavorite'], + 'likes': !exists(json, 'Likes') ? undefined : json['Likes'], + 'lastPlayedDate': !exists(json, 'LastPlayedDate') ? undefined : (json['LastPlayedDate'] === null ? null : new Date(json['LastPlayedDate'])), + 'played': !exists(json, 'Played') ? undefined : json['Played'], + 'key': !exists(json, 'Key') ? undefined : json['Key'], + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + }; +} + +export function BaseItemDtoUserDataToJSON(value?: BaseItemDtoUserData | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Rating': value.rating, + 'PlayedPercentage': value.playedPercentage, + 'UnplayedItemCount': value.unplayedItemCount, + 'PlaybackPositionTicks': value.playbackPositionTicks, + 'PlayCount': value.playCount, + 'IsFavorite': value.isFavorite, + 'Likes': value.likes, + 'LastPlayedDate': value.lastPlayedDate === undefined ? undefined : (value.lastPlayedDate === null ? null : value.lastPlayedDate.toISOString()), + 'Played': value.played, + 'Key': value.key, + 'ItemId': value.itemId, + }; +} + diff --git a/server/jellyfin/models/BaseItemKind.ts b/server/jellyfin/models/BaseItemKind.ts new file mode 100644 index 0000000..ad5b112 --- /dev/null +++ b/server/jellyfin/models/BaseItemKind.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * The base item kind. + * @export + */ +export const BaseItemKind = { + AggregateFolder: 'AggregateFolder', + Audio: 'Audio', + AudioBook: 'AudioBook', + BasePluginFolder: 'BasePluginFolder', + Book: 'Book', + BoxSet: 'BoxSet', + Channel: 'Channel', + ChannelFolderItem: 'ChannelFolderItem', + CollectionFolder: 'CollectionFolder', + Episode: 'Episode', + Folder: 'Folder', + Genre: 'Genre', + ManualPlaylistsFolder: 'ManualPlaylistsFolder', + Movie: 'Movie', + LiveTvChannel: 'LiveTvChannel', + LiveTvProgram: 'LiveTvProgram', + MusicAlbum: 'MusicAlbum', + MusicArtist: 'MusicArtist', + MusicGenre: 'MusicGenre', + MusicVideo: 'MusicVideo', + Person: 'Person', + Photo: 'Photo', + PhotoAlbum: 'PhotoAlbum', + Playlist: 'Playlist', + PlaylistsFolder: 'PlaylistsFolder', + Program: 'Program', + Recording: 'Recording', + Season: 'Season', + Series: 'Series', + Studio: 'Studio', + Trailer: 'Trailer', + TvChannel: 'TvChannel', + TvProgram: 'TvProgram', + UserRootFolder: 'UserRootFolder', + UserView: 'UserView', + Video: 'Video', + Year: 'Year' +} as const; +export type BaseItemKind = typeof BaseItemKind[keyof typeof BaseItemKind]; + + +export function BaseItemKindFromJSON(json: any): BaseItemKind { + return BaseItemKindFromJSONTyped(json, false); +} + +export function BaseItemKindFromJSONTyped(json: any, ignoreDiscriminator: boolean): BaseItemKind { + return json as BaseItemKind; +} + +export function BaseItemKindToJSON(value?: BaseItemKind | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/BaseItemPerson.ts b/server/jellyfin/models/BaseItemPerson.ts new file mode 100644 index 0000000..1b37deb --- /dev/null +++ b/server/jellyfin/models/BaseItemPerson.ts @@ -0,0 +1,112 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { BaseItemPersonImageBlurHashes } from './BaseItemPersonImageBlurHashes'; +import { + BaseItemPersonImageBlurHashesFromJSON, + BaseItemPersonImageBlurHashesFromJSONTyped, + BaseItemPersonImageBlurHashesToJSON, +} from './BaseItemPersonImageBlurHashes'; + +/** + * This is used by the api to get information about a Person within a BaseItem. + * @export + * @interface BaseItemPerson + */ +export interface BaseItemPerson { + /** + * Gets or sets the name. + * @type {string} + * @memberof BaseItemPerson + */ + name?: string | null; + /** + * Gets or sets the identifier. + * @type {string} + * @memberof BaseItemPerson + */ + id?: string; + /** + * Gets or sets the role. + * @type {string} + * @memberof BaseItemPerson + */ + role?: string | null; + /** + * Gets or sets the type. + * @type {string} + * @memberof BaseItemPerson + */ + type?: string | null; + /** + * Gets or sets the primary image tag. + * @type {string} + * @memberof BaseItemPerson + */ + primaryImageTag?: string | null; + /** + * + * @type {BaseItemPersonImageBlurHashes} + * @memberof BaseItemPerson + */ + imageBlurHashes?: BaseItemPersonImageBlurHashes | null; +} + +/** + * Check if a given object implements the BaseItemPerson interface. + */ +export function instanceOfBaseItemPerson(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function BaseItemPersonFromJSON(json: any): BaseItemPerson { + return BaseItemPersonFromJSONTyped(json, false); +} + +export function BaseItemPersonFromJSONTyped(json: any, ignoreDiscriminator: boolean): BaseItemPerson { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'role': !exists(json, 'Role') ? undefined : json['Role'], + 'type': !exists(json, 'Type') ? undefined : json['Type'], + 'primaryImageTag': !exists(json, 'PrimaryImageTag') ? undefined : json['PrimaryImageTag'], + 'imageBlurHashes': !exists(json, 'ImageBlurHashes') ? undefined : BaseItemPersonImageBlurHashesFromJSON(json['ImageBlurHashes']), + }; +} + +export function BaseItemPersonToJSON(value?: BaseItemPerson | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Id': value.id, + 'Role': value.role, + 'Type': value.type, + 'PrimaryImageTag': value.primaryImageTag, + 'ImageBlurHashes': BaseItemPersonImageBlurHashesToJSON(value.imageBlurHashes), + }; +} + diff --git a/server/jellyfin/models/BaseItemPersonImageBlurHashes.ts b/server/jellyfin/models/BaseItemPersonImageBlurHashes.ts new file mode 100644 index 0000000..c075eb7 --- /dev/null +++ b/server/jellyfin/models/BaseItemPersonImageBlurHashes.ts @@ -0,0 +1,161 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Gets or sets the primary image blurhash. + * @export + * @interface BaseItemPersonImageBlurHashes + */ +export interface BaseItemPersonImageBlurHashes { + /** + * + * @type {{ [key: string]: string; }} + * @memberof BaseItemPersonImageBlurHashes + */ + primary?: { [key: string]: string; }; + /** + * + * @type {{ [key: string]: string; }} + * @memberof BaseItemPersonImageBlurHashes + */ + art?: { [key: string]: string; }; + /** + * + * @type {{ [key: string]: string; }} + * @memberof BaseItemPersonImageBlurHashes + */ + backdrop?: { [key: string]: string; }; + /** + * + * @type {{ [key: string]: string; }} + * @memberof BaseItemPersonImageBlurHashes + */ + banner?: { [key: string]: string; }; + /** + * + * @type {{ [key: string]: string; }} + * @memberof BaseItemPersonImageBlurHashes + */ + logo?: { [key: string]: string; }; + /** + * + * @type {{ [key: string]: string; }} + * @memberof BaseItemPersonImageBlurHashes + */ + thumb?: { [key: string]: string; }; + /** + * + * @type {{ [key: string]: string; }} + * @memberof BaseItemPersonImageBlurHashes + */ + disc?: { [key: string]: string; }; + /** + * + * @type {{ [key: string]: string; }} + * @memberof BaseItemPersonImageBlurHashes + */ + box?: { [key: string]: string; }; + /** + * + * @type {{ [key: string]: string; }} + * @memberof BaseItemPersonImageBlurHashes + */ + screenshot?: { [key: string]: string; }; + /** + * + * @type {{ [key: string]: string; }} + * @memberof BaseItemPersonImageBlurHashes + */ + menu?: { [key: string]: string; }; + /** + * + * @type {{ [key: string]: string; }} + * @memberof BaseItemPersonImageBlurHashes + */ + chapter?: { [key: string]: string; }; + /** + * + * @type {{ [key: string]: string; }} + * @memberof BaseItemPersonImageBlurHashes + */ + boxRear?: { [key: string]: string; }; + /** + * + * @type {{ [key: string]: string; }} + * @memberof BaseItemPersonImageBlurHashes + */ + profile?: { [key: string]: string; }; +} + +/** + * Check if a given object implements the BaseItemPersonImageBlurHashes interface. + */ +export function instanceOfBaseItemPersonImageBlurHashes(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function BaseItemPersonImageBlurHashesFromJSON(json: any): BaseItemPersonImageBlurHashes { + return BaseItemPersonImageBlurHashesFromJSONTyped(json, false); +} + +export function BaseItemPersonImageBlurHashesFromJSONTyped(json: any, ignoreDiscriminator: boolean): BaseItemPersonImageBlurHashes { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'primary': !exists(json, 'Primary') ? undefined : json['Primary'], + 'art': !exists(json, 'Art') ? undefined : json['Art'], + 'backdrop': !exists(json, 'Backdrop') ? undefined : json['Backdrop'], + 'banner': !exists(json, 'Banner') ? undefined : json['Banner'], + 'logo': !exists(json, 'Logo') ? undefined : json['Logo'], + 'thumb': !exists(json, 'Thumb') ? undefined : json['Thumb'], + 'disc': !exists(json, 'Disc') ? undefined : json['Disc'], + 'box': !exists(json, 'Box') ? undefined : json['Box'], + 'screenshot': !exists(json, 'Screenshot') ? undefined : json['Screenshot'], + 'menu': !exists(json, 'Menu') ? undefined : json['Menu'], + 'chapter': !exists(json, 'Chapter') ? undefined : json['Chapter'], + 'boxRear': !exists(json, 'BoxRear') ? undefined : json['BoxRear'], + 'profile': !exists(json, 'Profile') ? undefined : json['Profile'], + }; +} + +export function BaseItemPersonImageBlurHashesToJSON(value?: BaseItemPersonImageBlurHashes | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Primary': value.primary, + 'Art': value.art, + 'Backdrop': value.backdrop, + 'Banner': value.banner, + 'Logo': value.logo, + 'Thumb': value.thumb, + 'Disc': value.disc, + 'Box': value.box, + 'Screenshot': value.screenshot, + 'Menu': value.menu, + 'Chapter': value.chapter, + 'BoxRear': value.boxRear, + 'Profile': value.profile, + }; +} + diff --git a/server/jellyfin/models/BookInfo.ts b/server/jellyfin/models/BookInfo.ts new file mode 100644 index 0000000..ca98392 --- /dev/null +++ b/server/jellyfin/models/BookInfo.ts @@ -0,0 +1,153 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface BookInfo + */ +export interface BookInfo { + /** + * Gets or sets the name. + * @type {string} + * @memberof BookInfo + */ + name?: string | null; + /** + * Gets or sets the original title. + * @type {string} + * @memberof BookInfo + */ + originalTitle?: string | null; + /** + * Gets or sets the path. + * @type {string} + * @memberof BookInfo + */ + path?: string | null; + /** + * Gets or sets the metadata language. + * @type {string} + * @memberof BookInfo + */ + metadataLanguage?: string | null; + /** + * Gets or sets the metadata country code. + * @type {string} + * @memberof BookInfo + */ + metadataCountryCode?: string | null; + /** + * Gets or sets the provider ids. + * @type {{ [key: string]: string; }} + * @memberof BookInfo + */ + providerIds?: { [key: string]: string; } | null; + /** + * Gets or sets the year. + * @type {number} + * @memberof BookInfo + */ + year?: number | null; + /** + * + * @type {number} + * @memberof BookInfo + */ + indexNumber?: number | null; + /** + * + * @type {number} + * @memberof BookInfo + */ + parentIndexNumber?: number | null; + /** + * + * @type {Date} + * @memberof BookInfo + */ + premiereDate?: Date | null; + /** + * + * @type {boolean} + * @memberof BookInfo + */ + isAutomated?: boolean; + /** + * + * @type {string} + * @memberof BookInfo + */ + seriesName?: string | null; +} + +/** + * Check if a given object implements the BookInfo interface. + */ +export function instanceOfBookInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function BookInfoFromJSON(json: any): BookInfo { + return BookInfoFromJSONTyped(json, false); +} + +export function BookInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): BookInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'originalTitle': !exists(json, 'OriginalTitle') ? undefined : json['OriginalTitle'], + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'metadataLanguage': !exists(json, 'MetadataLanguage') ? undefined : json['MetadataLanguage'], + 'metadataCountryCode': !exists(json, 'MetadataCountryCode') ? undefined : json['MetadataCountryCode'], + 'providerIds': !exists(json, 'ProviderIds') ? undefined : json['ProviderIds'], + 'year': !exists(json, 'Year') ? undefined : json['Year'], + 'indexNumber': !exists(json, 'IndexNumber') ? undefined : json['IndexNumber'], + 'parentIndexNumber': !exists(json, 'ParentIndexNumber') ? undefined : json['ParentIndexNumber'], + 'premiereDate': !exists(json, 'PremiereDate') ? undefined : (json['PremiereDate'] === null ? null : new Date(json['PremiereDate'])), + 'isAutomated': !exists(json, 'IsAutomated') ? undefined : json['IsAutomated'], + 'seriesName': !exists(json, 'SeriesName') ? undefined : json['SeriesName'], + }; +} + +export function BookInfoToJSON(value?: BookInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'OriginalTitle': value.originalTitle, + 'Path': value.path, + 'MetadataLanguage': value.metadataLanguage, + 'MetadataCountryCode': value.metadataCountryCode, + 'ProviderIds': value.providerIds, + 'Year': value.year, + 'IndexNumber': value.indexNumber, + 'ParentIndexNumber': value.parentIndexNumber, + 'PremiereDate': value.premiereDate === undefined ? undefined : (value.premiereDate === null ? null : value.premiereDate.toISOString()), + 'IsAutomated': value.isAutomated, + 'SeriesName': value.seriesName, + }; +} + diff --git a/server/jellyfin/models/BookInfoRemoteSearchQuery.ts b/server/jellyfin/models/BookInfoRemoteSearchQuery.ts new file mode 100644 index 0000000..2d22633 --- /dev/null +++ b/server/jellyfin/models/BookInfoRemoteSearchQuery.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { BookInfo } from './BookInfo'; +import { + BookInfoFromJSON, + BookInfoFromJSONTyped, + BookInfoToJSON, +} from './BookInfo'; + +/** + * + * @export + * @interface BookInfoRemoteSearchQuery + */ +export interface BookInfoRemoteSearchQuery { + /** + * + * @type {BookInfo} + * @memberof BookInfoRemoteSearchQuery + */ + searchInfo?: BookInfo | null; + /** + * + * @type {string} + * @memberof BookInfoRemoteSearchQuery + */ + itemId?: string; + /** + * Gets or sets the provider name to search within if set. + * @type {string} + * @memberof BookInfoRemoteSearchQuery + */ + searchProviderName?: string | null; + /** + * Gets or sets a value indicating whether disabled providers should be included. + * @type {boolean} + * @memberof BookInfoRemoteSearchQuery + */ + includeDisabledProviders?: boolean; +} + +/** + * Check if a given object implements the BookInfoRemoteSearchQuery interface. + */ +export function instanceOfBookInfoRemoteSearchQuery(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function BookInfoRemoteSearchQueryFromJSON(json: any): BookInfoRemoteSearchQuery { + return BookInfoRemoteSearchQueryFromJSONTyped(json, false); +} + +export function BookInfoRemoteSearchQueryFromJSONTyped(json: any, ignoreDiscriminator: boolean): BookInfoRemoteSearchQuery { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'searchInfo': !exists(json, 'SearchInfo') ? undefined : BookInfoFromJSON(json['SearchInfo']), + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'searchProviderName': !exists(json, 'SearchProviderName') ? undefined : json['SearchProviderName'], + 'includeDisabledProviders': !exists(json, 'IncludeDisabledProviders') ? undefined : json['IncludeDisabledProviders'], + }; +} + +export function BookInfoRemoteSearchQueryToJSON(value?: BookInfoRemoteSearchQuery | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'SearchInfo': BookInfoToJSON(value.searchInfo), + 'ItemId': value.itemId, + 'SearchProviderName': value.searchProviderName, + 'IncludeDisabledProviders': value.includeDisabledProviders, + }; +} + diff --git a/server/jellyfin/models/BoxSetInfo.ts b/server/jellyfin/models/BoxSetInfo.ts new file mode 100644 index 0000000..dbec792 --- /dev/null +++ b/server/jellyfin/models/BoxSetInfo.ts @@ -0,0 +1,145 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface BoxSetInfo + */ +export interface BoxSetInfo { + /** + * Gets or sets the name. + * @type {string} + * @memberof BoxSetInfo + */ + name?: string | null; + /** + * Gets or sets the original title. + * @type {string} + * @memberof BoxSetInfo + */ + originalTitle?: string | null; + /** + * Gets or sets the path. + * @type {string} + * @memberof BoxSetInfo + */ + path?: string | null; + /** + * Gets or sets the metadata language. + * @type {string} + * @memberof BoxSetInfo + */ + metadataLanguage?: string | null; + /** + * Gets or sets the metadata country code. + * @type {string} + * @memberof BoxSetInfo + */ + metadataCountryCode?: string | null; + /** + * Gets or sets the provider ids. + * @type {{ [key: string]: string; }} + * @memberof BoxSetInfo + */ + providerIds?: { [key: string]: string; } | null; + /** + * Gets or sets the year. + * @type {number} + * @memberof BoxSetInfo + */ + year?: number | null; + /** + * + * @type {number} + * @memberof BoxSetInfo + */ + indexNumber?: number | null; + /** + * + * @type {number} + * @memberof BoxSetInfo + */ + parentIndexNumber?: number | null; + /** + * + * @type {Date} + * @memberof BoxSetInfo + */ + premiereDate?: Date | null; + /** + * + * @type {boolean} + * @memberof BoxSetInfo + */ + isAutomated?: boolean; +} + +/** + * Check if a given object implements the BoxSetInfo interface. + */ +export function instanceOfBoxSetInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function BoxSetInfoFromJSON(json: any): BoxSetInfo { + return BoxSetInfoFromJSONTyped(json, false); +} + +export function BoxSetInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): BoxSetInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'originalTitle': !exists(json, 'OriginalTitle') ? undefined : json['OriginalTitle'], + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'metadataLanguage': !exists(json, 'MetadataLanguage') ? undefined : json['MetadataLanguage'], + 'metadataCountryCode': !exists(json, 'MetadataCountryCode') ? undefined : json['MetadataCountryCode'], + 'providerIds': !exists(json, 'ProviderIds') ? undefined : json['ProviderIds'], + 'year': !exists(json, 'Year') ? undefined : json['Year'], + 'indexNumber': !exists(json, 'IndexNumber') ? undefined : json['IndexNumber'], + 'parentIndexNumber': !exists(json, 'ParentIndexNumber') ? undefined : json['ParentIndexNumber'], + 'premiereDate': !exists(json, 'PremiereDate') ? undefined : (json['PremiereDate'] === null ? null : new Date(json['PremiereDate'])), + 'isAutomated': !exists(json, 'IsAutomated') ? undefined : json['IsAutomated'], + }; +} + +export function BoxSetInfoToJSON(value?: BoxSetInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'OriginalTitle': value.originalTitle, + 'Path': value.path, + 'MetadataLanguage': value.metadataLanguage, + 'MetadataCountryCode': value.metadataCountryCode, + 'ProviderIds': value.providerIds, + 'Year': value.year, + 'IndexNumber': value.indexNumber, + 'ParentIndexNumber': value.parentIndexNumber, + 'PremiereDate': value.premiereDate === undefined ? undefined : (value.premiereDate === null ? null : value.premiereDate.toISOString()), + 'IsAutomated': value.isAutomated, + }; +} + diff --git a/server/jellyfin/models/BoxSetInfoRemoteSearchQuery.ts b/server/jellyfin/models/BoxSetInfoRemoteSearchQuery.ts new file mode 100644 index 0000000..06f6e31 --- /dev/null +++ b/server/jellyfin/models/BoxSetInfoRemoteSearchQuery.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { BoxSetInfo } from './BoxSetInfo'; +import { + BoxSetInfoFromJSON, + BoxSetInfoFromJSONTyped, + BoxSetInfoToJSON, +} from './BoxSetInfo'; + +/** + * + * @export + * @interface BoxSetInfoRemoteSearchQuery + */ +export interface BoxSetInfoRemoteSearchQuery { + /** + * + * @type {BoxSetInfo} + * @memberof BoxSetInfoRemoteSearchQuery + */ + searchInfo?: BoxSetInfo | null; + /** + * + * @type {string} + * @memberof BoxSetInfoRemoteSearchQuery + */ + itemId?: string; + /** + * Gets or sets the provider name to search within if set. + * @type {string} + * @memberof BoxSetInfoRemoteSearchQuery + */ + searchProviderName?: string | null; + /** + * Gets or sets a value indicating whether disabled providers should be included. + * @type {boolean} + * @memberof BoxSetInfoRemoteSearchQuery + */ + includeDisabledProviders?: boolean; +} + +/** + * Check if a given object implements the BoxSetInfoRemoteSearchQuery interface. + */ +export function instanceOfBoxSetInfoRemoteSearchQuery(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function BoxSetInfoRemoteSearchQueryFromJSON(json: any): BoxSetInfoRemoteSearchQuery { + return BoxSetInfoRemoteSearchQueryFromJSONTyped(json, false); +} + +export function BoxSetInfoRemoteSearchQueryFromJSONTyped(json: any, ignoreDiscriminator: boolean): BoxSetInfoRemoteSearchQuery { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'searchInfo': !exists(json, 'SearchInfo') ? undefined : BoxSetInfoFromJSON(json['SearchInfo']), + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'searchProviderName': !exists(json, 'SearchProviderName') ? undefined : json['SearchProviderName'], + 'includeDisabledProviders': !exists(json, 'IncludeDisabledProviders') ? undefined : json['IncludeDisabledProviders'], + }; +} + +export function BoxSetInfoRemoteSearchQueryToJSON(value?: BoxSetInfoRemoteSearchQuery | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'SearchInfo': BoxSetInfoToJSON(value.searchInfo), + 'ItemId': value.itemId, + 'SearchProviderName': value.searchProviderName, + 'IncludeDisabledProviders': value.includeDisabledProviders, + }; +} + diff --git a/server/jellyfin/models/BrandingOptions.ts b/server/jellyfin/models/BrandingOptions.ts new file mode 100644 index 0000000..6b74a06 --- /dev/null +++ b/server/jellyfin/models/BrandingOptions.ts @@ -0,0 +1,81 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * The branding options. + * @export + * @interface BrandingOptions + */ +export interface BrandingOptions { + /** + * Gets or sets the login disclaimer. + * @type {string} + * @memberof BrandingOptions + */ + loginDisclaimer?: string | null; + /** + * Gets or sets the custom CSS. + * @type {string} + * @memberof BrandingOptions + */ + customCss?: string | null; + /** + * Gets or sets a value indicating whether to enable the splashscreen. + * @type {boolean} + * @memberof BrandingOptions + */ + splashscreenEnabled?: boolean; +} + +/** + * Check if a given object implements the BrandingOptions interface. + */ +export function instanceOfBrandingOptions(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function BrandingOptionsFromJSON(json: any): BrandingOptions { + return BrandingOptionsFromJSONTyped(json, false); +} + +export function BrandingOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): BrandingOptions { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'loginDisclaimer': !exists(json, 'LoginDisclaimer') ? undefined : json['LoginDisclaimer'], + 'customCss': !exists(json, 'CustomCss') ? undefined : json['CustomCss'], + 'splashscreenEnabled': !exists(json, 'SplashscreenEnabled') ? undefined : json['SplashscreenEnabled'], + }; +} + +export function BrandingOptionsToJSON(value?: BrandingOptions | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'LoginDisclaimer': value.loginDisclaimer, + 'CustomCss': value.customCss, + 'SplashscreenEnabled': value.splashscreenEnabled, + }; +} + diff --git a/server/jellyfin/models/BufferRequestDto.ts b/server/jellyfin/models/BufferRequestDto.ts new file mode 100644 index 0000000..9d30b42 --- /dev/null +++ b/server/jellyfin/models/BufferRequestDto.ts @@ -0,0 +1,89 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class BufferRequestDto. + * @export + * @interface BufferRequestDto + */ +export interface BufferRequestDto { + /** + * Gets or sets when the request has been made by the client. + * @type {Date} + * @memberof BufferRequestDto + */ + when?: Date; + /** + * Gets or sets the position ticks. + * @type {number} + * @memberof BufferRequestDto + */ + positionTicks?: number; + /** + * Gets or sets a value indicating whether the client playback is unpaused. + * @type {boolean} + * @memberof BufferRequestDto + */ + isPlaying?: boolean; + /** + * Gets or sets the playlist item identifier of the playing item. + * @type {string} + * @memberof BufferRequestDto + */ + playlistItemId?: string; +} + +/** + * Check if a given object implements the BufferRequestDto interface. + */ +export function instanceOfBufferRequestDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function BufferRequestDtoFromJSON(json: any): BufferRequestDto { + return BufferRequestDtoFromJSONTyped(json, false); +} + +export function BufferRequestDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): BufferRequestDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'when': !exists(json, 'When') ? undefined : (new Date(json['When'])), + 'positionTicks': !exists(json, 'PositionTicks') ? undefined : json['PositionTicks'], + 'isPlaying': !exists(json, 'IsPlaying') ? undefined : json['IsPlaying'], + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + }; +} + +export function BufferRequestDtoToJSON(value?: BufferRequestDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'When': value.when === undefined ? undefined : (value.when.toISOString()), + 'PositionTicks': value.positionTicks, + 'IsPlaying': value.isPlaying, + 'PlaylistItemId': value.playlistItemId, + }; +} + diff --git a/server/jellyfin/models/ChannelFeatures.ts b/server/jellyfin/models/ChannelFeatures.ts new file mode 100644 index 0000000..461f398 --- /dev/null +++ b/server/jellyfin/models/ChannelFeatures.ts @@ -0,0 +1,172 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ChannelItemSortField } from './ChannelItemSortField'; +import { + ChannelItemSortFieldFromJSON, + ChannelItemSortFieldFromJSONTyped, + ChannelItemSortFieldToJSON, +} from './ChannelItemSortField'; +import type { ChannelMediaContentType } from './ChannelMediaContentType'; +import { + ChannelMediaContentTypeFromJSON, + ChannelMediaContentTypeFromJSONTyped, + ChannelMediaContentTypeToJSON, +} from './ChannelMediaContentType'; +import type { ChannelMediaType } from './ChannelMediaType'; +import { + ChannelMediaTypeFromJSON, + ChannelMediaTypeFromJSONTyped, + ChannelMediaTypeToJSON, +} from './ChannelMediaType'; + +/** + * + * @export + * @interface ChannelFeatures + */ +export interface ChannelFeatures { + /** + * Gets or sets the name. + * @type {string} + * @memberof ChannelFeatures + */ + name?: string; + /** + * Gets or sets the identifier. + * @type {string} + * @memberof ChannelFeatures + */ + id?: string; + /** + * Gets or sets a value indicating whether this instance can search. + * @type {boolean} + * @memberof ChannelFeatures + */ + canSearch?: boolean; + /** + * Gets or sets the media types. + * @type {Array} + * @memberof ChannelFeatures + */ + mediaTypes?: Array; + /** + * Gets or sets the content types. + * @type {Array} + * @memberof ChannelFeatures + */ + contentTypes?: Array; + /** + * Gets or sets the maximum number of records the channel allows retrieving at a time. + * @type {number} + * @memberof ChannelFeatures + */ + maxPageSize?: number | null; + /** + * Gets or sets the automatic refresh levels. + * @type {number} + * @memberof ChannelFeatures + */ + autoRefreshLevels?: number | null; + /** + * Gets or sets the default sort orders. + * @type {Array} + * @memberof ChannelFeatures + */ + defaultSortFields?: Array; + /** + * Gets or sets a value indicating whether a sort ascending/descending toggle is supported. + * @type {boolean} + * @memberof ChannelFeatures + */ + supportsSortOrderToggle?: boolean; + /** + * Gets or sets a value indicating whether [supports latest media]. + * @type {boolean} + * @memberof ChannelFeatures + */ + supportsLatestMedia?: boolean; + /** + * Gets or sets a value indicating whether this instance can filter. + * @type {boolean} + * @memberof ChannelFeatures + */ + canFilter?: boolean; + /** + * Gets or sets a value indicating whether [supports content downloading]. + * @type {boolean} + * @memberof ChannelFeatures + */ + supportsContentDownloading?: boolean; +} + +/** + * Check if a given object implements the ChannelFeatures interface. + */ +export function instanceOfChannelFeatures(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ChannelFeaturesFromJSON(json: any): ChannelFeatures { + return ChannelFeaturesFromJSONTyped(json, false); +} + +export function ChannelFeaturesFromJSONTyped(json: any, ignoreDiscriminator: boolean): ChannelFeatures { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'canSearch': !exists(json, 'CanSearch') ? undefined : json['CanSearch'], + 'mediaTypes': !exists(json, 'MediaTypes') ? undefined : ((json['MediaTypes'] as Array).map(ChannelMediaTypeFromJSON)), + 'contentTypes': !exists(json, 'ContentTypes') ? undefined : ((json['ContentTypes'] as Array).map(ChannelMediaContentTypeFromJSON)), + 'maxPageSize': !exists(json, 'MaxPageSize') ? undefined : json['MaxPageSize'], + 'autoRefreshLevels': !exists(json, 'AutoRefreshLevels') ? undefined : json['AutoRefreshLevels'], + 'defaultSortFields': !exists(json, 'DefaultSortFields') ? undefined : ((json['DefaultSortFields'] as Array).map(ChannelItemSortFieldFromJSON)), + 'supportsSortOrderToggle': !exists(json, 'SupportsSortOrderToggle') ? undefined : json['SupportsSortOrderToggle'], + 'supportsLatestMedia': !exists(json, 'SupportsLatestMedia') ? undefined : json['SupportsLatestMedia'], + 'canFilter': !exists(json, 'CanFilter') ? undefined : json['CanFilter'], + 'supportsContentDownloading': !exists(json, 'SupportsContentDownloading') ? undefined : json['SupportsContentDownloading'], + }; +} + +export function ChannelFeaturesToJSON(value?: ChannelFeatures | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Id': value.id, + 'CanSearch': value.canSearch, + 'MediaTypes': value.mediaTypes === undefined ? undefined : ((value.mediaTypes as Array).map(ChannelMediaTypeToJSON)), + 'ContentTypes': value.contentTypes === undefined ? undefined : ((value.contentTypes as Array).map(ChannelMediaContentTypeToJSON)), + 'MaxPageSize': value.maxPageSize, + 'AutoRefreshLevels': value.autoRefreshLevels, + 'DefaultSortFields': value.defaultSortFields === undefined ? undefined : ((value.defaultSortFields as Array).map(ChannelItemSortFieldToJSON)), + 'SupportsSortOrderToggle': value.supportsSortOrderToggle, + 'SupportsLatestMedia': value.supportsLatestMedia, + 'CanFilter': value.canFilter, + 'SupportsContentDownloading': value.supportsContentDownloading, + }; +} + diff --git a/server/jellyfin/models/ChannelItemSortField.ts b/server/jellyfin/models/ChannelItemSortField.ts new file mode 100644 index 0000000..8b4656b --- /dev/null +++ b/server/jellyfin/models/ChannelItemSortField.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const ChannelItemSortField = { + Name: 'Name', + CommunityRating: 'CommunityRating', + PremiereDate: 'PremiereDate', + DateCreated: 'DateCreated', + Runtime: 'Runtime', + PlayCount: 'PlayCount', + CommunityPlayCount: 'CommunityPlayCount' +} as const; +export type ChannelItemSortField = typeof ChannelItemSortField[keyof typeof ChannelItemSortField]; + + +export function ChannelItemSortFieldFromJSON(json: any): ChannelItemSortField { + return ChannelItemSortFieldFromJSONTyped(json, false); +} + +export function ChannelItemSortFieldFromJSONTyped(json: any, ignoreDiscriminator: boolean): ChannelItemSortField { + return json as ChannelItemSortField; +} + +export function ChannelItemSortFieldToJSON(value?: ChannelItemSortField | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/ChannelMappingOptionsDto.ts b/server/jellyfin/models/ChannelMappingOptionsDto.ts new file mode 100644 index 0000000..6f7fb0f --- /dev/null +++ b/server/jellyfin/models/ChannelMappingOptionsDto.ts @@ -0,0 +1,108 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { NameIdPair } from './NameIdPair'; +import { + NameIdPairFromJSON, + NameIdPairFromJSONTyped, + NameIdPairToJSON, +} from './NameIdPair'; +import type { NameValuePair } from './NameValuePair'; +import { + NameValuePairFromJSON, + NameValuePairFromJSONTyped, + NameValuePairToJSON, +} from './NameValuePair'; +import type { TunerChannelMapping } from './TunerChannelMapping'; +import { + TunerChannelMappingFromJSON, + TunerChannelMappingFromJSONTyped, + TunerChannelMappingToJSON, +} from './TunerChannelMapping'; + +/** + * Channel mapping options dto. + * @export + * @interface ChannelMappingOptionsDto + */ +export interface ChannelMappingOptionsDto { + /** + * Gets or sets list of tuner channels. + * @type {Array} + * @memberof ChannelMappingOptionsDto + */ + tunerChannels?: Array; + /** + * Gets or sets list of provider channels. + * @type {Array} + * @memberof ChannelMappingOptionsDto + */ + providerChannels?: Array; + /** + * Gets or sets list of mappings. + * @type {Array} + * @memberof ChannelMappingOptionsDto + */ + mappings?: Array; + /** + * Gets or sets provider name. + * @type {string} + * @memberof ChannelMappingOptionsDto + */ + providerName?: string | null; +} + +/** + * Check if a given object implements the ChannelMappingOptionsDto interface. + */ +export function instanceOfChannelMappingOptionsDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ChannelMappingOptionsDtoFromJSON(json: any): ChannelMappingOptionsDto { + return ChannelMappingOptionsDtoFromJSONTyped(json, false); +} + +export function ChannelMappingOptionsDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ChannelMappingOptionsDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'tunerChannels': !exists(json, 'TunerChannels') ? undefined : ((json['TunerChannels'] as Array).map(TunerChannelMappingFromJSON)), + 'providerChannels': !exists(json, 'ProviderChannels') ? undefined : ((json['ProviderChannels'] as Array).map(NameIdPairFromJSON)), + 'mappings': !exists(json, 'Mappings') ? undefined : ((json['Mappings'] as Array).map(NameValuePairFromJSON)), + 'providerName': !exists(json, 'ProviderName') ? undefined : json['ProviderName'], + }; +} + +export function ChannelMappingOptionsDtoToJSON(value?: ChannelMappingOptionsDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'TunerChannels': value.tunerChannels === undefined ? undefined : ((value.tunerChannels as Array).map(TunerChannelMappingToJSON)), + 'ProviderChannels': value.providerChannels === undefined ? undefined : ((value.providerChannels as Array).map(NameIdPairToJSON)), + 'Mappings': value.mappings === undefined ? undefined : ((value.mappings as Array).map(NameValuePairToJSON)), + 'ProviderName': value.providerName, + }; +} + diff --git a/server/jellyfin/models/ChannelMediaContentType.ts b/server/jellyfin/models/ChannelMediaContentType.ts new file mode 100644 index 0000000..f0cb7a9 --- /dev/null +++ b/server/jellyfin/models/ChannelMediaContentType.ts @@ -0,0 +1,44 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const ChannelMediaContentType = { + Clip: 'Clip', + Podcast: 'Podcast', + Trailer: 'Trailer', + Movie: 'Movie', + Episode: 'Episode', + Song: 'Song', + MovieExtra: 'MovieExtra', + TvExtra: 'TvExtra' +} as const; +export type ChannelMediaContentType = typeof ChannelMediaContentType[keyof typeof ChannelMediaContentType]; + + +export function ChannelMediaContentTypeFromJSON(json: any): ChannelMediaContentType { + return ChannelMediaContentTypeFromJSONTyped(json, false); +} + +export function ChannelMediaContentTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): ChannelMediaContentType { + return json as ChannelMediaContentType; +} + +export function ChannelMediaContentTypeToJSON(value?: ChannelMediaContentType | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/ChannelMediaType.ts b/server/jellyfin/models/ChannelMediaType.ts new file mode 100644 index 0000000..a95bc69 --- /dev/null +++ b/server/jellyfin/models/ChannelMediaType.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const ChannelMediaType = { + Audio: 'Audio', + Video: 'Video', + Photo: 'Photo' +} as const; +export type ChannelMediaType = typeof ChannelMediaType[keyof typeof ChannelMediaType]; + + +export function ChannelMediaTypeFromJSON(json: any): ChannelMediaType { + return ChannelMediaTypeFromJSONTyped(json, false); +} + +export function ChannelMediaTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): ChannelMediaType { + return json as ChannelMediaType; +} + +export function ChannelMediaTypeToJSON(value?: ChannelMediaType | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/ChannelType.ts b/server/jellyfin/models/ChannelType.ts new file mode 100644 index 0000000..8d2e418 --- /dev/null +++ b/server/jellyfin/models/ChannelType.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Enum ChannelType. + * @export + */ +export const ChannelType = { + Tv: 'TV', + Radio: 'Radio' +} as const; +export type ChannelType = typeof ChannelType[keyof typeof ChannelType]; + + +export function ChannelTypeFromJSON(json: any): ChannelType { + return ChannelTypeFromJSONTyped(json, false); +} + +export function ChannelTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): ChannelType { + return json as ChannelType; +} + +export function ChannelTypeToJSON(value?: ChannelType | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/ChapterInfo.ts b/server/jellyfin/models/ChapterInfo.ts new file mode 100644 index 0000000..c5e0df8 --- /dev/null +++ b/server/jellyfin/models/ChapterInfo.ts @@ -0,0 +1,97 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class ChapterInfo. + * @export + * @interface ChapterInfo + */ +export interface ChapterInfo { + /** + * Gets or sets the start position ticks. + * @type {number} + * @memberof ChapterInfo + */ + startPositionTicks?: number; + /** + * Gets or sets the name. + * @type {string} + * @memberof ChapterInfo + */ + name?: string | null; + /** + * Gets or sets the image path. + * @type {string} + * @memberof ChapterInfo + */ + imagePath?: string | null; + /** + * + * @type {Date} + * @memberof ChapterInfo + */ + imageDateModified?: Date; + /** + * + * @type {string} + * @memberof ChapterInfo + */ + imageTag?: string | null; +} + +/** + * Check if a given object implements the ChapterInfo interface. + */ +export function instanceOfChapterInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ChapterInfoFromJSON(json: any): ChapterInfo { + return ChapterInfoFromJSONTyped(json, false); +} + +export function ChapterInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ChapterInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'startPositionTicks': !exists(json, 'StartPositionTicks') ? undefined : json['StartPositionTicks'], + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'imagePath': !exists(json, 'ImagePath') ? undefined : json['ImagePath'], + 'imageDateModified': !exists(json, 'ImageDateModified') ? undefined : (new Date(json['ImageDateModified'])), + 'imageTag': !exists(json, 'ImageTag') ? undefined : json['ImageTag'], + }; +} + +export function ChapterInfoToJSON(value?: ChapterInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'StartPositionTicks': value.startPositionTicks, + 'Name': value.name, + 'ImagePath': value.imagePath, + 'ImageDateModified': value.imageDateModified === undefined ? undefined : (value.imageDateModified.toISOString()), + 'ImageTag': value.imageTag, + }; +} + diff --git a/server/jellyfin/models/ClientCapabilities.ts b/server/jellyfin/models/ClientCapabilities.ts new file mode 100644 index 0000000..c2b019c --- /dev/null +++ b/server/jellyfin/models/ClientCapabilities.ts @@ -0,0 +1,150 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ClientCapabilitiesDeviceProfile } from './ClientCapabilitiesDeviceProfile'; +import { + ClientCapabilitiesDeviceProfileFromJSON, + ClientCapabilitiesDeviceProfileFromJSONTyped, + ClientCapabilitiesDeviceProfileToJSON, +} from './ClientCapabilitiesDeviceProfile'; +import type { GeneralCommandType } from './GeneralCommandType'; +import { + GeneralCommandTypeFromJSON, + GeneralCommandTypeFromJSONTyped, + GeneralCommandTypeToJSON, +} from './GeneralCommandType'; + +/** + * + * @export + * @interface ClientCapabilities + */ +export interface ClientCapabilities { + /** + * + * @type {Array} + * @memberof ClientCapabilities + */ + playableMediaTypes?: Array | null; + /** + * + * @type {Array} + * @memberof ClientCapabilities + */ + supportedCommands?: Array | null; + /** + * + * @type {boolean} + * @memberof ClientCapabilities + */ + supportsMediaControl?: boolean; + /** + * + * @type {boolean} + * @memberof ClientCapabilities + */ + supportsContentUploading?: boolean; + /** + * + * @type {string} + * @memberof ClientCapabilities + */ + messageCallbackUrl?: string | null; + /** + * + * @type {boolean} + * @memberof ClientCapabilities + */ + supportsPersistentIdentifier?: boolean; + /** + * + * @type {boolean} + * @memberof ClientCapabilities + */ + supportsSync?: boolean; + /** + * + * @type {ClientCapabilitiesDeviceProfile} + * @memberof ClientCapabilities + */ + deviceProfile?: ClientCapabilitiesDeviceProfile | null; + /** + * + * @type {string} + * @memberof ClientCapabilities + */ + appStoreUrl?: string | null; + /** + * + * @type {string} + * @memberof ClientCapabilities + */ + iconUrl?: string | null; +} + +/** + * Check if a given object implements the ClientCapabilities interface. + */ +export function instanceOfClientCapabilities(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ClientCapabilitiesFromJSON(json: any): ClientCapabilities { + return ClientCapabilitiesFromJSONTyped(json, false); +} + +export function ClientCapabilitiesFromJSONTyped(json: any, ignoreDiscriminator: boolean): ClientCapabilities { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'playableMediaTypes': !exists(json, 'PlayableMediaTypes') ? undefined : json['PlayableMediaTypes'], + 'supportedCommands': !exists(json, 'SupportedCommands') ? undefined : (json['SupportedCommands'] === null ? null : (json['SupportedCommands'] as Array).map(GeneralCommandTypeFromJSON)), + 'supportsMediaControl': !exists(json, 'SupportsMediaControl') ? undefined : json['SupportsMediaControl'], + 'supportsContentUploading': !exists(json, 'SupportsContentUploading') ? undefined : json['SupportsContentUploading'], + 'messageCallbackUrl': !exists(json, 'MessageCallbackUrl') ? undefined : json['MessageCallbackUrl'], + 'supportsPersistentIdentifier': !exists(json, 'SupportsPersistentIdentifier') ? undefined : json['SupportsPersistentIdentifier'], + 'supportsSync': !exists(json, 'SupportsSync') ? undefined : json['SupportsSync'], + 'deviceProfile': !exists(json, 'DeviceProfile') ? undefined : ClientCapabilitiesDeviceProfileFromJSON(json['DeviceProfile']), + 'appStoreUrl': !exists(json, 'AppStoreUrl') ? undefined : json['AppStoreUrl'], + 'iconUrl': !exists(json, 'IconUrl') ? undefined : json['IconUrl'], + }; +} + +export function ClientCapabilitiesToJSON(value?: ClientCapabilities | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'PlayableMediaTypes': value.playableMediaTypes, + 'SupportedCommands': value.supportedCommands === undefined ? undefined : (value.supportedCommands === null ? null : (value.supportedCommands as Array).map(GeneralCommandTypeToJSON)), + 'SupportsMediaControl': value.supportsMediaControl, + 'SupportsContentUploading': value.supportsContentUploading, + 'MessageCallbackUrl': value.messageCallbackUrl, + 'SupportsPersistentIdentifier': value.supportsPersistentIdentifier, + 'SupportsSync': value.supportsSync, + 'DeviceProfile': ClientCapabilitiesDeviceProfileToJSON(value.deviceProfile), + 'AppStoreUrl': value.appStoreUrl, + 'IconUrl': value.iconUrl, + }; +} + diff --git a/server/jellyfin/models/ClientCapabilitiesDeviceProfile.ts b/server/jellyfin/models/ClientCapabilitiesDeviceProfile.ts new file mode 100644 index 0000000..f5cf407 --- /dev/null +++ b/server/jellyfin/models/ClientCapabilitiesDeviceProfile.ts @@ -0,0 +1,423 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { CodecProfile } from './CodecProfile'; +import { + CodecProfileFromJSON, + CodecProfileFromJSONTyped, + CodecProfileToJSON, +} from './CodecProfile'; +import type { ContainerProfile } from './ContainerProfile'; +import { + ContainerProfileFromJSON, + ContainerProfileFromJSONTyped, + ContainerProfileToJSON, +} from './ContainerProfile'; +import type { DeviceProfileIdentification } from './DeviceProfileIdentification'; +import { + DeviceProfileIdentificationFromJSON, + DeviceProfileIdentificationFromJSONTyped, + DeviceProfileIdentificationToJSON, +} from './DeviceProfileIdentification'; +import type { DirectPlayProfile } from './DirectPlayProfile'; +import { + DirectPlayProfileFromJSON, + DirectPlayProfileFromJSONTyped, + DirectPlayProfileToJSON, +} from './DirectPlayProfile'; +import type { ResponseProfile } from './ResponseProfile'; +import { + ResponseProfileFromJSON, + ResponseProfileFromJSONTyped, + ResponseProfileToJSON, +} from './ResponseProfile'; +import type { SubtitleProfile } from './SubtitleProfile'; +import { + SubtitleProfileFromJSON, + SubtitleProfileFromJSONTyped, + SubtitleProfileToJSON, +} from './SubtitleProfile'; +import type { TranscodingProfile } from './TranscodingProfile'; +import { + TranscodingProfileFromJSON, + TranscodingProfileFromJSONTyped, + TranscodingProfileToJSON, +} from './TranscodingProfile'; +import type { XmlAttribute } from './XmlAttribute'; +import { + XmlAttributeFromJSON, + XmlAttributeFromJSONTyped, + XmlAttributeToJSON, +} from './XmlAttribute'; + +/** + * A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play. + *
+ * Specifically, it defines the supported containers and + * codecs (video and/or audio, including codec profiles and levels) + * the device is able to direct play (without transcoding or remuxing), + * as well as which containers/codecs to transcode to in case it isn't. + * @export + * @interface ClientCapabilitiesDeviceProfile + */ +export interface ClientCapabilitiesDeviceProfile { + /** + * Gets or sets the name of this device profile. + * @type {string} + * @memberof ClientCapabilitiesDeviceProfile + */ + name?: string | null; + /** + * Gets or sets the Id. + * @type {string} + * @memberof ClientCapabilitiesDeviceProfile + */ + id?: string | null; + /** + * + * @type {DeviceProfileIdentification} + * @memberof ClientCapabilitiesDeviceProfile + */ + identification?: DeviceProfileIdentification | null; + /** + * Gets or sets the friendly name of the device profile, which can be shown to users. + * @type {string} + * @memberof ClientCapabilitiesDeviceProfile + */ + friendlyName?: string | null; + /** + * Gets or sets the manufacturer of the device which this profile represents. + * @type {string} + * @memberof ClientCapabilitiesDeviceProfile + */ + manufacturer?: string | null; + /** + * Gets or sets an url for the manufacturer of the device which this profile represents. + * @type {string} + * @memberof ClientCapabilitiesDeviceProfile + */ + manufacturerUrl?: string | null; + /** + * Gets or sets the model name of the device which this profile represents. + * @type {string} + * @memberof ClientCapabilitiesDeviceProfile + */ + modelName?: string | null; + /** + * Gets or sets the model description of the device which this profile represents. + * @type {string} + * @memberof ClientCapabilitiesDeviceProfile + */ + modelDescription?: string | null; + /** + * Gets or sets the model number of the device which this profile represents. + * @type {string} + * @memberof ClientCapabilitiesDeviceProfile + */ + modelNumber?: string | null; + /** + * Gets or sets the ModelUrl. + * @type {string} + * @memberof ClientCapabilitiesDeviceProfile + */ + modelUrl?: string | null; + /** + * Gets or sets the serial number of the device which this profile represents. + * @type {string} + * @memberof ClientCapabilitiesDeviceProfile + */ + serialNumber?: string | null; + /** + * Gets or sets a value indicating whether EnableAlbumArtInDidl. + * @type {boolean} + * @memberof ClientCapabilitiesDeviceProfile + */ + enableAlbumArtInDidl?: boolean; + /** + * Gets or sets a value indicating whether EnableSingleAlbumArtLimit. + * @type {boolean} + * @memberof ClientCapabilitiesDeviceProfile + */ + enableSingleAlbumArtLimit?: boolean; + /** + * Gets or sets a value indicating whether EnableSingleSubtitleLimit. + * @type {boolean} + * @memberof ClientCapabilitiesDeviceProfile + */ + enableSingleSubtitleLimit?: boolean; + /** + * Gets or sets the SupportedMediaTypes. + * @type {string} + * @memberof ClientCapabilitiesDeviceProfile + */ + supportedMediaTypes?: string; + /** + * Gets or sets the UserId. + * @type {string} + * @memberof ClientCapabilitiesDeviceProfile + */ + userId?: string | null; + /** + * Gets or sets the AlbumArtPn. + * @type {string} + * @memberof ClientCapabilitiesDeviceProfile + */ + albumArtPn?: string | null; + /** + * Gets or sets the MaxAlbumArtWidth. + * @type {number} + * @memberof ClientCapabilitiesDeviceProfile + */ + maxAlbumArtWidth?: number | null; + /** + * Gets or sets the MaxAlbumArtHeight. + * @type {number} + * @memberof ClientCapabilitiesDeviceProfile + */ + maxAlbumArtHeight?: number | null; + /** + * Gets or sets the maximum allowed width of embedded icons. + * @type {number} + * @memberof ClientCapabilitiesDeviceProfile + */ + maxIconWidth?: number | null; + /** + * Gets or sets the maximum allowed height of embedded icons. + * @type {number} + * @memberof ClientCapabilitiesDeviceProfile + */ + maxIconHeight?: number | null; + /** + * Gets or sets the maximum allowed bitrate for all streamed content. + * @type {number} + * @memberof ClientCapabilitiesDeviceProfile + */ + maxStreamingBitrate?: number | null; + /** + * Gets or sets the maximum allowed bitrate for statically streamed content (= direct played files). + * @type {number} + * @memberof ClientCapabilitiesDeviceProfile + */ + maxStaticBitrate?: number | null; + /** + * Gets or sets the maximum allowed bitrate for transcoded music streams. + * @type {number} + * @memberof ClientCapabilitiesDeviceProfile + */ + musicStreamingTranscodingBitrate?: number | null; + /** + * Gets or sets the maximum allowed bitrate for statically streamed (= direct played) music files. + * @type {number} + * @memberof ClientCapabilitiesDeviceProfile + */ + maxStaticMusicBitrate?: number | null; + /** + * Gets or sets the content of the aggregationFlags element in the urn:schemas-sonycom:av namespace. + * @type {string} + * @memberof ClientCapabilitiesDeviceProfile + */ + sonyAggregationFlags?: string | null; + /** + * Gets or sets the ProtocolInfo. + * @type {string} + * @memberof ClientCapabilitiesDeviceProfile + */ + protocolInfo?: string | null; + /** + * Gets or sets the TimelineOffsetSeconds. + * @type {number} + * @memberof ClientCapabilitiesDeviceProfile + */ + timelineOffsetSeconds?: number; + /** + * Gets or sets a value indicating whether RequiresPlainVideoItems. + * @type {boolean} + * @memberof ClientCapabilitiesDeviceProfile + */ + requiresPlainVideoItems?: boolean; + /** + * Gets or sets a value indicating whether RequiresPlainFolders. + * @type {boolean} + * @memberof ClientCapabilitiesDeviceProfile + */ + requiresPlainFolders?: boolean; + /** + * Gets or sets a value indicating whether EnableMSMediaReceiverRegistrar. + * @type {boolean} + * @memberof ClientCapabilitiesDeviceProfile + */ + enableMSMediaReceiverRegistrar?: boolean; + /** + * Gets or sets a value indicating whether IgnoreTranscodeByteRangeRequests. + * @type {boolean} + * @memberof ClientCapabilitiesDeviceProfile + */ + ignoreTranscodeByteRangeRequests?: boolean; + /** + * Gets or sets the XmlRootAttributes. + * @type {Array} + * @memberof ClientCapabilitiesDeviceProfile + */ + xmlRootAttributes?: Array; + /** + * Gets or sets the direct play profiles. + * @type {Array} + * @memberof ClientCapabilitiesDeviceProfile + */ + directPlayProfiles?: Array; + /** + * Gets or sets the transcoding profiles. + * @type {Array} + * @memberof ClientCapabilitiesDeviceProfile + */ + transcodingProfiles?: Array; + /** + * Gets or sets the container profiles. + * @type {Array} + * @memberof ClientCapabilitiesDeviceProfile + */ + containerProfiles?: Array; + /** + * Gets or sets the codec profiles. + * @type {Array} + * @memberof ClientCapabilitiesDeviceProfile + */ + codecProfiles?: Array; + /** + * Gets or sets the ResponseProfiles. + * @type {Array} + * @memberof ClientCapabilitiesDeviceProfile + */ + responseProfiles?: Array; + /** + * Gets or sets the subtitle profiles. + * @type {Array} + * @memberof ClientCapabilitiesDeviceProfile + */ + subtitleProfiles?: Array; +} + +/** + * Check if a given object implements the ClientCapabilitiesDeviceProfile interface. + */ +export function instanceOfClientCapabilitiesDeviceProfile(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ClientCapabilitiesDeviceProfileFromJSON(json: any): ClientCapabilitiesDeviceProfile { + return ClientCapabilitiesDeviceProfileFromJSONTyped(json, false); +} + +export function ClientCapabilitiesDeviceProfileFromJSONTyped(json: any, ignoreDiscriminator: boolean): ClientCapabilitiesDeviceProfile { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'identification': !exists(json, 'Identification') ? undefined : DeviceProfileIdentificationFromJSON(json['Identification']), + 'friendlyName': !exists(json, 'FriendlyName') ? undefined : json['FriendlyName'], + 'manufacturer': !exists(json, 'Manufacturer') ? undefined : json['Manufacturer'], + 'manufacturerUrl': !exists(json, 'ManufacturerUrl') ? undefined : json['ManufacturerUrl'], + 'modelName': !exists(json, 'ModelName') ? undefined : json['ModelName'], + 'modelDescription': !exists(json, 'ModelDescription') ? undefined : json['ModelDescription'], + 'modelNumber': !exists(json, 'ModelNumber') ? undefined : json['ModelNumber'], + 'modelUrl': !exists(json, 'ModelUrl') ? undefined : json['ModelUrl'], + 'serialNumber': !exists(json, 'SerialNumber') ? undefined : json['SerialNumber'], + 'enableAlbumArtInDidl': !exists(json, 'EnableAlbumArtInDidl') ? undefined : json['EnableAlbumArtInDidl'], + 'enableSingleAlbumArtLimit': !exists(json, 'EnableSingleAlbumArtLimit') ? undefined : json['EnableSingleAlbumArtLimit'], + 'enableSingleSubtitleLimit': !exists(json, 'EnableSingleSubtitleLimit') ? undefined : json['EnableSingleSubtitleLimit'], + 'supportedMediaTypes': !exists(json, 'SupportedMediaTypes') ? undefined : json['SupportedMediaTypes'], + 'userId': !exists(json, 'UserId') ? undefined : json['UserId'], + 'albumArtPn': !exists(json, 'AlbumArtPn') ? undefined : json['AlbumArtPn'], + 'maxAlbumArtWidth': !exists(json, 'MaxAlbumArtWidth') ? undefined : json['MaxAlbumArtWidth'], + 'maxAlbumArtHeight': !exists(json, 'MaxAlbumArtHeight') ? undefined : json['MaxAlbumArtHeight'], + 'maxIconWidth': !exists(json, 'MaxIconWidth') ? undefined : json['MaxIconWidth'], + 'maxIconHeight': !exists(json, 'MaxIconHeight') ? undefined : json['MaxIconHeight'], + 'maxStreamingBitrate': !exists(json, 'MaxStreamingBitrate') ? undefined : json['MaxStreamingBitrate'], + 'maxStaticBitrate': !exists(json, 'MaxStaticBitrate') ? undefined : json['MaxStaticBitrate'], + 'musicStreamingTranscodingBitrate': !exists(json, 'MusicStreamingTranscodingBitrate') ? undefined : json['MusicStreamingTranscodingBitrate'], + 'maxStaticMusicBitrate': !exists(json, 'MaxStaticMusicBitrate') ? undefined : json['MaxStaticMusicBitrate'], + 'sonyAggregationFlags': !exists(json, 'SonyAggregationFlags') ? undefined : json['SonyAggregationFlags'], + 'protocolInfo': !exists(json, 'ProtocolInfo') ? undefined : json['ProtocolInfo'], + 'timelineOffsetSeconds': !exists(json, 'TimelineOffsetSeconds') ? undefined : json['TimelineOffsetSeconds'], + 'requiresPlainVideoItems': !exists(json, 'RequiresPlainVideoItems') ? undefined : json['RequiresPlainVideoItems'], + 'requiresPlainFolders': !exists(json, 'RequiresPlainFolders') ? undefined : json['RequiresPlainFolders'], + 'enableMSMediaReceiverRegistrar': !exists(json, 'EnableMSMediaReceiverRegistrar') ? undefined : json['EnableMSMediaReceiverRegistrar'], + 'ignoreTranscodeByteRangeRequests': !exists(json, 'IgnoreTranscodeByteRangeRequests') ? undefined : json['IgnoreTranscodeByteRangeRequests'], + 'xmlRootAttributes': !exists(json, 'XmlRootAttributes') ? undefined : ((json['XmlRootAttributes'] as Array).map(XmlAttributeFromJSON)), + 'directPlayProfiles': !exists(json, 'DirectPlayProfiles') ? undefined : ((json['DirectPlayProfiles'] as Array).map(DirectPlayProfileFromJSON)), + 'transcodingProfiles': !exists(json, 'TranscodingProfiles') ? undefined : ((json['TranscodingProfiles'] as Array).map(TranscodingProfileFromJSON)), + 'containerProfiles': !exists(json, 'ContainerProfiles') ? undefined : ((json['ContainerProfiles'] as Array).map(ContainerProfileFromJSON)), + 'codecProfiles': !exists(json, 'CodecProfiles') ? undefined : ((json['CodecProfiles'] as Array).map(CodecProfileFromJSON)), + 'responseProfiles': !exists(json, 'ResponseProfiles') ? undefined : ((json['ResponseProfiles'] as Array).map(ResponseProfileFromJSON)), + 'subtitleProfiles': !exists(json, 'SubtitleProfiles') ? undefined : ((json['SubtitleProfiles'] as Array).map(SubtitleProfileFromJSON)), + }; +} + +export function ClientCapabilitiesDeviceProfileToJSON(value?: ClientCapabilitiesDeviceProfile | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Id': value.id, + 'Identification': DeviceProfileIdentificationToJSON(value.identification), + 'FriendlyName': value.friendlyName, + 'Manufacturer': value.manufacturer, + 'ManufacturerUrl': value.manufacturerUrl, + 'ModelName': value.modelName, + 'ModelDescription': value.modelDescription, + 'ModelNumber': value.modelNumber, + 'ModelUrl': value.modelUrl, + 'SerialNumber': value.serialNumber, + 'EnableAlbumArtInDidl': value.enableAlbumArtInDidl, + 'EnableSingleAlbumArtLimit': value.enableSingleAlbumArtLimit, + 'EnableSingleSubtitleLimit': value.enableSingleSubtitleLimit, + 'SupportedMediaTypes': value.supportedMediaTypes, + 'UserId': value.userId, + 'AlbumArtPn': value.albumArtPn, + 'MaxAlbumArtWidth': value.maxAlbumArtWidth, + 'MaxAlbumArtHeight': value.maxAlbumArtHeight, + 'MaxIconWidth': value.maxIconWidth, + 'MaxIconHeight': value.maxIconHeight, + 'MaxStreamingBitrate': value.maxStreamingBitrate, + 'MaxStaticBitrate': value.maxStaticBitrate, + 'MusicStreamingTranscodingBitrate': value.musicStreamingTranscodingBitrate, + 'MaxStaticMusicBitrate': value.maxStaticMusicBitrate, + 'SonyAggregationFlags': value.sonyAggregationFlags, + 'ProtocolInfo': value.protocolInfo, + 'TimelineOffsetSeconds': value.timelineOffsetSeconds, + 'RequiresPlainVideoItems': value.requiresPlainVideoItems, + 'RequiresPlainFolders': value.requiresPlainFolders, + 'EnableMSMediaReceiverRegistrar': value.enableMSMediaReceiverRegistrar, + 'IgnoreTranscodeByteRangeRequests': value.ignoreTranscodeByteRangeRequests, + 'XmlRootAttributes': value.xmlRootAttributes === undefined ? undefined : ((value.xmlRootAttributes as Array).map(XmlAttributeToJSON)), + 'DirectPlayProfiles': value.directPlayProfiles === undefined ? undefined : ((value.directPlayProfiles as Array).map(DirectPlayProfileToJSON)), + 'TranscodingProfiles': value.transcodingProfiles === undefined ? undefined : ((value.transcodingProfiles as Array).map(TranscodingProfileToJSON)), + 'ContainerProfiles': value.containerProfiles === undefined ? undefined : ((value.containerProfiles as Array).map(ContainerProfileToJSON)), + 'CodecProfiles': value.codecProfiles === undefined ? undefined : ((value.codecProfiles as Array).map(CodecProfileToJSON)), + 'ResponseProfiles': value.responseProfiles === undefined ? undefined : ((value.responseProfiles as Array).map(ResponseProfileToJSON)), + 'SubtitleProfiles': value.subtitleProfiles === undefined ? undefined : ((value.subtitleProfiles as Array).map(SubtitleProfileToJSON)), + }; +} + diff --git a/server/jellyfin/models/ClientCapabilitiesDto.ts b/server/jellyfin/models/ClientCapabilitiesDto.ts new file mode 100644 index 0000000..c8646da --- /dev/null +++ b/server/jellyfin/models/ClientCapabilitiesDto.ts @@ -0,0 +1,150 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ClientCapabilitiesDtoDeviceProfile } from './ClientCapabilitiesDtoDeviceProfile'; +import { + ClientCapabilitiesDtoDeviceProfileFromJSON, + ClientCapabilitiesDtoDeviceProfileFromJSONTyped, + ClientCapabilitiesDtoDeviceProfileToJSON, +} from './ClientCapabilitiesDtoDeviceProfile'; +import type { GeneralCommandType } from './GeneralCommandType'; +import { + GeneralCommandTypeFromJSON, + GeneralCommandTypeFromJSONTyped, + GeneralCommandTypeToJSON, +} from './GeneralCommandType'; + +/** + * Client capabilities dto. + * @export + * @interface ClientCapabilitiesDto + */ +export interface ClientCapabilitiesDto { + /** + * Gets or sets the list of playable media types. + * @type {Array} + * @memberof ClientCapabilitiesDto + */ + playableMediaTypes?: Array; + /** + * Gets or sets the list of supported commands. + * @type {Array} + * @memberof ClientCapabilitiesDto + */ + supportedCommands?: Array; + /** + * Gets or sets a value indicating whether session supports media control. + * @type {boolean} + * @memberof ClientCapabilitiesDto + */ + supportsMediaControl?: boolean; + /** + * Gets or sets a value indicating whether session supports content uploading. + * @type {boolean} + * @memberof ClientCapabilitiesDto + */ + supportsContentUploading?: boolean; + /** + * Gets or sets the message callback url. + * @type {string} + * @memberof ClientCapabilitiesDto + */ + messageCallbackUrl?: string | null; + /** + * Gets or sets a value indicating whether session supports a persistent identifier. + * @type {boolean} + * @memberof ClientCapabilitiesDto + */ + supportsPersistentIdentifier?: boolean; + /** + * Gets or sets a value indicating whether session supports sync. + * @type {boolean} + * @memberof ClientCapabilitiesDto + */ + supportsSync?: boolean; + /** + * + * @type {ClientCapabilitiesDtoDeviceProfile} + * @memberof ClientCapabilitiesDto + */ + deviceProfile?: ClientCapabilitiesDtoDeviceProfile | null; + /** + * Gets or sets the app store url. + * @type {string} + * @memberof ClientCapabilitiesDto + */ + appStoreUrl?: string | null; + /** + * Gets or sets the icon url. + * @type {string} + * @memberof ClientCapabilitiesDto + */ + iconUrl?: string | null; +} + +/** + * Check if a given object implements the ClientCapabilitiesDto interface. + */ +export function instanceOfClientCapabilitiesDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ClientCapabilitiesDtoFromJSON(json: any): ClientCapabilitiesDto { + return ClientCapabilitiesDtoFromJSONTyped(json, false); +} + +export function ClientCapabilitiesDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ClientCapabilitiesDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'playableMediaTypes': !exists(json, 'PlayableMediaTypes') ? undefined : json['PlayableMediaTypes'], + 'supportedCommands': !exists(json, 'SupportedCommands') ? undefined : ((json['SupportedCommands'] as Array).map(GeneralCommandTypeFromJSON)), + 'supportsMediaControl': !exists(json, 'SupportsMediaControl') ? undefined : json['SupportsMediaControl'], + 'supportsContentUploading': !exists(json, 'SupportsContentUploading') ? undefined : json['SupportsContentUploading'], + 'messageCallbackUrl': !exists(json, 'MessageCallbackUrl') ? undefined : json['MessageCallbackUrl'], + 'supportsPersistentIdentifier': !exists(json, 'SupportsPersistentIdentifier') ? undefined : json['SupportsPersistentIdentifier'], + 'supportsSync': !exists(json, 'SupportsSync') ? undefined : json['SupportsSync'], + 'deviceProfile': !exists(json, 'DeviceProfile') ? undefined : ClientCapabilitiesDtoDeviceProfileFromJSON(json['DeviceProfile']), + 'appStoreUrl': !exists(json, 'AppStoreUrl') ? undefined : json['AppStoreUrl'], + 'iconUrl': !exists(json, 'IconUrl') ? undefined : json['IconUrl'], + }; +} + +export function ClientCapabilitiesDtoToJSON(value?: ClientCapabilitiesDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'PlayableMediaTypes': value.playableMediaTypes, + 'SupportedCommands': value.supportedCommands === undefined ? undefined : ((value.supportedCommands as Array).map(GeneralCommandTypeToJSON)), + 'SupportsMediaControl': value.supportsMediaControl, + 'SupportsContentUploading': value.supportsContentUploading, + 'MessageCallbackUrl': value.messageCallbackUrl, + 'SupportsPersistentIdentifier': value.supportsPersistentIdentifier, + 'SupportsSync': value.supportsSync, + 'DeviceProfile': ClientCapabilitiesDtoDeviceProfileToJSON(value.deviceProfile), + 'AppStoreUrl': value.appStoreUrl, + 'IconUrl': value.iconUrl, + }; +} + diff --git a/server/jellyfin/models/ClientCapabilitiesDtoDeviceProfile.ts b/server/jellyfin/models/ClientCapabilitiesDtoDeviceProfile.ts new file mode 100644 index 0000000..f461281 --- /dev/null +++ b/server/jellyfin/models/ClientCapabilitiesDtoDeviceProfile.ts @@ -0,0 +1,418 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { CodecProfile } from './CodecProfile'; +import { + CodecProfileFromJSON, + CodecProfileFromJSONTyped, + CodecProfileToJSON, +} from './CodecProfile'; +import type { ContainerProfile } from './ContainerProfile'; +import { + ContainerProfileFromJSON, + ContainerProfileFromJSONTyped, + ContainerProfileToJSON, +} from './ContainerProfile'; +import type { DeviceProfileIdentification } from './DeviceProfileIdentification'; +import { + DeviceProfileIdentificationFromJSON, + DeviceProfileIdentificationFromJSONTyped, + DeviceProfileIdentificationToJSON, +} from './DeviceProfileIdentification'; +import type { DirectPlayProfile } from './DirectPlayProfile'; +import { + DirectPlayProfileFromJSON, + DirectPlayProfileFromJSONTyped, + DirectPlayProfileToJSON, +} from './DirectPlayProfile'; +import type { ResponseProfile } from './ResponseProfile'; +import { + ResponseProfileFromJSON, + ResponseProfileFromJSONTyped, + ResponseProfileToJSON, +} from './ResponseProfile'; +import type { SubtitleProfile } from './SubtitleProfile'; +import { + SubtitleProfileFromJSON, + SubtitleProfileFromJSONTyped, + SubtitleProfileToJSON, +} from './SubtitleProfile'; +import type { TranscodingProfile } from './TranscodingProfile'; +import { + TranscodingProfileFromJSON, + TranscodingProfileFromJSONTyped, + TranscodingProfileToJSON, +} from './TranscodingProfile'; +import type { XmlAttribute } from './XmlAttribute'; +import { + XmlAttributeFromJSON, + XmlAttributeFromJSONTyped, + XmlAttributeToJSON, +} from './XmlAttribute'; + +/** + * Gets or sets the device profile. + * @export + * @interface ClientCapabilitiesDtoDeviceProfile + */ +export interface ClientCapabilitiesDtoDeviceProfile { + /** + * Gets or sets the name of this device profile. + * @type {string} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + name?: string | null; + /** + * Gets or sets the Id. + * @type {string} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + id?: string | null; + /** + * + * @type {DeviceProfileIdentification} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + identification?: DeviceProfileIdentification | null; + /** + * Gets or sets the friendly name of the device profile, which can be shown to users. + * @type {string} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + friendlyName?: string | null; + /** + * Gets or sets the manufacturer of the device which this profile represents. + * @type {string} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + manufacturer?: string | null; + /** + * Gets or sets an url for the manufacturer of the device which this profile represents. + * @type {string} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + manufacturerUrl?: string | null; + /** + * Gets or sets the model name of the device which this profile represents. + * @type {string} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + modelName?: string | null; + /** + * Gets or sets the model description of the device which this profile represents. + * @type {string} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + modelDescription?: string | null; + /** + * Gets or sets the model number of the device which this profile represents. + * @type {string} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + modelNumber?: string | null; + /** + * Gets or sets the ModelUrl. + * @type {string} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + modelUrl?: string | null; + /** + * Gets or sets the serial number of the device which this profile represents. + * @type {string} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + serialNumber?: string | null; + /** + * Gets or sets a value indicating whether EnableAlbumArtInDidl. + * @type {boolean} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + enableAlbumArtInDidl?: boolean; + /** + * Gets or sets a value indicating whether EnableSingleAlbumArtLimit. + * @type {boolean} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + enableSingleAlbumArtLimit?: boolean; + /** + * Gets or sets a value indicating whether EnableSingleSubtitleLimit. + * @type {boolean} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + enableSingleSubtitleLimit?: boolean; + /** + * Gets or sets the SupportedMediaTypes. + * @type {string} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + supportedMediaTypes?: string; + /** + * Gets or sets the UserId. + * @type {string} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + userId?: string | null; + /** + * Gets or sets the AlbumArtPn. + * @type {string} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + albumArtPn?: string | null; + /** + * Gets or sets the MaxAlbumArtWidth. + * @type {number} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + maxAlbumArtWidth?: number | null; + /** + * Gets or sets the MaxAlbumArtHeight. + * @type {number} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + maxAlbumArtHeight?: number | null; + /** + * Gets or sets the maximum allowed width of embedded icons. + * @type {number} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + maxIconWidth?: number | null; + /** + * Gets or sets the maximum allowed height of embedded icons. + * @type {number} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + maxIconHeight?: number | null; + /** + * Gets or sets the maximum allowed bitrate for all streamed content. + * @type {number} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + maxStreamingBitrate?: number | null; + /** + * Gets or sets the maximum allowed bitrate for statically streamed content (= direct played files). + * @type {number} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + maxStaticBitrate?: number | null; + /** + * Gets or sets the maximum allowed bitrate for transcoded music streams. + * @type {number} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + musicStreamingTranscodingBitrate?: number | null; + /** + * Gets or sets the maximum allowed bitrate for statically streamed (= direct played) music files. + * @type {number} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + maxStaticMusicBitrate?: number | null; + /** + * Gets or sets the content of the aggregationFlags element in the urn:schemas-sonycom:av namespace. + * @type {string} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + sonyAggregationFlags?: string | null; + /** + * Gets or sets the ProtocolInfo. + * @type {string} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + protocolInfo?: string | null; + /** + * Gets or sets the TimelineOffsetSeconds. + * @type {number} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + timelineOffsetSeconds?: number; + /** + * Gets or sets a value indicating whether RequiresPlainVideoItems. + * @type {boolean} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + requiresPlainVideoItems?: boolean; + /** + * Gets or sets a value indicating whether RequiresPlainFolders. + * @type {boolean} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + requiresPlainFolders?: boolean; + /** + * Gets or sets a value indicating whether EnableMSMediaReceiverRegistrar. + * @type {boolean} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + enableMSMediaReceiverRegistrar?: boolean; + /** + * Gets or sets a value indicating whether IgnoreTranscodeByteRangeRequests. + * @type {boolean} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + ignoreTranscodeByteRangeRequests?: boolean; + /** + * Gets or sets the XmlRootAttributes. + * @type {Array} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + xmlRootAttributes?: Array; + /** + * Gets or sets the direct play profiles. + * @type {Array} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + directPlayProfiles?: Array; + /** + * Gets or sets the transcoding profiles. + * @type {Array} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + transcodingProfiles?: Array; + /** + * Gets or sets the container profiles. + * @type {Array} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + containerProfiles?: Array; + /** + * Gets or sets the codec profiles. + * @type {Array} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + codecProfiles?: Array; + /** + * Gets or sets the ResponseProfiles. + * @type {Array} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + responseProfiles?: Array; + /** + * Gets or sets the subtitle profiles. + * @type {Array} + * @memberof ClientCapabilitiesDtoDeviceProfile + */ + subtitleProfiles?: Array; +} + +/** + * Check if a given object implements the ClientCapabilitiesDtoDeviceProfile interface. + */ +export function instanceOfClientCapabilitiesDtoDeviceProfile(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ClientCapabilitiesDtoDeviceProfileFromJSON(json: any): ClientCapabilitiesDtoDeviceProfile { + return ClientCapabilitiesDtoDeviceProfileFromJSONTyped(json, false); +} + +export function ClientCapabilitiesDtoDeviceProfileFromJSONTyped(json: any, ignoreDiscriminator: boolean): ClientCapabilitiesDtoDeviceProfile { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'identification': !exists(json, 'Identification') ? undefined : DeviceProfileIdentificationFromJSON(json['Identification']), + 'friendlyName': !exists(json, 'FriendlyName') ? undefined : json['FriendlyName'], + 'manufacturer': !exists(json, 'Manufacturer') ? undefined : json['Manufacturer'], + 'manufacturerUrl': !exists(json, 'ManufacturerUrl') ? undefined : json['ManufacturerUrl'], + 'modelName': !exists(json, 'ModelName') ? undefined : json['ModelName'], + 'modelDescription': !exists(json, 'ModelDescription') ? undefined : json['ModelDescription'], + 'modelNumber': !exists(json, 'ModelNumber') ? undefined : json['ModelNumber'], + 'modelUrl': !exists(json, 'ModelUrl') ? undefined : json['ModelUrl'], + 'serialNumber': !exists(json, 'SerialNumber') ? undefined : json['SerialNumber'], + 'enableAlbumArtInDidl': !exists(json, 'EnableAlbumArtInDidl') ? undefined : json['EnableAlbumArtInDidl'], + 'enableSingleAlbumArtLimit': !exists(json, 'EnableSingleAlbumArtLimit') ? undefined : json['EnableSingleAlbumArtLimit'], + 'enableSingleSubtitleLimit': !exists(json, 'EnableSingleSubtitleLimit') ? undefined : json['EnableSingleSubtitleLimit'], + 'supportedMediaTypes': !exists(json, 'SupportedMediaTypes') ? undefined : json['SupportedMediaTypes'], + 'userId': !exists(json, 'UserId') ? undefined : json['UserId'], + 'albumArtPn': !exists(json, 'AlbumArtPn') ? undefined : json['AlbumArtPn'], + 'maxAlbumArtWidth': !exists(json, 'MaxAlbumArtWidth') ? undefined : json['MaxAlbumArtWidth'], + 'maxAlbumArtHeight': !exists(json, 'MaxAlbumArtHeight') ? undefined : json['MaxAlbumArtHeight'], + 'maxIconWidth': !exists(json, 'MaxIconWidth') ? undefined : json['MaxIconWidth'], + 'maxIconHeight': !exists(json, 'MaxIconHeight') ? undefined : json['MaxIconHeight'], + 'maxStreamingBitrate': !exists(json, 'MaxStreamingBitrate') ? undefined : json['MaxStreamingBitrate'], + 'maxStaticBitrate': !exists(json, 'MaxStaticBitrate') ? undefined : json['MaxStaticBitrate'], + 'musicStreamingTranscodingBitrate': !exists(json, 'MusicStreamingTranscodingBitrate') ? undefined : json['MusicStreamingTranscodingBitrate'], + 'maxStaticMusicBitrate': !exists(json, 'MaxStaticMusicBitrate') ? undefined : json['MaxStaticMusicBitrate'], + 'sonyAggregationFlags': !exists(json, 'SonyAggregationFlags') ? undefined : json['SonyAggregationFlags'], + 'protocolInfo': !exists(json, 'ProtocolInfo') ? undefined : json['ProtocolInfo'], + 'timelineOffsetSeconds': !exists(json, 'TimelineOffsetSeconds') ? undefined : json['TimelineOffsetSeconds'], + 'requiresPlainVideoItems': !exists(json, 'RequiresPlainVideoItems') ? undefined : json['RequiresPlainVideoItems'], + 'requiresPlainFolders': !exists(json, 'RequiresPlainFolders') ? undefined : json['RequiresPlainFolders'], + 'enableMSMediaReceiverRegistrar': !exists(json, 'EnableMSMediaReceiverRegistrar') ? undefined : json['EnableMSMediaReceiverRegistrar'], + 'ignoreTranscodeByteRangeRequests': !exists(json, 'IgnoreTranscodeByteRangeRequests') ? undefined : json['IgnoreTranscodeByteRangeRequests'], + 'xmlRootAttributes': !exists(json, 'XmlRootAttributes') ? undefined : ((json['XmlRootAttributes'] as Array).map(XmlAttributeFromJSON)), + 'directPlayProfiles': !exists(json, 'DirectPlayProfiles') ? undefined : ((json['DirectPlayProfiles'] as Array).map(DirectPlayProfileFromJSON)), + 'transcodingProfiles': !exists(json, 'TranscodingProfiles') ? undefined : ((json['TranscodingProfiles'] as Array).map(TranscodingProfileFromJSON)), + 'containerProfiles': !exists(json, 'ContainerProfiles') ? undefined : ((json['ContainerProfiles'] as Array).map(ContainerProfileFromJSON)), + 'codecProfiles': !exists(json, 'CodecProfiles') ? undefined : ((json['CodecProfiles'] as Array).map(CodecProfileFromJSON)), + 'responseProfiles': !exists(json, 'ResponseProfiles') ? undefined : ((json['ResponseProfiles'] as Array).map(ResponseProfileFromJSON)), + 'subtitleProfiles': !exists(json, 'SubtitleProfiles') ? undefined : ((json['SubtitleProfiles'] as Array).map(SubtitleProfileFromJSON)), + }; +} + +export function ClientCapabilitiesDtoDeviceProfileToJSON(value?: ClientCapabilitiesDtoDeviceProfile | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Id': value.id, + 'Identification': DeviceProfileIdentificationToJSON(value.identification), + 'FriendlyName': value.friendlyName, + 'Manufacturer': value.manufacturer, + 'ManufacturerUrl': value.manufacturerUrl, + 'ModelName': value.modelName, + 'ModelDescription': value.modelDescription, + 'ModelNumber': value.modelNumber, + 'ModelUrl': value.modelUrl, + 'SerialNumber': value.serialNumber, + 'EnableAlbumArtInDidl': value.enableAlbumArtInDidl, + 'EnableSingleAlbumArtLimit': value.enableSingleAlbumArtLimit, + 'EnableSingleSubtitleLimit': value.enableSingleSubtitleLimit, + 'SupportedMediaTypes': value.supportedMediaTypes, + 'UserId': value.userId, + 'AlbumArtPn': value.albumArtPn, + 'MaxAlbumArtWidth': value.maxAlbumArtWidth, + 'MaxAlbumArtHeight': value.maxAlbumArtHeight, + 'MaxIconWidth': value.maxIconWidth, + 'MaxIconHeight': value.maxIconHeight, + 'MaxStreamingBitrate': value.maxStreamingBitrate, + 'MaxStaticBitrate': value.maxStaticBitrate, + 'MusicStreamingTranscodingBitrate': value.musicStreamingTranscodingBitrate, + 'MaxStaticMusicBitrate': value.maxStaticMusicBitrate, + 'SonyAggregationFlags': value.sonyAggregationFlags, + 'ProtocolInfo': value.protocolInfo, + 'TimelineOffsetSeconds': value.timelineOffsetSeconds, + 'RequiresPlainVideoItems': value.requiresPlainVideoItems, + 'RequiresPlainFolders': value.requiresPlainFolders, + 'EnableMSMediaReceiverRegistrar': value.enableMSMediaReceiverRegistrar, + 'IgnoreTranscodeByteRangeRequests': value.ignoreTranscodeByteRangeRequests, + 'XmlRootAttributes': value.xmlRootAttributes === undefined ? undefined : ((value.xmlRootAttributes as Array).map(XmlAttributeToJSON)), + 'DirectPlayProfiles': value.directPlayProfiles === undefined ? undefined : ((value.directPlayProfiles as Array).map(DirectPlayProfileToJSON)), + 'TranscodingProfiles': value.transcodingProfiles === undefined ? undefined : ((value.transcodingProfiles as Array).map(TranscodingProfileToJSON)), + 'ContainerProfiles': value.containerProfiles === undefined ? undefined : ((value.containerProfiles as Array).map(ContainerProfileToJSON)), + 'CodecProfiles': value.codecProfiles === undefined ? undefined : ((value.codecProfiles as Array).map(CodecProfileToJSON)), + 'ResponseProfiles': value.responseProfiles === undefined ? undefined : ((value.responseProfiles as Array).map(ResponseProfileToJSON)), + 'SubtitleProfiles': value.subtitleProfiles === undefined ? undefined : ((value.subtitleProfiles as Array).map(SubtitleProfileToJSON)), + }; +} + diff --git a/server/jellyfin/models/ClientLogDocumentResponseDto.ts b/server/jellyfin/models/ClientLogDocumentResponseDto.ts new file mode 100644 index 0000000..7dddc41 --- /dev/null +++ b/server/jellyfin/models/ClientLogDocumentResponseDto.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Client log document response dto. + * @export + * @interface ClientLogDocumentResponseDto + */ +export interface ClientLogDocumentResponseDto { + /** + * Gets the resulting filename. + * @type {string} + * @memberof ClientLogDocumentResponseDto + */ + fileName?: string; +} + +/** + * Check if a given object implements the ClientLogDocumentResponseDto interface. + */ +export function instanceOfClientLogDocumentResponseDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ClientLogDocumentResponseDtoFromJSON(json: any): ClientLogDocumentResponseDto { + return ClientLogDocumentResponseDtoFromJSONTyped(json, false); +} + +export function ClientLogDocumentResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ClientLogDocumentResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'fileName': !exists(json, 'FileName') ? undefined : json['FileName'], + }; +} + +export function ClientLogDocumentResponseDtoToJSON(value?: ClientLogDocumentResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'FileName': value.fileName, + }; +} + diff --git a/server/jellyfin/models/CodecProfile.ts b/server/jellyfin/models/CodecProfile.ts new file mode 100644 index 0000000..59cec9c --- /dev/null +++ b/server/jellyfin/models/CodecProfile.ts @@ -0,0 +1,110 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { CodecType } from './CodecType'; +import { + CodecTypeFromJSON, + CodecTypeFromJSONTyped, + CodecTypeToJSON, +} from './CodecType'; +import type { ProfileCondition } from './ProfileCondition'; +import { + ProfileConditionFromJSON, + ProfileConditionFromJSONTyped, + ProfileConditionToJSON, +} from './ProfileCondition'; + +/** + * + * @export + * @interface CodecProfile + */ +export interface CodecProfile { + /** + * + * @type {CodecType} + * @memberof CodecProfile + */ + type?: CodecType; + /** + * + * @type {Array} + * @memberof CodecProfile + */ + conditions?: Array | null; + /** + * + * @type {Array} + * @memberof CodecProfile + */ + applyConditions?: Array | null; + /** + * + * @type {string} + * @memberof CodecProfile + */ + codec?: string | null; + /** + * + * @type {string} + * @memberof CodecProfile + */ + container?: string | null; +} + +/** + * Check if a given object implements the CodecProfile interface. + */ +export function instanceOfCodecProfile(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function CodecProfileFromJSON(json: any): CodecProfile { + return CodecProfileFromJSONTyped(json, false); +} + +export function CodecProfileFromJSONTyped(json: any, ignoreDiscriminator: boolean): CodecProfile { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'type': !exists(json, 'Type') ? undefined : CodecTypeFromJSON(json['Type']), + 'conditions': !exists(json, 'Conditions') ? undefined : (json['Conditions'] === null ? null : (json['Conditions'] as Array).map(ProfileConditionFromJSON)), + 'applyConditions': !exists(json, 'ApplyConditions') ? undefined : (json['ApplyConditions'] === null ? null : (json['ApplyConditions'] as Array).map(ProfileConditionFromJSON)), + 'codec': !exists(json, 'Codec') ? undefined : json['Codec'], + 'container': !exists(json, 'Container') ? undefined : json['Container'], + }; +} + +export function CodecProfileToJSON(value?: CodecProfile | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Type': CodecTypeToJSON(value.type), + 'Conditions': value.conditions === undefined ? undefined : (value.conditions === null ? null : (value.conditions as Array).map(ProfileConditionToJSON)), + 'ApplyConditions': value.applyConditions === undefined ? undefined : (value.applyConditions === null ? null : (value.applyConditions as Array).map(ProfileConditionToJSON)), + 'Codec': value.codec, + 'Container': value.container, + }; +} + diff --git a/server/jellyfin/models/CodecType.ts b/server/jellyfin/models/CodecType.ts new file mode 100644 index 0000000..42b6a8d --- /dev/null +++ b/server/jellyfin/models/CodecType.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const CodecType = { + Video: 'Video', + VideoAudio: 'VideoAudio', + Audio: 'Audio' +} as const; +export type CodecType = typeof CodecType[keyof typeof CodecType]; + + +export function CodecTypeFromJSON(json: any): CodecType { + return CodecTypeFromJSONTyped(json, false); +} + +export function CodecTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): CodecType { + return json as CodecType; +} + +export function CodecTypeToJSON(value?: CodecType | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/CollectionCreationResult.ts b/server/jellyfin/models/CollectionCreationResult.ts new file mode 100644 index 0000000..d5eeaa1 --- /dev/null +++ b/server/jellyfin/models/CollectionCreationResult.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface CollectionCreationResult + */ +export interface CollectionCreationResult { + /** + * + * @type {string} + * @memberof CollectionCreationResult + */ + id?: string; +} + +/** + * Check if a given object implements the CollectionCreationResult interface. + */ +export function instanceOfCollectionCreationResult(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function CollectionCreationResultFromJSON(json: any): CollectionCreationResult { + return CollectionCreationResultFromJSONTyped(json, false); +} + +export function CollectionCreationResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): CollectionCreationResult { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'Id') ? undefined : json['Id'], + }; +} + +export function CollectionCreationResultToJSON(value?: CollectionCreationResult | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Id': value.id, + }; +} + diff --git a/server/jellyfin/models/CollectionTypeOptions.ts b/server/jellyfin/models/CollectionTypeOptions.ts new file mode 100644 index 0000000..040eca6 --- /dev/null +++ b/server/jellyfin/models/CollectionTypeOptions.ts @@ -0,0 +1,44 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const CollectionTypeOptions = { + Movies: 'Movies', + TvShows: 'TvShows', + Music: 'Music', + MusicVideos: 'MusicVideos', + HomeVideos: 'HomeVideos', + BoxSets: 'BoxSets', + Books: 'Books', + Mixed: 'Mixed' +} as const; +export type CollectionTypeOptions = typeof CollectionTypeOptions[keyof typeof CollectionTypeOptions]; + + +export function CollectionTypeOptionsFromJSON(json: any): CollectionTypeOptions { + return CollectionTypeOptionsFromJSONTyped(json, false); +} + +export function CollectionTypeOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): CollectionTypeOptions { + return json as CollectionTypeOptions; +} + +export function CollectionTypeOptionsToJSON(value?: CollectionTypeOptions | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/ConfigImageTypes.ts b/server/jellyfin/models/ConfigImageTypes.ts new file mode 100644 index 0000000..14203ef --- /dev/null +++ b/server/jellyfin/models/ConfigImageTypes.ts @@ -0,0 +1,113 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface ConfigImageTypes + */ +export interface ConfigImageTypes { + /** + * + * @type {Array} + * @memberof ConfigImageTypes + */ + backdropSizes?: Array | null; + /** + * + * @type {string} + * @memberof ConfigImageTypes + */ + baseUrl?: string | null; + /** + * + * @type {Array} + * @memberof ConfigImageTypes + */ + logoSizes?: Array | null; + /** + * + * @type {Array} + * @memberof ConfigImageTypes + */ + posterSizes?: Array | null; + /** + * + * @type {Array} + * @memberof ConfigImageTypes + */ + profileSizes?: Array | null; + /** + * + * @type {string} + * @memberof ConfigImageTypes + */ + secureBaseUrl?: string | null; + /** + * + * @type {Array} + * @memberof ConfigImageTypes + */ + stillSizes?: Array | null; +} + +/** + * Check if a given object implements the ConfigImageTypes interface. + */ +export function instanceOfConfigImageTypes(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ConfigImageTypesFromJSON(json: any): ConfigImageTypes { + return ConfigImageTypesFromJSONTyped(json, false); +} + +export function ConfigImageTypesFromJSONTyped(json: any, ignoreDiscriminator: boolean): ConfigImageTypes { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'backdropSizes': !exists(json, 'BackdropSizes') ? undefined : json['BackdropSizes'], + 'baseUrl': !exists(json, 'BaseUrl') ? undefined : json['BaseUrl'], + 'logoSizes': !exists(json, 'LogoSizes') ? undefined : json['LogoSizes'], + 'posterSizes': !exists(json, 'PosterSizes') ? undefined : json['PosterSizes'], + 'profileSizes': !exists(json, 'ProfileSizes') ? undefined : json['ProfileSizes'], + 'secureBaseUrl': !exists(json, 'SecureBaseUrl') ? undefined : json['SecureBaseUrl'], + 'stillSizes': !exists(json, 'StillSizes') ? undefined : json['StillSizes'], + }; +} + +export function ConfigImageTypesToJSON(value?: ConfigImageTypes | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'BackdropSizes': value.backdropSizes, + 'BaseUrl': value.baseUrl, + 'LogoSizes': value.logoSizes, + 'PosterSizes': value.posterSizes, + 'ProfileSizes': value.profileSizes, + 'SecureBaseUrl': value.secureBaseUrl, + 'StillSizes': value.stillSizes, + }; +} + diff --git a/server/jellyfin/models/ConfigurationPageInfo.ts b/server/jellyfin/models/ConfigurationPageInfo.ts new file mode 100644 index 0000000..fe28c6a --- /dev/null +++ b/server/jellyfin/models/ConfigurationPageInfo.ts @@ -0,0 +1,105 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * The configuration page info. + * @export + * @interface ConfigurationPageInfo + */ +export interface ConfigurationPageInfo { + /** + * Gets or sets the name. + * @type {string} + * @memberof ConfigurationPageInfo + */ + name?: string; + /** + * Gets or sets a value indicating whether the configurations page is enabled in the main menu. + * @type {boolean} + * @memberof ConfigurationPageInfo + */ + enableInMainMenu?: boolean; + /** + * Gets or sets the menu section. + * @type {string} + * @memberof ConfigurationPageInfo + */ + menuSection?: string | null; + /** + * Gets or sets the menu icon. + * @type {string} + * @memberof ConfigurationPageInfo + */ + menuIcon?: string | null; + /** + * Gets or sets the display name. + * @type {string} + * @memberof ConfigurationPageInfo + */ + displayName?: string | null; + /** + * Gets or sets the plugin id. + * @type {string} + * @memberof ConfigurationPageInfo + */ + pluginId?: string | null; +} + +/** + * Check if a given object implements the ConfigurationPageInfo interface. + */ +export function instanceOfConfigurationPageInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ConfigurationPageInfoFromJSON(json: any): ConfigurationPageInfo { + return ConfigurationPageInfoFromJSONTyped(json, false); +} + +export function ConfigurationPageInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ConfigurationPageInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'enableInMainMenu': !exists(json, 'EnableInMainMenu') ? undefined : json['EnableInMainMenu'], + 'menuSection': !exists(json, 'MenuSection') ? undefined : json['MenuSection'], + 'menuIcon': !exists(json, 'MenuIcon') ? undefined : json['MenuIcon'], + 'displayName': !exists(json, 'DisplayName') ? undefined : json['DisplayName'], + 'pluginId': !exists(json, 'PluginId') ? undefined : json['PluginId'], + }; +} + +export function ConfigurationPageInfoToJSON(value?: ConfigurationPageInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'EnableInMainMenu': value.enableInMainMenu, + 'MenuSection': value.menuSection, + 'MenuIcon': value.menuIcon, + 'DisplayName': value.displayName, + 'PluginId': value.pluginId, + }; +} + diff --git a/server/jellyfin/models/ContainerProfile.ts b/server/jellyfin/models/ContainerProfile.ts new file mode 100644 index 0000000..a4d99f3 --- /dev/null +++ b/server/jellyfin/models/ContainerProfile.ts @@ -0,0 +1,94 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { DlnaProfileType } from './DlnaProfileType'; +import { + DlnaProfileTypeFromJSON, + DlnaProfileTypeFromJSONTyped, + DlnaProfileTypeToJSON, +} from './DlnaProfileType'; +import type { ProfileCondition } from './ProfileCondition'; +import { + ProfileConditionFromJSON, + ProfileConditionFromJSONTyped, + ProfileConditionToJSON, +} from './ProfileCondition'; + +/** + * + * @export + * @interface ContainerProfile + */ +export interface ContainerProfile { + /** + * + * @type {DlnaProfileType} + * @memberof ContainerProfile + */ + type?: DlnaProfileType; + /** + * + * @type {Array} + * @memberof ContainerProfile + */ + conditions?: Array | null; + /** + * + * @type {string} + * @memberof ContainerProfile + */ + container?: string; +} + +/** + * Check if a given object implements the ContainerProfile interface. + */ +export function instanceOfContainerProfile(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ContainerProfileFromJSON(json: any): ContainerProfile { + return ContainerProfileFromJSONTyped(json, false); +} + +export function ContainerProfileFromJSONTyped(json: any, ignoreDiscriminator: boolean): ContainerProfile { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'type': !exists(json, 'Type') ? undefined : DlnaProfileTypeFromJSON(json['Type']), + 'conditions': !exists(json, 'Conditions') ? undefined : (json['Conditions'] === null ? null : (json['Conditions'] as Array).map(ProfileConditionFromJSON)), + 'container': !exists(json, 'Container') ? undefined : json['Container'], + }; +} + +export function ContainerProfileToJSON(value?: ContainerProfile | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Type': DlnaProfileTypeToJSON(value.type), + 'Conditions': value.conditions === undefined ? undefined : (value.conditions === null ? null : (value.conditions as Array).map(ProfileConditionToJSON)), + 'Container': value.container, + }; +} + diff --git a/server/jellyfin/models/ControlResponse.ts b/server/jellyfin/models/ControlResponse.ts new file mode 100644 index 0000000..7ace2e7 --- /dev/null +++ b/server/jellyfin/models/ControlResponse.ts @@ -0,0 +1,80 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface ControlResponse + */ +export interface ControlResponse { + /** + * + * @type {{ [key: string]: string; }} + * @memberof ControlResponse + */ + readonly headers?: { [key: string]: string; }; + /** + * + * @type {string} + * @memberof ControlResponse + */ + xml?: string; + /** + * + * @type {boolean} + * @memberof ControlResponse + */ + isSuccessful?: boolean; +} + +/** + * Check if a given object implements the ControlResponse interface. + */ +export function instanceOfControlResponse(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ControlResponseFromJSON(json: any): ControlResponse { + return ControlResponseFromJSONTyped(json, false); +} + +export function ControlResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ControlResponse { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'headers': !exists(json, 'Headers') ? undefined : json['Headers'], + 'xml': !exists(json, 'Xml') ? undefined : json['Xml'], + 'isSuccessful': !exists(json, 'IsSuccessful') ? undefined : json['IsSuccessful'], + }; +} + +export function ControlResponseToJSON(value?: ControlResponse | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Xml': value.xml, + 'IsSuccessful': value.isSuccessful, + }; +} + diff --git a/server/jellyfin/models/CountryInfo.ts b/server/jellyfin/models/CountryInfo.ts new file mode 100644 index 0000000..c82e28b --- /dev/null +++ b/server/jellyfin/models/CountryInfo.ts @@ -0,0 +1,89 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class CountryInfo. + * @export + * @interface CountryInfo + */ +export interface CountryInfo { + /** + * Gets or sets the name. + * @type {string} + * @memberof CountryInfo + */ + name?: string | null; + /** + * Gets or sets the display name. + * @type {string} + * @memberof CountryInfo + */ + displayName?: string | null; + /** + * Gets or sets the name of the two letter ISO region. + * @type {string} + * @memberof CountryInfo + */ + twoLetterISORegionName?: string | null; + /** + * Gets or sets the name of the three letter ISO region. + * @type {string} + * @memberof CountryInfo + */ + threeLetterISORegionName?: string | null; +} + +/** + * Check if a given object implements the CountryInfo interface. + */ +export function instanceOfCountryInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function CountryInfoFromJSON(json: any): CountryInfo { + return CountryInfoFromJSONTyped(json, false); +} + +export function CountryInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): CountryInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'displayName': !exists(json, 'DisplayName') ? undefined : json['DisplayName'], + 'twoLetterISORegionName': !exists(json, 'TwoLetterISORegionName') ? undefined : json['TwoLetterISORegionName'], + 'threeLetterISORegionName': !exists(json, 'ThreeLetterISORegionName') ? undefined : json['ThreeLetterISORegionName'], + }; +} + +export function CountryInfoToJSON(value?: CountryInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'DisplayName': value.displayName, + 'TwoLetterISORegionName': value.twoLetterISORegionName, + 'ThreeLetterISORegionName': value.threeLetterISORegionName, + }; +} + diff --git a/server/jellyfin/models/CreateAdminNotificationRequest.ts b/server/jellyfin/models/CreateAdminNotificationRequest.ts new file mode 100644 index 0000000..61d5ed7 --- /dev/null +++ b/server/jellyfin/models/CreateAdminNotificationRequest.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { NotificationLevel } from './NotificationLevel'; +import { + NotificationLevelFromJSON, + NotificationLevelFromJSONTyped, + NotificationLevelToJSON, +} from './NotificationLevel'; + +/** + * The admin notification dto. + * @export + * @interface CreateAdminNotificationRequest + */ +export interface CreateAdminNotificationRequest { + /** + * Gets or sets the notification name. + * @type {string} + * @memberof CreateAdminNotificationRequest + */ + name?: string | null; + /** + * Gets or sets the notification description. + * @type {string} + * @memberof CreateAdminNotificationRequest + */ + description?: string | null; + /** + * + * @type {NotificationLevel} + * @memberof CreateAdminNotificationRequest + */ + notificationLevel?: NotificationLevel | null; + /** + * Gets or sets the notification url. + * @type {string} + * @memberof CreateAdminNotificationRequest + */ + url?: string | null; +} + +/** + * Check if a given object implements the CreateAdminNotificationRequest interface. + */ +export function instanceOfCreateAdminNotificationRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function CreateAdminNotificationRequestFromJSON(json: any): CreateAdminNotificationRequest { + return CreateAdminNotificationRequestFromJSONTyped(json, false); +} + +export function CreateAdminNotificationRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateAdminNotificationRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'description': !exists(json, 'Description') ? undefined : json['Description'], + 'notificationLevel': !exists(json, 'NotificationLevel') ? undefined : NotificationLevelFromJSON(json['NotificationLevel']), + 'url': !exists(json, 'Url') ? undefined : json['Url'], + }; +} + +export function CreateAdminNotificationRequestToJSON(value?: CreateAdminNotificationRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Description': value.description, + 'NotificationLevel': NotificationLevelToJSON(value.notificationLevel), + 'Url': value.url, + }; +} + diff --git a/server/jellyfin/models/CreatePlaylistDto.ts b/server/jellyfin/models/CreatePlaylistDto.ts new file mode 100644 index 0000000..6771a22 --- /dev/null +++ b/server/jellyfin/models/CreatePlaylistDto.ts @@ -0,0 +1,89 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Create new playlist dto. + * @export + * @interface CreatePlaylistDto + */ +export interface CreatePlaylistDto { + /** + * Gets or sets the name of the new playlist. + * @type {string} + * @memberof CreatePlaylistDto + */ + name?: string | null; + /** + * Gets or sets item ids to add to the playlist. + * @type {Array} + * @memberof CreatePlaylistDto + */ + ids?: Array; + /** + * Gets or sets the user id. + * @type {string} + * @memberof CreatePlaylistDto + */ + userId?: string | null; + /** + * Gets or sets the media type. + * @type {string} + * @memberof CreatePlaylistDto + */ + mediaType?: string | null; +} + +/** + * Check if a given object implements the CreatePlaylistDto interface. + */ +export function instanceOfCreatePlaylistDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function CreatePlaylistDtoFromJSON(json: any): CreatePlaylistDto { + return CreatePlaylistDtoFromJSONTyped(json, false); +} + +export function CreatePlaylistDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreatePlaylistDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'ids': !exists(json, 'Ids') ? undefined : json['Ids'], + 'userId': !exists(json, 'UserId') ? undefined : json['UserId'], + 'mediaType': !exists(json, 'MediaType') ? undefined : json['MediaType'], + }; +} + +export function CreatePlaylistDtoToJSON(value?: CreatePlaylistDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Ids': value.ids, + 'UserId': value.userId, + 'MediaType': value.mediaType, + }; +} + diff --git a/server/jellyfin/models/CreatePlaylistRequest.ts b/server/jellyfin/models/CreatePlaylistRequest.ts new file mode 100644 index 0000000..0d0397d --- /dev/null +++ b/server/jellyfin/models/CreatePlaylistRequest.ts @@ -0,0 +1,89 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Create new playlist dto. + * @export + * @interface CreatePlaylistRequest + */ +export interface CreatePlaylistRequest { + /** + * Gets or sets the name of the new playlist. + * @type {string} + * @memberof CreatePlaylistRequest + */ + name?: string | null; + /** + * Gets or sets item ids to add to the playlist. + * @type {Array} + * @memberof CreatePlaylistRequest + */ + ids?: Array; + /** + * Gets or sets the user id. + * @type {string} + * @memberof CreatePlaylistRequest + */ + userId?: string | null; + /** + * Gets or sets the media type. + * @type {string} + * @memberof CreatePlaylistRequest + */ + mediaType?: string | null; +} + +/** + * Check if a given object implements the CreatePlaylistRequest interface. + */ +export function instanceOfCreatePlaylistRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function CreatePlaylistRequestFromJSON(json: any): CreatePlaylistRequest { + return CreatePlaylistRequestFromJSONTyped(json, false); +} + +export function CreatePlaylistRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreatePlaylistRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'ids': !exists(json, 'Ids') ? undefined : json['Ids'], + 'userId': !exists(json, 'UserId') ? undefined : json['UserId'], + 'mediaType': !exists(json, 'MediaType') ? undefined : json['MediaType'], + }; +} + +export function CreatePlaylistRequestToJSON(value?: CreatePlaylistRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Ids': value.ids, + 'UserId': value.userId, + 'MediaType': value.mediaType, + }; +} + diff --git a/server/jellyfin/models/CreateProfileRequest.ts b/server/jellyfin/models/CreateProfileRequest.ts new file mode 100644 index 0000000..648dd89 --- /dev/null +++ b/server/jellyfin/models/CreateProfileRequest.ts @@ -0,0 +1,423 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { CodecProfile } from './CodecProfile'; +import { + CodecProfileFromJSON, + CodecProfileFromJSONTyped, + CodecProfileToJSON, +} from './CodecProfile'; +import type { ContainerProfile } from './ContainerProfile'; +import { + ContainerProfileFromJSON, + ContainerProfileFromJSONTyped, + ContainerProfileToJSON, +} from './ContainerProfile'; +import type { DeviceProfileIdentification } from './DeviceProfileIdentification'; +import { + DeviceProfileIdentificationFromJSON, + DeviceProfileIdentificationFromJSONTyped, + DeviceProfileIdentificationToJSON, +} from './DeviceProfileIdentification'; +import type { DirectPlayProfile } from './DirectPlayProfile'; +import { + DirectPlayProfileFromJSON, + DirectPlayProfileFromJSONTyped, + DirectPlayProfileToJSON, +} from './DirectPlayProfile'; +import type { ResponseProfile } from './ResponseProfile'; +import { + ResponseProfileFromJSON, + ResponseProfileFromJSONTyped, + ResponseProfileToJSON, +} from './ResponseProfile'; +import type { SubtitleProfile } from './SubtitleProfile'; +import { + SubtitleProfileFromJSON, + SubtitleProfileFromJSONTyped, + SubtitleProfileToJSON, +} from './SubtitleProfile'; +import type { TranscodingProfile } from './TranscodingProfile'; +import { + TranscodingProfileFromJSON, + TranscodingProfileFromJSONTyped, + TranscodingProfileToJSON, +} from './TranscodingProfile'; +import type { XmlAttribute } from './XmlAttribute'; +import { + XmlAttributeFromJSON, + XmlAttributeFromJSONTyped, + XmlAttributeToJSON, +} from './XmlAttribute'; + +/** + * A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play. + *
+ * Specifically, it defines the supported containers and + * codecs (video and/or audio, including codec profiles and levels) + * the device is able to direct play (without transcoding or remuxing), + * as well as which containers/codecs to transcode to in case it isn't. + * @export + * @interface CreateProfileRequest + */ +export interface CreateProfileRequest { + /** + * Gets or sets the name of this device profile. + * @type {string} + * @memberof CreateProfileRequest + */ + name?: string | null; + /** + * Gets or sets the Id. + * @type {string} + * @memberof CreateProfileRequest + */ + id?: string | null; + /** + * + * @type {DeviceProfileIdentification} + * @memberof CreateProfileRequest + */ + identification?: DeviceProfileIdentification | null; + /** + * Gets or sets the friendly name of the device profile, which can be shown to users. + * @type {string} + * @memberof CreateProfileRequest + */ + friendlyName?: string | null; + /** + * Gets or sets the manufacturer of the device which this profile represents. + * @type {string} + * @memberof CreateProfileRequest + */ + manufacturer?: string | null; + /** + * Gets or sets an url for the manufacturer of the device which this profile represents. + * @type {string} + * @memberof CreateProfileRequest + */ + manufacturerUrl?: string | null; + /** + * Gets or sets the model name of the device which this profile represents. + * @type {string} + * @memberof CreateProfileRequest + */ + modelName?: string | null; + /** + * Gets or sets the model description of the device which this profile represents. + * @type {string} + * @memberof CreateProfileRequest + */ + modelDescription?: string | null; + /** + * Gets or sets the model number of the device which this profile represents. + * @type {string} + * @memberof CreateProfileRequest + */ + modelNumber?: string | null; + /** + * Gets or sets the ModelUrl. + * @type {string} + * @memberof CreateProfileRequest + */ + modelUrl?: string | null; + /** + * Gets or sets the serial number of the device which this profile represents. + * @type {string} + * @memberof CreateProfileRequest + */ + serialNumber?: string | null; + /** + * Gets or sets a value indicating whether EnableAlbumArtInDidl. + * @type {boolean} + * @memberof CreateProfileRequest + */ + enableAlbumArtInDidl?: boolean; + /** + * Gets or sets a value indicating whether EnableSingleAlbumArtLimit. + * @type {boolean} + * @memberof CreateProfileRequest + */ + enableSingleAlbumArtLimit?: boolean; + /** + * Gets or sets a value indicating whether EnableSingleSubtitleLimit. + * @type {boolean} + * @memberof CreateProfileRequest + */ + enableSingleSubtitleLimit?: boolean; + /** + * Gets or sets the SupportedMediaTypes. + * @type {string} + * @memberof CreateProfileRequest + */ + supportedMediaTypes?: string; + /** + * Gets or sets the UserId. + * @type {string} + * @memberof CreateProfileRequest + */ + userId?: string | null; + /** + * Gets or sets the AlbumArtPn. + * @type {string} + * @memberof CreateProfileRequest + */ + albumArtPn?: string | null; + /** + * Gets or sets the MaxAlbumArtWidth. + * @type {number} + * @memberof CreateProfileRequest + */ + maxAlbumArtWidth?: number | null; + /** + * Gets or sets the MaxAlbumArtHeight. + * @type {number} + * @memberof CreateProfileRequest + */ + maxAlbumArtHeight?: number | null; + /** + * Gets or sets the maximum allowed width of embedded icons. + * @type {number} + * @memberof CreateProfileRequest + */ + maxIconWidth?: number | null; + /** + * Gets or sets the maximum allowed height of embedded icons. + * @type {number} + * @memberof CreateProfileRequest + */ + maxIconHeight?: number | null; + /** + * Gets or sets the maximum allowed bitrate for all streamed content. + * @type {number} + * @memberof CreateProfileRequest + */ + maxStreamingBitrate?: number | null; + /** + * Gets or sets the maximum allowed bitrate for statically streamed content (= direct played files). + * @type {number} + * @memberof CreateProfileRequest + */ + maxStaticBitrate?: number | null; + /** + * Gets or sets the maximum allowed bitrate for transcoded music streams. + * @type {number} + * @memberof CreateProfileRequest + */ + musicStreamingTranscodingBitrate?: number | null; + /** + * Gets or sets the maximum allowed bitrate for statically streamed (= direct played) music files. + * @type {number} + * @memberof CreateProfileRequest + */ + maxStaticMusicBitrate?: number | null; + /** + * Gets or sets the content of the aggregationFlags element in the urn:schemas-sonycom:av namespace. + * @type {string} + * @memberof CreateProfileRequest + */ + sonyAggregationFlags?: string | null; + /** + * Gets or sets the ProtocolInfo. + * @type {string} + * @memberof CreateProfileRequest + */ + protocolInfo?: string | null; + /** + * Gets or sets the TimelineOffsetSeconds. + * @type {number} + * @memberof CreateProfileRequest + */ + timelineOffsetSeconds?: number; + /** + * Gets or sets a value indicating whether RequiresPlainVideoItems. + * @type {boolean} + * @memberof CreateProfileRequest + */ + requiresPlainVideoItems?: boolean; + /** + * Gets or sets a value indicating whether RequiresPlainFolders. + * @type {boolean} + * @memberof CreateProfileRequest + */ + requiresPlainFolders?: boolean; + /** + * Gets or sets a value indicating whether EnableMSMediaReceiverRegistrar. + * @type {boolean} + * @memberof CreateProfileRequest + */ + enableMSMediaReceiverRegistrar?: boolean; + /** + * Gets or sets a value indicating whether IgnoreTranscodeByteRangeRequests. + * @type {boolean} + * @memberof CreateProfileRequest + */ + ignoreTranscodeByteRangeRequests?: boolean; + /** + * Gets or sets the XmlRootAttributes. + * @type {Array} + * @memberof CreateProfileRequest + */ + xmlRootAttributes?: Array; + /** + * Gets or sets the direct play profiles. + * @type {Array} + * @memberof CreateProfileRequest + */ + directPlayProfiles?: Array; + /** + * Gets or sets the transcoding profiles. + * @type {Array} + * @memberof CreateProfileRequest + */ + transcodingProfiles?: Array; + /** + * Gets or sets the container profiles. + * @type {Array} + * @memberof CreateProfileRequest + */ + containerProfiles?: Array; + /** + * Gets or sets the codec profiles. + * @type {Array} + * @memberof CreateProfileRequest + */ + codecProfiles?: Array; + /** + * Gets or sets the ResponseProfiles. + * @type {Array} + * @memberof CreateProfileRequest + */ + responseProfiles?: Array; + /** + * Gets or sets the subtitle profiles. + * @type {Array} + * @memberof CreateProfileRequest + */ + subtitleProfiles?: Array; +} + +/** + * Check if a given object implements the CreateProfileRequest interface. + */ +export function instanceOfCreateProfileRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function CreateProfileRequestFromJSON(json: any): CreateProfileRequest { + return CreateProfileRequestFromJSONTyped(json, false); +} + +export function CreateProfileRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateProfileRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'identification': !exists(json, 'Identification') ? undefined : DeviceProfileIdentificationFromJSON(json['Identification']), + 'friendlyName': !exists(json, 'FriendlyName') ? undefined : json['FriendlyName'], + 'manufacturer': !exists(json, 'Manufacturer') ? undefined : json['Manufacturer'], + 'manufacturerUrl': !exists(json, 'ManufacturerUrl') ? undefined : json['ManufacturerUrl'], + 'modelName': !exists(json, 'ModelName') ? undefined : json['ModelName'], + 'modelDescription': !exists(json, 'ModelDescription') ? undefined : json['ModelDescription'], + 'modelNumber': !exists(json, 'ModelNumber') ? undefined : json['ModelNumber'], + 'modelUrl': !exists(json, 'ModelUrl') ? undefined : json['ModelUrl'], + 'serialNumber': !exists(json, 'SerialNumber') ? undefined : json['SerialNumber'], + 'enableAlbumArtInDidl': !exists(json, 'EnableAlbumArtInDidl') ? undefined : json['EnableAlbumArtInDidl'], + 'enableSingleAlbumArtLimit': !exists(json, 'EnableSingleAlbumArtLimit') ? undefined : json['EnableSingleAlbumArtLimit'], + 'enableSingleSubtitleLimit': !exists(json, 'EnableSingleSubtitleLimit') ? undefined : json['EnableSingleSubtitleLimit'], + 'supportedMediaTypes': !exists(json, 'SupportedMediaTypes') ? undefined : json['SupportedMediaTypes'], + 'userId': !exists(json, 'UserId') ? undefined : json['UserId'], + 'albumArtPn': !exists(json, 'AlbumArtPn') ? undefined : json['AlbumArtPn'], + 'maxAlbumArtWidth': !exists(json, 'MaxAlbumArtWidth') ? undefined : json['MaxAlbumArtWidth'], + 'maxAlbumArtHeight': !exists(json, 'MaxAlbumArtHeight') ? undefined : json['MaxAlbumArtHeight'], + 'maxIconWidth': !exists(json, 'MaxIconWidth') ? undefined : json['MaxIconWidth'], + 'maxIconHeight': !exists(json, 'MaxIconHeight') ? undefined : json['MaxIconHeight'], + 'maxStreamingBitrate': !exists(json, 'MaxStreamingBitrate') ? undefined : json['MaxStreamingBitrate'], + 'maxStaticBitrate': !exists(json, 'MaxStaticBitrate') ? undefined : json['MaxStaticBitrate'], + 'musicStreamingTranscodingBitrate': !exists(json, 'MusicStreamingTranscodingBitrate') ? undefined : json['MusicStreamingTranscodingBitrate'], + 'maxStaticMusicBitrate': !exists(json, 'MaxStaticMusicBitrate') ? undefined : json['MaxStaticMusicBitrate'], + 'sonyAggregationFlags': !exists(json, 'SonyAggregationFlags') ? undefined : json['SonyAggregationFlags'], + 'protocolInfo': !exists(json, 'ProtocolInfo') ? undefined : json['ProtocolInfo'], + 'timelineOffsetSeconds': !exists(json, 'TimelineOffsetSeconds') ? undefined : json['TimelineOffsetSeconds'], + 'requiresPlainVideoItems': !exists(json, 'RequiresPlainVideoItems') ? undefined : json['RequiresPlainVideoItems'], + 'requiresPlainFolders': !exists(json, 'RequiresPlainFolders') ? undefined : json['RequiresPlainFolders'], + 'enableMSMediaReceiverRegistrar': !exists(json, 'EnableMSMediaReceiverRegistrar') ? undefined : json['EnableMSMediaReceiverRegistrar'], + 'ignoreTranscodeByteRangeRequests': !exists(json, 'IgnoreTranscodeByteRangeRequests') ? undefined : json['IgnoreTranscodeByteRangeRequests'], + 'xmlRootAttributes': !exists(json, 'XmlRootAttributes') ? undefined : ((json['XmlRootAttributes'] as Array).map(XmlAttributeFromJSON)), + 'directPlayProfiles': !exists(json, 'DirectPlayProfiles') ? undefined : ((json['DirectPlayProfiles'] as Array).map(DirectPlayProfileFromJSON)), + 'transcodingProfiles': !exists(json, 'TranscodingProfiles') ? undefined : ((json['TranscodingProfiles'] as Array).map(TranscodingProfileFromJSON)), + 'containerProfiles': !exists(json, 'ContainerProfiles') ? undefined : ((json['ContainerProfiles'] as Array).map(ContainerProfileFromJSON)), + 'codecProfiles': !exists(json, 'CodecProfiles') ? undefined : ((json['CodecProfiles'] as Array).map(CodecProfileFromJSON)), + 'responseProfiles': !exists(json, 'ResponseProfiles') ? undefined : ((json['ResponseProfiles'] as Array).map(ResponseProfileFromJSON)), + 'subtitleProfiles': !exists(json, 'SubtitleProfiles') ? undefined : ((json['SubtitleProfiles'] as Array).map(SubtitleProfileFromJSON)), + }; +} + +export function CreateProfileRequestToJSON(value?: CreateProfileRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Id': value.id, + 'Identification': DeviceProfileIdentificationToJSON(value.identification), + 'FriendlyName': value.friendlyName, + 'Manufacturer': value.manufacturer, + 'ManufacturerUrl': value.manufacturerUrl, + 'ModelName': value.modelName, + 'ModelDescription': value.modelDescription, + 'ModelNumber': value.modelNumber, + 'ModelUrl': value.modelUrl, + 'SerialNumber': value.serialNumber, + 'EnableAlbumArtInDidl': value.enableAlbumArtInDidl, + 'EnableSingleAlbumArtLimit': value.enableSingleAlbumArtLimit, + 'EnableSingleSubtitleLimit': value.enableSingleSubtitleLimit, + 'SupportedMediaTypes': value.supportedMediaTypes, + 'UserId': value.userId, + 'AlbumArtPn': value.albumArtPn, + 'MaxAlbumArtWidth': value.maxAlbumArtWidth, + 'MaxAlbumArtHeight': value.maxAlbumArtHeight, + 'MaxIconWidth': value.maxIconWidth, + 'MaxIconHeight': value.maxIconHeight, + 'MaxStreamingBitrate': value.maxStreamingBitrate, + 'MaxStaticBitrate': value.maxStaticBitrate, + 'MusicStreamingTranscodingBitrate': value.musicStreamingTranscodingBitrate, + 'MaxStaticMusicBitrate': value.maxStaticMusicBitrate, + 'SonyAggregationFlags': value.sonyAggregationFlags, + 'ProtocolInfo': value.protocolInfo, + 'TimelineOffsetSeconds': value.timelineOffsetSeconds, + 'RequiresPlainVideoItems': value.requiresPlainVideoItems, + 'RequiresPlainFolders': value.requiresPlainFolders, + 'EnableMSMediaReceiverRegistrar': value.enableMSMediaReceiverRegistrar, + 'IgnoreTranscodeByteRangeRequests': value.ignoreTranscodeByteRangeRequests, + 'XmlRootAttributes': value.xmlRootAttributes === undefined ? undefined : ((value.xmlRootAttributes as Array).map(XmlAttributeToJSON)), + 'DirectPlayProfiles': value.directPlayProfiles === undefined ? undefined : ((value.directPlayProfiles as Array).map(DirectPlayProfileToJSON)), + 'TranscodingProfiles': value.transcodingProfiles === undefined ? undefined : ((value.transcodingProfiles as Array).map(TranscodingProfileToJSON)), + 'ContainerProfiles': value.containerProfiles === undefined ? undefined : ((value.containerProfiles as Array).map(ContainerProfileToJSON)), + 'CodecProfiles': value.codecProfiles === undefined ? undefined : ((value.codecProfiles as Array).map(CodecProfileToJSON)), + 'ResponseProfiles': value.responseProfiles === undefined ? undefined : ((value.responseProfiles as Array).map(ResponseProfileToJSON)), + 'SubtitleProfiles': value.subtitleProfiles === undefined ? undefined : ((value.subtitleProfiles as Array).map(SubtitleProfileToJSON)), + }; +} + diff --git a/server/jellyfin/models/CreateSeriesTimerRequest.ts b/server/jellyfin/models/CreateSeriesTimerRequest.ts new file mode 100644 index 0000000..4d8e010 --- /dev/null +++ b/server/jellyfin/models/CreateSeriesTimerRequest.ts @@ -0,0 +1,356 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { DayOfWeek } from './DayOfWeek'; +import { + DayOfWeekFromJSON, + DayOfWeekFromJSONTyped, + DayOfWeekToJSON, +} from './DayOfWeek'; +import type { DayPattern } from './DayPattern'; +import { + DayPatternFromJSON, + DayPatternFromJSONTyped, + DayPatternToJSON, +} from './DayPattern'; +import type { KeepUntil } from './KeepUntil'; +import { + KeepUntilFromJSON, + KeepUntilFromJSONTyped, + KeepUntilToJSON, +} from './KeepUntil'; + +/** + * Class SeriesTimerInfoDto. + * @export + * @interface CreateSeriesTimerRequest + */ +export interface CreateSeriesTimerRequest { + /** + * Gets or sets the Id of the recording. + * @type {string} + * @memberof CreateSeriesTimerRequest + */ + id?: string | null; + /** + * + * @type {string} + * @memberof CreateSeriesTimerRequest + */ + type?: string | null; + /** + * Gets or sets the server identifier. + * @type {string} + * @memberof CreateSeriesTimerRequest + */ + serverId?: string | null; + /** + * Gets or sets the external identifier. + * @type {string} + * @memberof CreateSeriesTimerRequest + */ + externalId?: string | null; + /** + * Gets or sets the channel id of the recording. + * @type {string} + * @memberof CreateSeriesTimerRequest + */ + channelId?: string; + /** + * Gets or sets the external channel identifier. + * @type {string} + * @memberof CreateSeriesTimerRequest + */ + externalChannelId?: string | null; + /** + * Gets or sets the channel name of the recording. + * @type {string} + * @memberof CreateSeriesTimerRequest + */ + channelName?: string | null; + /** + * + * @type {string} + * @memberof CreateSeriesTimerRequest + */ + channelPrimaryImageTag?: string | null; + /** + * Gets or sets the program identifier. + * @type {string} + * @memberof CreateSeriesTimerRequest + */ + programId?: string | null; + /** + * Gets or sets the external program identifier. + * @type {string} + * @memberof CreateSeriesTimerRequest + */ + externalProgramId?: string | null; + /** + * Gets or sets the name of the recording. + * @type {string} + * @memberof CreateSeriesTimerRequest + */ + name?: string | null; + /** + * Gets or sets the description of the recording. + * @type {string} + * @memberof CreateSeriesTimerRequest + */ + overview?: string | null; + /** + * Gets or sets the start date of the recording, in UTC. + * @type {Date} + * @memberof CreateSeriesTimerRequest + */ + startDate?: Date; + /** + * Gets or sets the end date of the recording, in UTC. + * @type {Date} + * @memberof CreateSeriesTimerRequest + */ + endDate?: Date; + /** + * Gets or sets the name of the service. + * @type {string} + * @memberof CreateSeriesTimerRequest + */ + serviceName?: string | null; + /** + * Gets or sets the priority. + * @type {number} + * @memberof CreateSeriesTimerRequest + */ + priority?: number; + /** + * Gets or sets the pre padding seconds. + * @type {number} + * @memberof CreateSeriesTimerRequest + */ + prePaddingSeconds?: number; + /** + * Gets or sets the post padding seconds. + * @type {number} + * @memberof CreateSeriesTimerRequest + */ + postPaddingSeconds?: number; + /** + * Gets or sets a value indicating whether this instance is pre padding required. + * @type {boolean} + * @memberof CreateSeriesTimerRequest + */ + isPrePaddingRequired?: boolean; + /** + * Gets or sets the Id of the Parent that has a backdrop if the item does not have one. + * @type {string} + * @memberof CreateSeriesTimerRequest + */ + parentBackdropItemId?: string | null; + /** + * Gets or sets the parent backdrop image tags. + * @type {Array} + * @memberof CreateSeriesTimerRequest + */ + parentBackdropImageTags?: Array | null; + /** + * Gets or sets a value indicating whether this instance is post padding required. + * @type {boolean} + * @memberof CreateSeriesTimerRequest + */ + isPostPaddingRequired?: boolean; + /** + * + * @type {KeepUntil} + * @memberof CreateSeriesTimerRequest + */ + keepUntil?: KeepUntil; + /** + * Gets or sets a value indicating whether [record any time]. + * @type {boolean} + * @memberof CreateSeriesTimerRequest + */ + recordAnyTime?: boolean; + /** + * + * @type {boolean} + * @memberof CreateSeriesTimerRequest + */ + skipEpisodesInLibrary?: boolean; + /** + * Gets or sets a value indicating whether [record any channel]. + * @type {boolean} + * @memberof CreateSeriesTimerRequest + */ + recordAnyChannel?: boolean; + /** + * + * @type {number} + * @memberof CreateSeriesTimerRequest + */ + keepUpTo?: number; + /** + * Gets or sets a value indicating whether [record new only]. + * @type {boolean} + * @memberof CreateSeriesTimerRequest + */ + recordNewOnly?: boolean; + /** + * Gets or sets the days. + * @type {Array} + * @memberof CreateSeriesTimerRequest + */ + days?: Array | null; + /** + * + * @type {DayPattern} + * @memberof CreateSeriesTimerRequest + */ + dayPattern?: DayPattern | null; + /** + * Gets or sets the image tags. + * @type {{ [key: string]: string; }} + * @memberof CreateSeriesTimerRequest + */ + imageTags?: { [key: string]: string; } | null; + /** + * Gets or sets the parent thumb item id. + * @type {string} + * @memberof CreateSeriesTimerRequest + */ + parentThumbItemId?: string | null; + /** + * Gets or sets the parent thumb image tag. + * @type {string} + * @memberof CreateSeriesTimerRequest + */ + parentThumbImageTag?: string | null; + /** + * Gets or sets the parent primary image item identifier. + * @type {string} + * @memberof CreateSeriesTimerRequest + */ + parentPrimaryImageItemId?: string | null; + /** + * Gets or sets the parent primary image tag. + * @type {string} + * @memberof CreateSeriesTimerRequest + */ + parentPrimaryImageTag?: string | null; +} + +/** + * Check if a given object implements the CreateSeriesTimerRequest interface. + */ +export function instanceOfCreateSeriesTimerRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function CreateSeriesTimerRequestFromJSON(json: any): CreateSeriesTimerRequest { + return CreateSeriesTimerRequestFromJSONTyped(json, false); +} + +export function CreateSeriesTimerRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateSeriesTimerRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'type': !exists(json, 'Type') ? undefined : json['Type'], + 'serverId': !exists(json, 'ServerId') ? undefined : json['ServerId'], + 'externalId': !exists(json, 'ExternalId') ? undefined : json['ExternalId'], + 'channelId': !exists(json, 'ChannelId') ? undefined : json['ChannelId'], + 'externalChannelId': !exists(json, 'ExternalChannelId') ? undefined : json['ExternalChannelId'], + 'channelName': !exists(json, 'ChannelName') ? undefined : json['ChannelName'], + 'channelPrimaryImageTag': !exists(json, 'ChannelPrimaryImageTag') ? undefined : json['ChannelPrimaryImageTag'], + 'programId': !exists(json, 'ProgramId') ? undefined : json['ProgramId'], + 'externalProgramId': !exists(json, 'ExternalProgramId') ? undefined : json['ExternalProgramId'], + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'overview': !exists(json, 'Overview') ? undefined : json['Overview'], + 'startDate': !exists(json, 'StartDate') ? undefined : (new Date(json['StartDate'])), + 'endDate': !exists(json, 'EndDate') ? undefined : (new Date(json['EndDate'])), + 'serviceName': !exists(json, 'ServiceName') ? undefined : json['ServiceName'], + 'priority': !exists(json, 'Priority') ? undefined : json['Priority'], + 'prePaddingSeconds': !exists(json, 'PrePaddingSeconds') ? undefined : json['PrePaddingSeconds'], + 'postPaddingSeconds': !exists(json, 'PostPaddingSeconds') ? undefined : json['PostPaddingSeconds'], + 'isPrePaddingRequired': !exists(json, 'IsPrePaddingRequired') ? undefined : json['IsPrePaddingRequired'], + 'parentBackdropItemId': !exists(json, 'ParentBackdropItemId') ? undefined : json['ParentBackdropItemId'], + 'parentBackdropImageTags': !exists(json, 'ParentBackdropImageTags') ? undefined : json['ParentBackdropImageTags'], + 'isPostPaddingRequired': !exists(json, 'IsPostPaddingRequired') ? undefined : json['IsPostPaddingRequired'], + 'keepUntil': !exists(json, 'KeepUntil') ? undefined : KeepUntilFromJSON(json['KeepUntil']), + 'recordAnyTime': !exists(json, 'RecordAnyTime') ? undefined : json['RecordAnyTime'], + 'skipEpisodesInLibrary': !exists(json, 'SkipEpisodesInLibrary') ? undefined : json['SkipEpisodesInLibrary'], + 'recordAnyChannel': !exists(json, 'RecordAnyChannel') ? undefined : json['RecordAnyChannel'], + 'keepUpTo': !exists(json, 'KeepUpTo') ? undefined : json['KeepUpTo'], + 'recordNewOnly': !exists(json, 'RecordNewOnly') ? undefined : json['RecordNewOnly'], + 'days': !exists(json, 'Days') ? undefined : (json['Days'] === null ? null : (json['Days'] as Array).map(DayOfWeekFromJSON)), + 'dayPattern': !exists(json, 'DayPattern') ? undefined : DayPatternFromJSON(json['DayPattern']), + 'imageTags': !exists(json, 'ImageTags') ? undefined : json['ImageTags'], + 'parentThumbItemId': !exists(json, 'ParentThumbItemId') ? undefined : json['ParentThumbItemId'], + 'parentThumbImageTag': !exists(json, 'ParentThumbImageTag') ? undefined : json['ParentThumbImageTag'], + 'parentPrimaryImageItemId': !exists(json, 'ParentPrimaryImageItemId') ? undefined : json['ParentPrimaryImageItemId'], + 'parentPrimaryImageTag': !exists(json, 'ParentPrimaryImageTag') ? undefined : json['ParentPrimaryImageTag'], + }; +} + +export function CreateSeriesTimerRequestToJSON(value?: CreateSeriesTimerRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Id': value.id, + 'Type': value.type, + 'ServerId': value.serverId, + 'ExternalId': value.externalId, + 'ChannelId': value.channelId, + 'ExternalChannelId': value.externalChannelId, + 'ChannelName': value.channelName, + 'ChannelPrimaryImageTag': value.channelPrimaryImageTag, + 'ProgramId': value.programId, + 'ExternalProgramId': value.externalProgramId, + 'Name': value.name, + 'Overview': value.overview, + 'StartDate': value.startDate === undefined ? undefined : (value.startDate.toISOString()), + 'EndDate': value.endDate === undefined ? undefined : (value.endDate.toISOString()), + 'ServiceName': value.serviceName, + 'Priority': value.priority, + 'PrePaddingSeconds': value.prePaddingSeconds, + 'PostPaddingSeconds': value.postPaddingSeconds, + 'IsPrePaddingRequired': value.isPrePaddingRequired, + 'ParentBackdropItemId': value.parentBackdropItemId, + 'ParentBackdropImageTags': value.parentBackdropImageTags, + 'IsPostPaddingRequired': value.isPostPaddingRequired, + 'KeepUntil': KeepUntilToJSON(value.keepUntil), + 'RecordAnyTime': value.recordAnyTime, + 'SkipEpisodesInLibrary': value.skipEpisodesInLibrary, + 'RecordAnyChannel': value.recordAnyChannel, + 'KeepUpTo': value.keepUpTo, + 'RecordNewOnly': value.recordNewOnly, + 'Days': value.days === undefined ? undefined : (value.days === null ? null : (value.days as Array).map(DayOfWeekToJSON)), + 'DayPattern': DayPatternToJSON(value.dayPattern), + 'ImageTags': value.imageTags, + 'ParentThumbItemId': value.parentThumbItemId, + 'ParentThumbImageTag': value.parentThumbImageTag, + 'ParentPrimaryImageItemId': value.parentPrimaryImageItemId, + 'ParentPrimaryImageTag': value.parentPrimaryImageTag, + }; +} + diff --git a/server/jellyfin/models/CreateTimerRequest.ts b/server/jellyfin/models/CreateTimerRequest.ts new file mode 100644 index 0000000..24db279 --- /dev/null +++ b/server/jellyfin/models/CreateTimerRequest.ts @@ -0,0 +1,300 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { KeepUntil } from './KeepUntil'; +import { + KeepUntilFromJSON, + KeepUntilFromJSONTyped, + KeepUntilToJSON, +} from './KeepUntil'; +import type { RecordingStatus } from './RecordingStatus'; +import { + RecordingStatusFromJSON, + RecordingStatusFromJSONTyped, + RecordingStatusToJSON, +} from './RecordingStatus'; +import type { TimerInfoDtoProgramInfo } from './TimerInfoDtoProgramInfo'; +import { + TimerInfoDtoProgramInfoFromJSON, + TimerInfoDtoProgramInfoFromJSONTyped, + TimerInfoDtoProgramInfoToJSON, +} from './TimerInfoDtoProgramInfo'; + +/** + * + * @export + * @interface CreateTimerRequest + */ +export interface CreateTimerRequest { + /** + * Gets or sets the Id of the recording. + * @type {string} + * @memberof CreateTimerRequest + */ + id?: string | null; + /** + * + * @type {string} + * @memberof CreateTimerRequest + */ + type?: string | null; + /** + * Gets or sets the server identifier. + * @type {string} + * @memberof CreateTimerRequest + */ + serverId?: string | null; + /** + * Gets or sets the external identifier. + * @type {string} + * @memberof CreateTimerRequest + */ + externalId?: string | null; + /** + * Gets or sets the channel id of the recording. + * @type {string} + * @memberof CreateTimerRequest + */ + channelId?: string; + /** + * Gets or sets the external channel identifier. + * @type {string} + * @memberof CreateTimerRequest + */ + externalChannelId?: string | null; + /** + * Gets or sets the channel name of the recording. + * @type {string} + * @memberof CreateTimerRequest + */ + channelName?: string | null; + /** + * + * @type {string} + * @memberof CreateTimerRequest + */ + channelPrimaryImageTag?: string | null; + /** + * Gets or sets the program identifier. + * @type {string} + * @memberof CreateTimerRequest + */ + programId?: string | null; + /** + * Gets or sets the external program identifier. + * @type {string} + * @memberof CreateTimerRequest + */ + externalProgramId?: string | null; + /** + * Gets or sets the name of the recording. + * @type {string} + * @memberof CreateTimerRequest + */ + name?: string | null; + /** + * Gets or sets the description of the recording. + * @type {string} + * @memberof CreateTimerRequest + */ + overview?: string | null; + /** + * Gets or sets the start date of the recording, in UTC. + * @type {Date} + * @memberof CreateTimerRequest + */ + startDate?: Date; + /** + * Gets or sets the end date of the recording, in UTC. + * @type {Date} + * @memberof CreateTimerRequest + */ + endDate?: Date; + /** + * Gets or sets the name of the service. + * @type {string} + * @memberof CreateTimerRequest + */ + serviceName?: string | null; + /** + * Gets or sets the priority. + * @type {number} + * @memberof CreateTimerRequest + */ + priority?: number; + /** + * Gets or sets the pre padding seconds. + * @type {number} + * @memberof CreateTimerRequest + */ + prePaddingSeconds?: number; + /** + * Gets or sets the post padding seconds. + * @type {number} + * @memberof CreateTimerRequest + */ + postPaddingSeconds?: number; + /** + * Gets or sets a value indicating whether this instance is pre padding required. + * @type {boolean} + * @memberof CreateTimerRequest + */ + isPrePaddingRequired?: boolean; + /** + * Gets or sets the Id of the Parent that has a backdrop if the item does not have one. + * @type {string} + * @memberof CreateTimerRequest + */ + parentBackdropItemId?: string | null; + /** + * Gets or sets the parent backdrop image tags. + * @type {Array} + * @memberof CreateTimerRequest + */ + parentBackdropImageTags?: Array | null; + /** + * Gets or sets a value indicating whether this instance is post padding required. + * @type {boolean} + * @memberof CreateTimerRequest + */ + isPostPaddingRequired?: boolean; + /** + * + * @type {KeepUntil} + * @memberof CreateTimerRequest + */ + keepUntil?: KeepUntil; + /** + * + * @type {RecordingStatus} + * @memberof CreateTimerRequest + */ + status?: RecordingStatus; + /** + * Gets or sets the series timer identifier. + * @type {string} + * @memberof CreateTimerRequest + */ + seriesTimerId?: string | null; + /** + * Gets or sets the external series timer identifier. + * @type {string} + * @memberof CreateTimerRequest + */ + externalSeriesTimerId?: string | null; + /** + * Gets or sets the run time ticks. + * @type {number} + * @memberof CreateTimerRequest + */ + runTimeTicks?: number | null; + /** + * + * @type {TimerInfoDtoProgramInfo} + * @memberof CreateTimerRequest + */ + programInfo?: TimerInfoDtoProgramInfo | null; +} + +/** + * Check if a given object implements the CreateTimerRequest interface. + */ +export function instanceOfCreateTimerRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function CreateTimerRequestFromJSON(json: any): CreateTimerRequest { + return CreateTimerRequestFromJSONTyped(json, false); +} + +export function CreateTimerRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateTimerRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'type': !exists(json, 'Type') ? undefined : json['Type'], + 'serverId': !exists(json, 'ServerId') ? undefined : json['ServerId'], + 'externalId': !exists(json, 'ExternalId') ? undefined : json['ExternalId'], + 'channelId': !exists(json, 'ChannelId') ? undefined : json['ChannelId'], + 'externalChannelId': !exists(json, 'ExternalChannelId') ? undefined : json['ExternalChannelId'], + 'channelName': !exists(json, 'ChannelName') ? undefined : json['ChannelName'], + 'channelPrimaryImageTag': !exists(json, 'ChannelPrimaryImageTag') ? undefined : json['ChannelPrimaryImageTag'], + 'programId': !exists(json, 'ProgramId') ? undefined : json['ProgramId'], + 'externalProgramId': !exists(json, 'ExternalProgramId') ? undefined : json['ExternalProgramId'], + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'overview': !exists(json, 'Overview') ? undefined : json['Overview'], + 'startDate': !exists(json, 'StartDate') ? undefined : (new Date(json['StartDate'])), + 'endDate': !exists(json, 'EndDate') ? undefined : (new Date(json['EndDate'])), + 'serviceName': !exists(json, 'ServiceName') ? undefined : json['ServiceName'], + 'priority': !exists(json, 'Priority') ? undefined : json['Priority'], + 'prePaddingSeconds': !exists(json, 'PrePaddingSeconds') ? undefined : json['PrePaddingSeconds'], + 'postPaddingSeconds': !exists(json, 'PostPaddingSeconds') ? undefined : json['PostPaddingSeconds'], + 'isPrePaddingRequired': !exists(json, 'IsPrePaddingRequired') ? undefined : json['IsPrePaddingRequired'], + 'parentBackdropItemId': !exists(json, 'ParentBackdropItemId') ? undefined : json['ParentBackdropItemId'], + 'parentBackdropImageTags': !exists(json, 'ParentBackdropImageTags') ? undefined : json['ParentBackdropImageTags'], + 'isPostPaddingRequired': !exists(json, 'IsPostPaddingRequired') ? undefined : json['IsPostPaddingRequired'], + 'keepUntil': !exists(json, 'KeepUntil') ? undefined : KeepUntilFromJSON(json['KeepUntil']), + 'status': !exists(json, 'Status') ? undefined : RecordingStatusFromJSON(json['Status']), + 'seriesTimerId': !exists(json, 'SeriesTimerId') ? undefined : json['SeriesTimerId'], + 'externalSeriesTimerId': !exists(json, 'ExternalSeriesTimerId') ? undefined : json['ExternalSeriesTimerId'], + 'runTimeTicks': !exists(json, 'RunTimeTicks') ? undefined : json['RunTimeTicks'], + 'programInfo': !exists(json, 'ProgramInfo') ? undefined : TimerInfoDtoProgramInfoFromJSON(json['ProgramInfo']), + }; +} + +export function CreateTimerRequestToJSON(value?: CreateTimerRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Id': value.id, + 'Type': value.type, + 'ServerId': value.serverId, + 'ExternalId': value.externalId, + 'ChannelId': value.channelId, + 'ExternalChannelId': value.externalChannelId, + 'ChannelName': value.channelName, + 'ChannelPrimaryImageTag': value.channelPrimaryImageTag, + 'ProgramId': value.programId, + 'ExternalProgramId': value.externalProgramId, + 'Name': value.name, + 'Overview': value.overview, + 'StartDate': value.startDate === undefined ? undefined : (value.startDate.toISOString()), + 'EndDate': value.endDate === undefined ? undefined : (value.endDate.toISOString()), + 'ServiceName': value.serviceName, + 'Priority': value.priority, + 'PrePaddingSeconds': value.prePaddingSeconds, + 'PostPaddingSeconds': value.postPaddingSeconds, + 'IsPrePaddingRequired': value.isPrePaddingRequired, + 'ParentBackdropItemId': value.parentBackdropItemId, + 'ParentBackdropImageTags': value.parentBackdropImageTags, + 'IsPostPaddingRequired': value.isPostPaddingRequired, + 'KeepUntil': KeepUntilToJSON(value.keepUntil), + 'Status': RecordingStatusToJSON(value.status), + 'SeriesTimerId': value.seriesTimerId, + 'ExternalSeriesTimerId': value.externalSeriesTimerId, + 'RunTimeTicks': value.runTimeTicks, + 'ProgramInfo': TimerInfoDtoProgramInfoToJSON(value.programInfo), + }; +} + diff --git a/server/jellyfin/models/CreateUserByName.ts b/server/jellyfin/models/CreateUserByName.ts new file mode 100644 index 0000000..fc63539 --- /dev/null +++ b/server/jellyfin/models/CreateUserByName.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * The create user by name request body. + * @export + * @interface CreateUserByName + */ +export interface CreateUserByName { + /** + * Gets or sets the username. + * @type {string} + * @memberof CreateUserByName + */ + name?: string | null; + /** + * Gets or sets the password. + * @type {string} + * @memberof CreateUserByName + */ + password?: string | null; +} + +/** + * Check if a given object implements the CreateUserByName interface. + */ +export function instanceOfCreateUserByName(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function CreateUserByNameFromJSON(json: any): CreateUserByName { + return CreateUserByNameFromJSONTyped(json, false); +} + +export function CreateUserByNameFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateUserByName { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'password': !exists(json, 'Password') ? undefined : json['Password'], + }; +} + +export function CreateUserByNameToJSON(value?: CreateUserByName | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Password': value.password, + }; +} + diff --git a/server/jellyfin/models/CreateUserByNameRequest.ts b/server/jellyfin/models/CreateUserByNameRequest.ts new file mode 100644 index 0000000..281c2f7 --- /dev/null +++ b/server/jellyfin/models/CreateUserByNameRequest.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * The create user by name request body. + * @export + * @interface CreateUserByNameRequest + */ +export interface CreateUserByNameRequest { + /** + * Gets or sets the username. + * @type {string} + * @memberof CreateUserByNameRequest + */ + name?: string | null; + /** + * Gets or sets the password. + * @type {string} + * @memberof CreateUserByNameRequest + */ + password?: string | null; +} + +/** + * Check if a given object implements the CreateUserByNameRequest interface. + */ +export function instanceOfCreateUserByNameRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function CreateUserByNameRequestFromJSON(json: any): CreateUserByNameRequest { + return CreateUserByNameRequestFromJSONTyped(json, false); +} + +export function CreateUserByNameRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateUserByNameRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'password': !exists(json, 'Password') ? undefined : json['Password'], + }; +} + +export function CreateUserByNameRequestToJSON(value?: CreateUserByNameRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Password': value.password, + }; +} + diff --git a/server/jellyfin/models/CultureDto.ts b/server/jellyfin/models/CultureDto.ts new file mode 100644 index 0000000..7a7ac22 --- /dev/null +++ b/server/jellyfin/models/CultureDto.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class CultureDto. + * @export + * @interface CultureDto + */ +export interface CultureDto { + /** + * Gets the name. + * @type {string} + * @memberof CultureDto + */ + name?: string; + /** + * Gets the display name. + * @type {string} + * @memberof CultureDto + */ + displayName?: string; + /** + * Gets the name of the two letter ISO language. + * @type {string} + * @memberof CultureDto + */ + twoLetterISOLanguageName?: string; + /** + * Gets the name of the three letter ISO language. + * @type {string} + * @memberof CultureDto + */ + readonly threeLetterISOLanguageName?: string | null; + /** + * + * @type {Array} + * @memberof CultureDto + */ + threeLetterISOLanguageNames?: Array; +} + +/** + * Check if a given object implements the CultureDto interface. + */ +export function instanceOfCultureDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function CultureDtoFromJSON(json: any): CultureDto { + return CultureDtoFromJSONTyped(json, false); +} + +export function CultureDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): CultureDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'displayName': !exists(json, 'DisplayName') ? undefined : json['DisplayName'], + 'twoLetterISOLanguageName': !exists(json, 'TwoLetterISOLanguageName') ? undefined : json['TwoLetterISOLanguageName'], + 'threeLetterISOLanguageName': !exists(json, 'ThreeLetterISOLanguageName') ? undefined : json['ThreeLetterISOLanguageName'], + 'threeLetterISOLanguageNames': !exists(json, 'ThreeLetterISOLanguageNames') ? undefined : json['ThreeLetterISOLanguageNames'], + }; +} + +export function CultureDtoToJSON(value?: CultureDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'DisplayName': value.displayName, + 'TwoLetterISOLanguageName': value.twoLetterISOLanguageName, + 'ThreeLetterISOLanguageNames': value.threeLetterISOLanguageNames, + }; +} + diff --git a/server/jellyfin/models/DayOfWeek.ts b/server/jellyfin/models/DayOfWeek.ts new file mode 100644 index 0000000..79eafb9 --- /dev/null +++ b/server/jellyfin/models/DayOfWeek.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const DayOfWeek = { + Sunday: 'Sunday', + Monday: 'Monday', + Tuesday: 'Tuesday', + Wednesday: 'Wednesday', + Thursday: 'Thursday', + Friday: 'Friday', + Saturday: 'Saturday' +} as const; +export type DayOfWeek = typeof DayOfWeek[keyof typeof DayOfWeek]; + + +export function DayOfWeekFromJSON(json: any): DayOfWeek { + return DayOfWeekFromJSONTyped(json, false); +} + +export function DayOfWeekFromJSONTyped(json: any, ignoreDiscriminator: boolean): DayOfWeek { + return json as DayOfWeek; +} + +export function DayOfWeekToJSON(value?: DayOfWeek | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/DayPattern.ts b/server/jellyfin/models/DayPattern.ts new file mode 100644 index 0000000..436ab53 --- /dev/null +++ b/server/jellyfin/models/DayPattern.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const DayPattern = { + Daily: 'Daily', + Weekdays: 'Weekdays', + Weekends: 'Weekends' +} as const; +export type DayPattern = typeof DayPattern[keyof typeof DayPattern]; + + +export function DayPatternFromJSON(json: any): DayPattern { + return DayPatternFromJSONTyped(json, false); +} + +export function DayPatternFromJSONTyped(json: any, ignoreDiscriminator: boolean): DayPattern { + return json as DayPattern; +} + +export function DayPatternToJSON(value?: DayPattern | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/DefaultDirectoryBrowserInfoDto.ts b/server/jellyfin/models/DefaultDirectoryBrowserInfoDto.ts new file mode 100644 index 0000000..6253ee9 --- /dev/null +++ b/server/jellyfin/models/DefaultDirectoryBrowserInfoDto.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Default directory browser info. + * @export + * @interface DefaultDirectoryBrowserInfoDto + */ +export interface DefaultDirectoryBrowserInfoDto { + /** + * Gets or sets the path. + * @type {string} + * @memberof DefaultDirectoryBrowserInfoDto + */ + path?: string | null; +} + +/** + * Check if a given object implements the DefaultDirectoryBrowserInfoDto interface. + */ +export function instanceOfDefaultDirectoryBrowserInfoDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function DefaultDirectoryBrowserInfoDtoFromJSON(json: any): DefaultDirectoryBrowserInfoDto { + return DefaultDirectoryBrowserInfoDtoFromJSONTyped(json, false); +} + +export function DefaultDirectoryBrowserInfoDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): DefaultDirectoryBrowserInfoDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'path': !exists(json, 'Path') ? undefined : json['Path'], + }; +} + +export function DefaultDirectoryBrowserInfoDtoToJSON(value?: DefaultDirectoryBrowserInfoDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Path': value.path, + }; +} + diff --git a/server/jellyfin/models/DeviceIdentification.ts b/server/jellyfin/models/DeviceIdentification.ts new file mode 100644 index 0000000..0c0ea8b --- /dev/null +++ b/server/jellyfin/models/DeviceIdentification.ts @@ -0,0 +1,136 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { HttpHeaderInfo } from './HttpHeaderInfo'; +import { + HttpHeaderInfoFromJSON, + HttpHeaderInfoFromJSONTyped, + HttpHeaderInfoToJSON, +} from './HttpHeaderInfo'; + +/** + * + * @export + * @interface DeviceIdentification + */ +export interface DeviceIdentification { + /** + * Gets or sets the name of the friendly. + * @type {string} + * @memberof DeviceIdentification + */ + friendlyName?: string; + /** + * Gets or sets the model number. + * @type {string} + * @memberof DeviceIdentification + */ + modelNumber?: string; + /** + * Gets or sets the serial number. + * @type {string} + * @memberof DeviceIdentification + */ + serialNumber?: string; + /** + * Gets or sets the name of the model. + * @type {string} + * @memberof DeviceIdentification + */ + modelName?: string; + /** + * Gets or sets the model description. + * @type {string} + * @memberof DeviceIdentification + */ + modelDescription?: string; + /** + * Gets or sets the model URL. + * @type {string} + * @memberof DeviceIdentification + */ + modelUrl?: string; + /** + * Gets or sets the manufacturer. + * @type {string} + * @memberof DeviceIdentification + */ + manufacturer?: string; + /** + * Gets or sets the manufacturer URL. + * @type {string} + * @memberof DeviceIdentification + */ + manufacturerUrl?: string; + /** + * Gets or sets the headers. + * @type {Array} + * @memberof DeviceIdentification + */ + headers?: Array; +} + +/** + * Check if a given object implements the DeviceIdentification interface. + */ +export function instanceOfDeviceIdentification(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function DeviceIdentificationFromJSON(json: any): DeviceIdentification { + return DeviceIdentificationFromJSONTyped(json, false); +} + +export function DeviceIdentificationFromJSONTyped(json: any, ignoreDiscriminator: boolean): DeviceIdentification { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'friendlyName': !exists(json, 'FriendlyName') ? undefined : json['FriendlyName'], + 'modelNumber': !exists(json, 'ModelNumber') ? undefined : json['ModelNumber'], + 'serialNumber': !exists(json, 'SerialNumber') ? undefined : json['SerialNumber'], + 'modelName': !exists(json, 'ModelName') ? undefined : json['ModelName'], + 'modelDescription': !exists(json, 'ModelDescription') ? undefined : json['ModelDescription'], + 'modelUrl': !exists(json, 'ModelUrl') ? undefined : json['ModelUrl'], + 'manufacturer': !exists(json, 'Manufacturer') ? undefined : json['Manufacturer'], + 'manufacturerUrl': !exists(json, 'ManufacturerUrl') ? undefined : json['ManufacturerUrl'], + 'headers': !exists(json, 'Headers') ? undefined : ((json['Headers'] as Array).map(HttpHeaderInfoFromJSON)), + }; +} + +export function DeviceIdentificationToJSON(value?: DeviceIdentification | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'FriendlyName': value.friendlyName, + 'ModelNumber': value.modelNumber, + 'SerialNumber': value.serialNumber, + 'ModelName': value.modelName, + 'ModelDescription': value.modelDescription, + 'ModelUrl': value.modelUrl, + 'Manufacturer': value.manufacturer, + 'ManufacturerUrl': value.manufacturerUrl, + 'Headers': value.headers === undefined ? undefined : ((value.headers as Array).map(HttpHeaderInfoToJSON)), + }; +} + diff --git a/server/jellyfin/models/DeviceInfo.ts b/server/jellyfin/models/DeviceInfo.ts new file mode 100644 index 0000000..8e68cdb --- /dev/null +++ b/server/jellyfin/models/DeviceInfo.ts @@ -0,0 +1,144 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { DeviceInfoCapabilities } from './DeviceInfoCapabilities'; +import { + DeviceInfoCapabilitiesFromJSON, + DeviceInfoCapabilitiesFromJSONTyped, + DeviceInfoCapabilitiesToJSON, +} from './DeviceInfoCapabilities'; + +/** + * + * @export + * @interface DeviceInfo + */ +export interface DeviceInfo { + /** + * + * @type {string} + * @memberof DeviceInfo + */ + name?: string | null; + /** + * Gets or sets the access token. + * @type {string} + * @memberof DeviceInfo + */ + accessToken?: string | null; + /** + * Gets or sets the identifier. + * @type {string} + * @memberof DeviceInfo + */ + id?: string | null; + /** + * Gets or sets the last name of the user. + * @type {string} + * @memberof DeviceInfo + */ + lastUserName?: string | null; + /** + * Gets or sets the name of the application. + * @type {string} + * @memberof DeviceInfo + */ + appName?: string | null; + /** + * Gets or sets the application version. + * @type {string} + * @memberof DeviceInfo + */ + appVersion?: string | null; + /** + * Gets or sets the last user identifier. + * @type {string} + * @memberof DeviceInfo + */ + lastUserId?: string; + /** + * Gets or sets the date last modified. + * @type {Date} + * @memberof DeviceInfo + */ + dateLastActivity?: Date; + /** + * + * @type {DeviceInfoCapabilities} + * @memberof DeviceInfo + */ + capabilities?: DeviceInfoCapabilities | null; + /** + * + * @type {string} + * @memberof DeviceInfo + */ + iconUrl?: string | null; +} + +/** + * Check if a given object implements the DeviceInfo interface. + */ +export function instanceOfDeviceInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function DeviceInfoFromJSON(json: any): DeviceInfo { + return DeviceInfoFromJSONTyped(json, false); +} + +export function DeviceInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): DeviceInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'accessToken': !exists(json, 'AccessToken') ? undefined : json['AccessToken'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'lastUserName': !exists(json, 'LastUserName') ? undefined : json['LastUserName'], + 'appName': !exists(json, 'AppName') ? undefined : json['AppName'], + 'appVersion': !exists(json, 'AppVersion') ? undefined : json['AppVersion'], + 'lastUserId': !exists(json, 'LastUserId') ? undefined : json['LastUserId'], + 'dateLastActivity': !exists(json, 'DateLastActivity') ? undefined : (new Date(json['DateLastActivity'])), + 'capabilities': !exists(json, 'Capabilities') ? undefined : DeviceInfoCapabilitiesFromJSON(json['Capabilities']), + 'iconUrl': !exists(json, 'IconUrl') ? undefined : json['IconUrl'], + }; +} + +export function DeviceInfoToJSON(value?: DeviceInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'AccessToken': value.accessToken, + 'Id': value.id, + 'LastUserName': value.lastUserName, + 'AppName': value.appName, + 'AppVersion': value.appVersion, + 'LastUserId': value.lastUserId, + 'DateLastActivity': value.dateLastActivity === undefined ? undefined : (value.dateLastActivity.toISOString()), + 'Capabilities': DeviceInfoCapabilitiesToJSON(value.capabilities), + 'IconUrl': value.iconUrl, + }; +} + diff --git a/server/jellyfin/models/DeviceInfoCapabilities.ts b/server/jellyfin/models/DeviceInfoCapabilities.ts new file mode 100644 index 0000000..b14f9ba --- /dev/null +++ b/server/jellyfin/models/DeviceInfoCapabilities.ts @@ -0,0 +1,150 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ClientCapabilitiesDeviceProfile } from './ClientCapabilitiesDeviceProfile'; +import { + ClientCapabilitiesDeviceProfileFromJSON, + ClientCapabilitiesDeviceProfileFromJSONTyped, + ClientCapabilitiesDeviceProfileToJSON, +} from './ClientCapabilitiesDeviceProfile'; +import type { GeneralCommandType } from './GeneralCommandType'; +import { + GeneralCommandTypeFromJSON, + GeneralCommandTypeFromJSONTyped, + GeneralCommandTypeToJSON, +} from './GeneralCommandType'; + +/** + * Gets or sets the capabilities. + * @export + * @interface DeviceInfoCapabilities + */ +export interface DeviceInfoCapabilities { + /** + * + * @type {Array} + * @memberof DeviceInfoCapabilities + */ + playableMediaTypes?: Array | null; + /** + * + * @type {Array} + * @memberof DeviceInfoCapabilities + */ + supportedCommands?: Array | null; + /** + * + * @type {boolean} + * @memberof DeviceInfoCapabilities + */ + supportsMediaControl?: boolean; + /** + * + * @type {boolean} + * @memberof DeviceInfoCapabilities + */ + supportsContentUploading?: boolean; + /** + * + * @type {string} + * @memberof DeviceInfoCapabilities + */ + messageCallbackUrl?: string | null; + /** + * + * @type {boolean} + * @memberof DeviceInfoCapabilities + */ + supportsPersistentIdentifier?: boolean; + /** + * + * @type {boolean} + * @memberof DeviceInfoCapabilities + */ + supportsSync?: boolean; + /** + * + * @type {ClientCapabilitiesDeviceProfile} + * @memberof DeviceInfoCapabilities + */ + deviceProfile?: ClientCapabilitiesDeviceProfile | null; + /** + * + * @type {string} + * @memberof DeviceInfoCapabilities + */ + appStoreUrl?: string | null; + /** + * + * @type {string} + * @memberof DeviceInfoCapabilities + */ + iconUrl?: string | null; +} + +/** + * Check if a given object implements the DeviceInfoCapabilities interface. + */ +export function instanceOfDeviceInfoCapabilities(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function DeviceInfoCapabilitiesFromJSON(json: any): DeviceInfoCapabilities { + return DeviceInfoCapabilitiesFromJSONTyped(json, false); +} + +export function DeviceInfoCapabilitiesFromJSONTyped(json: any, ignoreDiscriminator: boolean): DeviceInfoCapabilities { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'playableMediaTypes': !exists(json, 'PlayableMediaTypes') ? undefined : json['PlayableMediaTypes'], + 'supportedCommands': !exists(json, 'SupportedCommands') ? undefined : (json['SupportedCommands'] === null ? null : (json['SupportedCommands'] as Array).map(GeneralCommandTypeFromJSON)), + 'supportsMediaControl': !exists(json, 'SupportsMediaControl') ? undefined : json['SupportsMediaControl'], + 'supportsContentUploading': !exists(json, 'SupportsContentUploading') ? undefined : json['SupportsContentUploading'], + 'messageCallbackUrl': !exists(json, 'MessageCallbackUrl') ? undefined : json['MessageCallbackUrl'], + 'supportsPersistentIdentifier': !exists(json, 'SupportsPersistentIdentifier') ? undefined : json['SupportsPersistentIdentifier'], + 'supportsSync': !exists(json, 'SupportsSync') ? undefined : json['SupportsSync'], + 'deviceProfile': !exists(json, 'DeviceProfile') ? undefined : ClientCapabilitiesDeviceProfileFromJSON(json['DeviceProfile']), + 'appStoreUrl': !exists(json, 'AppStoreUrl') ? undefined : json['AppStoreUrl'], + 'iconUrl': !exists(json, 'IconUrl') ? undefined : json['IconUrl'], + }; +} + +export function DeviceInfoCapabilitiesToJSON(value?: DeviceInfoCapabilities | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'PlayableMediaTypes': value.playableMediaTypes, + 'SupportedCommands': value.supportedCommands === undefined ? undefined : (value.supportedCommands === null ? null : (value.supportedCommands as Array).map(GeneralCommandTypeToJSON)), + 'SupportsMediaControl': value.supportsMediaControl, + 'SupportsContentUploading': value.supportsContentUploading, + 'MessageCallbackUrl': value.messageCallbackUrl, + 'SupportsPersistentIdentifier': value.supportsPersistentIdentifier, + 'SupportsSync': value.supportsSync, + 'DeviceProfile': ClientCapabilitiesDeviceProfileToJSON(value.deviceProfile), + 'AppStoreUrl': value.appStoreUrl, + 'IconUrl': value.iconUrl, + }; +} + diff --git a/server/jellyfin/models/DeviceInfoQueryResult.ts b/server/jellyfin/models/DeviceInfoQueryResult.ts new file mode 100644 index 0000000..86f3811 --- /dev/null +++ b/server/jellyfin/models/DeviceInfoQueryResult.ts @@ -0,0 +1,88 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { DeviceInfo } from './DeviceInfo'; +import { + DeviceInfoFromJSON, + DeviceInfoFromJSONTyped, + DeviceInfoToJSON, +} from './DeviceInfo'; + +/** + * + * @export + * @interface DeviceInfoQueryResult + */ +export interface DeviceInfoQueryResult { + /** + * Gets or sets the items. + * @type {Array} + * @memberof DeviceInfoQueryResult + */ + items?: Array | null; + /** + * Gets or sets the total number of records available. + * @type {number} + * @memberof DeviceInfoQueryResult + */ + totalRecordCount?: number; + /** + * Gets or sets the index of the first record in Items. + * @type {number} + * @memberof DeviceInfoQueryResult + */ + startIndex?: number; +} + +/** + * Check if a given object implements the DeviceInfoQueryResult interface. + */ +export function instanceOfDeviceInfoQueryResult(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function DeviceInfoQueryResultFromJSON(json: any): DeviceInfoQueryResult { + return DeviceInfoQueryResultFromJSONTyped(json, false); +} + +export function DeviceInfoQueryResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): DeviceInfoQueryResult { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'items': !exists(json, 'Items') ? undefined : (json['Items'] === null ? null : (json['Items'] as Array).map(DeviceInfoFromJSON)), + 'totalRecordCount': !exists(json, 'TotalRecordCount') ? undefined : json['TotalRecordCount'], + 'startIndex': !exists(json, 'StartIndex') ? undefined : json['StartIndex'], + }; +} + +export function DeviceInfoQueryResultToJSON(value?: DeviceInfoQueryResult | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Items': value.items === undefined ? undefined : (value.items === null ? null : (value.items as Array).map(DeviceInfoToJSON)), + 'TotalRecordCount': value.totalRecordCount, + 'StartIndex': value.startIndex, + }; +} + diff --git a/server/jellyfin/models/DeviceOptions.ts b/server/jellyfin/models/DeviceOptions.ts new file mode 100644 index 0000000..61892b2 --- /dev/null +++ b/server/jellyfin/models/DeviceOptions.ts @@ -0,0 +1,80 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * An entity representing custom options for a device. + * @export + * @interface DeviceOptions + */ +export interface DeviceOptions { + /** + * Gets the id. + * @type {number} + * @memberof DeviceOptions + */ + readonly id?: number; + /** + * Gets the device id. + * @type {string} + * @memberof DeviceOptions + */ + deviceId?: string; + /** + * Gets or sets the custom name. + * @type {string} + * @memberof DeviceOptions + */ + customName?: string | null; +} + +/** + * Check if a given object implements the DeviceOptions interface. + */ +export function instanceOfDeviceOptions(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function DeviceOptionsFromJSON(json: any): DeviceOptions { + return DeviceOptionsFromJSONTyped(json, false); +} + +export function DeviceOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): DeviceOptions { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'deviceId': !exists(json, 'DeviceId') ? undefined : json['DeviceId'], + 'customName': !exists(json, 'CustomName') ? undefined : json['CustomName'], + }; +} + +export function DeviceOptionsToJSON(value?: DeviceOptions | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'DeviceId': value.deviceId, + 'CustomName': value.customName, + }; +} + diff --git a/server/jellyfin/models/DeviceOptionsDto.ts b/server/jellyfin/models/DeviceOptionsDto.ts new file mode 100644 index 0000000..766e023 --- /dev/null +++ b/server/jellyfin/models/DeviceOptionsDto.ts @@ -0,0 +1,81 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * A dto representing custom options for a device. + * @export + * @interface DeviceOptionsDto + */ +export interface DeviceOptionsDto { + /** + * Gets or sets the id. + * @type {number} + * @memberof DeviceOptionsDto + */ + id?: number; + /** + * Gets or sets the device id. + * @type {string} + * @memberof DeviceOptionsDto + */ + deviceId?: string | null; + /** + * Gets or sets the custom name. + * @type {string} + * @memberof DeviceOptionsDto + */ + customName?: string | null; +} + +/** + * Check if a given object implements the DeviceOptionsDto interface. + */ +export function instanceOfDeviceOptionsDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function DeviceOptionsDtoFromJSON(json: any): DeviceOptionsDto { + return DeviceOptionsDtoFromJSONTyped(json, false); +} + +export function DeviceOptionsDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): DeviceOptionsDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'deviceId': !exists(json, 'DeviceId') ? undefined : json['DeviceId'], + 'customName': !exists(json, 'CustomName') ? undefined : json['CustomName'], + }; +} + +export function DeviceOptionsDtoToJSON(value?: DeviceOptionsDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Id': value.id, + 'DeviceId': value.deviceId, + 'CustomName': value.customName, + }; +} + diff --git a/server/jellyfin/models/DeviceProfile.ts b/server/jellyfin/models/DeviceProfile.ts new file mode 100644 index 0000000..394ec0b --- /dev/null +++ b/server/jellyfin/models/DeviceProfile.ts @@ -0,0 +1,423 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { CodecProfile } from './CodecProfile'; +import { + CodecProfileFromJSON, + CodecProfileFromJSONTyped, + CodecProfileToJSON, +} from './CodecProfile'; +import type { ContainerProfile } from './ContainerProfile'; +import { + ContainerProfileFromJSON, + ContainerProfileFromJSONTyped, + ContainerProfileToJSON, +} from './ContainerProfile'; +import type { DeviceProfileIdentification } from './DeviceProfileIdentification'; +import { + DeviceProfileIdentificationFromJSON, + DeviceProfileIdentificationFromJSONTyped, + DeviceProfileIdentificationToJSON, +} from './DeviceProfileIdentification'; +import type { DirectPlayProfile } from './DirectPlayProfile'; +import { + DirectPlayProfileFromJSON, + DirectPlayProfileFromJSONTyped, + DirectPlayProfileToJSON, +} from './DirectPlayProfile'; +import type { ResponseProfile } from './ResponseProfile'; +import { + ResponseProfileFromJSON, + ResponseProfileFromJSONTyped, + ResponseProfileToJSON, +} from './ResponseProfile'; +import type { SubtitleProfile } from './SubtitleProfile'; +import { + SubtitleProfileFromJSON, + SubtitleProfileFromJSONTyped, + SubtitleProfileToJSON, +} from './SubtitleProfile'; +import type { TranscodingProfile } from './TranscodingProfile'; +import { + TranscodingProfileFromJSON, + TranscodingProfileFromJSONTyped, + TranscodingProfileToJSON, +} from './TranscodingProfile'; +import type { XmlAttribute } from './XmlAttribute'; +import { + XmlAttributeFromJSON, + XmlAttributeFromJSONTyped, + XmlAttributeToJSON, +} from './XmlAttribute'; + +/** + * A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play. + *
+ * Specifically, it defines the supported containers and + * codecs (video and/or audio, including codec profiles and levels) + * the device is able to direct play (without transcoding or remuxing), + * as well as which containers/codecs to transcode to in case it isn't. + * @export + * @interface DeviceProfile + */ +export interface DeviceProfile { + /** + * Gets or sets the name of this device profile. + * @type {string} + * @memberof DeviceProfile + */ + name?: string | null; + /** + * Gets or sets the Id. + * @type {string} + * @memberof DeviceProfile + */ + id?: string | null; + /** + * + * @type {DeviceProfileIdentification} + * @memberof DeviceProfile + */ + identification?: DeviceProfileIdentification | null; + /** + * Gets or sets the friendly name of the device profile, which can be shown to users. + * @type {string} + * @memberof DeviceProfile + */ + friendlyName?: string | null; + /** + * Gets or sets the manufacturer of the device which this profile represents. + * @type {string} + * @memberof DeviceProfile + */ + manufacturer?: string | null; + /** + * Gets or sets an url for the manufacturer of the device which this profile represents. + * @type {string} + * @memberof DeviceProfile + */ + manufacturerUrl?: string | null; + /** + * Gets or sets the model name of the device which this profile represents. + * @type {string} + * @memberof DeviceProfile + */ + modelName?: string | null; + /** + * Gets or sets the model description of the device which this profile represents. + * @type {string} + * @memberof DeviceProfile + */ + modelDescription?: string | null; + /** + * Gets or sets the model number of the device which this profile represents. + * @type {string} + * @memberof DeviceProfile + */ + modelNumber?: string | null; + /** + * Gets or sets the ModelUrl. + * @type {string} + * @memberof DeviceProfile + */ + modelUrl?: string | null; + /** + * Gets or sets the serial number of the device which this profile represents. + * @type {string} + * @memberof DeviceProfile + */ + serialNumber?: string | null; + /** + * Gets or sets a value indicating whether EnableAlbumArtInDidl. + * @type {boolean} + * @memberof DeviceProfile + */ + enableAlbumArtInDidl?: boolean; + /** + * Gets or sets a value indicating whether EnableSingleAlbumArtLimit. + * @type {boolean} + * @memberof DeviceProfile + */ + enableSingleAlbumArtLimit?: boolean; + /** + * Gets or sets a value indicating whether EnableSingleSubtitleLimit. + * @type {boolean} + * @memberof DeviceProfile + */ + enableSingleSubtitleLimit?: boolean; + /** + * Gets or sets the SupportedMediaTypes. + * @type {string} + * @memberof DeviceProfile + */ + supportedMediaTypes?: string; + /** + * Gets or sets the UserId. + * @type {string} + * @memberof DeviceProfile + */ + userId?: string | null; + /** + * Gets or sets the AlbumArtPn. + * @type {string} + * @memberof DeviceProfile + */ + albumArtPn?: string | null; + /** + * Gets or sets the MaxAlbumArtWidth. + * @type {number} + * @memberof DeviceProfile + */ + maxAlbumArtWidth?: number | null; + /** + * Gets or sets the MaxAlbumArtHeight. + * @type {number} + * @memberof DeviceProfile + */ + maxAlbumArtHeight?: number | null; + /** + * Gets or sets the maximum allowed width of embedded icons. + * @type {number} + * @memberof DeviceProfile + */ + maxIconWidth?: number | null; + /** + * Gets or sets the maximum allowed height of embedded icons. + * @type {number} + * @memberof DeviceProfile + */ + maxIconHeight?: number | null; + /** + * Gets or sets the maximum allowed bitrate for all streamed content. + * @type {number} + * @memberof DeviceProfile + */ + maxStreamingBitrate?: number | null; + /** + * Gets or sets the maximum allowed bitrate for statically streamed content (= direct played files). + * @type {number} + * @memberof DeviceProfile + */ + maxStaticBitrate?: number | null; + /** + * Gets or sets the maximum allowed bitrate for transcoded music streams. + * @type {number} + * @memberof DeviceProfile + */ + musicStreamingTranscodingBitrate?: number | null; + /** + * Gets or sets the maximum allowed bitrate for statically streamed (= direct played) music files. + * @type {number} + * @memberof DeviceProfile + */ + maxStaticMusicBitrate?: number | null; + /** + * Gets or sets the content of the aggregationFlags element in the urn:schemas-sonycom:av namespace. + * @type {string} + * @memberof DeviceProfile + */ + sonyAggregationFlags?: string | null; + /** + * Gets or sets the ProtocolInfo. + * @type {string} + * @memberof DeviceProfile + */ + protocolInfo?: string | null; + /** + * Gets or sets the TimelineOffsetSeconds. + * @type {number} + * @memberof DeviceProfile + */ + timelineOffsetSeconds?: number; + /** + * Gets or sets a value indicating whether RequiresPlainVideoItems. + * @type {boolean} + * @memberof DeviceProfile + */ + requiresPlainVideoItems?: boolean; + /** + * Gets or sets a value indicating whether RequiresPlainFolders. + * @type {boolean} + * @memberof DeviceProfile + */ + requiresPlainFolders?: boolean; + /** + * Gets or sets a value indicating whether EnableMSMediaReceiverRegistrar. + * @type {boolean} + * @memberof DeviceProfile + */ + enableMSMediaReceiverRegistrar?: boolean; + /** + * Gets or sets a value indicating whether IgnoreTranscodeByteRangeRequests. + * @type {boolean} + * @memberof DeviceProfile + */ + ignoreTranscodeByteRangeRequests?: boolean; + /** + * Gets or sets the XmlRootAttributes. + * @type {Array} + * @memberof DeviceProfile + */ + xmlRootAttributes?: Array; + /** + * Gets or sets the direct play profiles. + * @type {Array} + * @memberof DeviceProfile + */ + directPlayProfiles?: Array; + /** + * Gets or sets the transcoding profiles. + * @type {Array} + * @memberof DeviceProfile + */ + transcodingProfiles?: Array; + /** + * Gets or sets the container profiles. + * @type {Array} + * @memberof DeviceProfile + */ + containerProfiles?: Array; + /** + * Gets or sets the codec profiles. + * @type {Array} + * @memberof DeviceProfile + */ + codecProfiles?: Array; + /** + * Gets or sets the ResponseProfiles. + * @type {Array} + * @memberof DeviceProfile + */ + responseProfiles?: Array; + /** + * Gets or sets the subtitle profiles. + * @type {Array} + * @memberof DeviceProfile + */ + subtitleProfiles?: Array; +} + +/** + * Check if a given object implements the DeviceProfile interface. + */ +export function instanceOfDeviceProfile(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function DeviceProfileFromJSON(json: any): DeviceProfile { + return DeviceProfileFromJSONTyped(json, false); +} + +export function DeviceProfileFromJSONTyped(json: any, ignoreDiscriminator: boolean): DeviceProfile { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'identification': !exists(json, 'Identification') ? undefined : DeviceProfileIdentificationFromJSON(json['Identification']), + 'friendlyName': !exists(json, 'FriendlyName') ? undefined : json['FriendlyName'], + 'manufacturer': !exists(json, 'Manufacturer') ? undefined : json['Manufacturer'], + 'manufacturerUrl': !exists(json, 'ManufacturerUrl') ? undefined : json['ManufacturerUrl'], + 'modelName': !exists(json, 'ModelName') ? undefined : json['ModelName'], + 'modelDescription': !exists(json, 'ModelDescription') ? undefined : json['ModelDescription'], + 'modelNumber': !exists(json, 'ModelNumber') ? undefined : json['ModelNumber'], + 'modelUrl': !exists(json, 'ModelUrl') ? undefined : json['ModelUrl'], + 'serialNumber': !exists(json, 'SerialNumber') ? undefined : json['SerialNumber'], + 'enableAlbumArtInDidl': !exists(json, 'EnableAlbumArtInDidl') ? undefined : json['EnableAlbumArtInDidl'], + 'enableSingleAlbumArtLimit': !exists(json, 'EnableSingleAlbumArtLimit') ? undefined : json['EnableSingleAlbumArtLimit'], + 'enableSingleSubtitleLimit': !exists(json, 'EnableSingleSubtitleLimit') ? undefined : json['EnableSingleSubtitleLimit'], + 'supportedMediaTypes': !exists(json, 'SupportedMediaTypes') ? undefined : json['SupportedMediaTypes'], + 'userId': !exists(json, 'UserId') ? undefined : json['UserId'], + 'albumArtPn': !exists(json, 'AlbumArtPn') ? undefined : json['AlbumArtPn'], + 'maxAlbumArtWidth': !exists(json, 'MaxAlbumArtWidth') ? undefined : json['MaxAlbumArtWidth'], + 'maxAlbumArtHeight': !exists(json, 'MaxAlbumArtHeight') ? undefined : json['MaxAlbumArtHeight'], + 'maxIconWidth': !exists(json, 'MaxIconWidth') ? undefined : json['MaxIconWidth'], + 'maxIconHeight': !exists(json, 'MaxIconHeight') ? undefined : json['MaxIconHeight'], + 'maxStreamingBitrate': !exists(json, 'MaxStreamingBitrate') ? undefined : json['MaxStreamingBitrate'], + 'maxStaticBitrate': !exists(json, 'MaxStaticBitrate') ? undefined : json['MaxStaticBitrate'], + 'musicStreamingTranscodingBitrate': !exists(json, 'MusicStreamingTranscodingBitrate') ? undefined : json['MusicStreamingTranscodingBitrate'], + 'maxStaticMusicBitrate': !exists(json, 'MaxStaticMusicBitrate') ? undefined : json['MaxStaticMusicBitrate'], + 'sonyAggregationFlags': !exists(json, 'SonyAggregationFlags') ? undefined : json['SonyAggregationFlags'], + 'protocolInfo': !exists(json, 'ProtocolInfo') ? undefined : json['ProtocolInfo'], + 'timelineOffsetSeconds': !exists(json, 'TimelineOffsetSeconds') ? undefined : json['TimelineOffsetSeconds'], + 'requiresPlainVideoItems': !exists(json, 'RequiresPlainVideoItems') ? undefined : json['RequiresPlainVideoItems'], + 'requiresPlainFolders': !exists(json, 'RequiresPlainFolders') ? undefined : json['RequiresPlainFolders'], + 'enableMSMediaReceiverRegistrar': !exists(json, 'EnableMSMediaReceiverRegistrar') ? undefined : json['EnableMSMediaReceiverRegistrar'], + 'ignoreTranscodeByteRangeRequests': !exists(json, 'IgnoreTranscodeByteRangeRequests') ? undefined : json['IgnoreTranscodeByteRangeRequests'], + 'xmlRootAttributes': !exists(json, 'XmlRootAttributes') ? undefined : ((json['XmlRootAttributes'] as Array).map(XmlAttributeFromJSON)), + 'directPlayProfiles': !exists(json, 'DirectPlayProfiles') ? undefined : ((json['DirectPlayProfiles'] as Array).map(DirectPlayProfileFromJSON)), + 'transcodingProfiles': !exists(json, 'TranscodingProfiles') ? undefined : ((json['TranscodingProfiles'] as Array).map(TranscodingProfileFromJSON)), + 'containerProfiles': !exists(json, 'ContainerProfiles') ? undefined : ((json['ContainerProfiles'] as Array).map(ContainerProfileFromJSON)), + 'codecProfiles': !exists(json, 'CodecProfiles') ? undefined : ((json['CodecProfiles'] as Array).map(CodecProfileFromJSON)), + 'responseProfiles': !exists(json, 'ResponseProfiles') ? undefined : ((json['ResponseProfiles'] as Array).map(ResponseProfileFromJSON)), + 'subtitleProfiles': !exists(json, 'SubtitleProfiles') ? undefined : ((json['SubtitleProfiles'] as Array).map(SubtitleProfileFromJSON)), + }; +} + +export function DeviceProfileToJSON(value?: DeviceProfile | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Id': value.id, + 'Identification': DeviceProfileIdentificationToJSON(value.identification), + 'FriendlyName': value.friendlyName, + 'Manufacturer': value.manufacturer, + 'ManufacturerUrl': value.manufacturerUrl, + 'ModelName': value.modelName, + 'ModelDescription': value.modelDescription, + 'ModelNumber': value.modelNumber, + 'ModelUrl': value.modelUrl, + 'SerialNumber': value.serialNumber, + 'EnableAlbumArtInDidl': value.enableAlbumArtInDidl, + 'EnableSingleAlbumArtLimit': value.enableSingleAlbumArtLimit, + 'EnableSingleSubtitleLimit': value.enableSingleSubtitleLimit, + 'SupportedMediaTypes': value.supportedMediaTypes, + 'UserId': value.userId, + 'AlbumArtPn': value.albumArtPn, + 'MaxAlbumArtWidth': value.maxAlbumArtWidth, + 'MaxAlbumArtHeight': value.maxAlbumArtHeight, + 'MaxIconWidth': value.maxIconWidth, + 'MaxIconHeight': value.maxIconHeight, + 'MaxStreamingBitrate': value.maxStreamingBitrate, + 'MaxStaticBitrate': value.maxStaticBitrate, + 'MusicStreamingTranscodingBitrate': value.musicStreamingTranscodingBitrate, + 'MaxStaticMusicBitrate': value.maxStaticMusicBitrate, + 'SonyAggregationFlags': value.sonyAggregationFlags, + 'ProtocolInfo': value.protocolInfo, + 'TimelineOffsetSeconds': value.timelineOffsetSeconds, + 'RequiresPlainVideoItems': value.requiresPlainVideoItems, + 'RequiresPlainFolders': value.requiresPlainFolders, + 'EnableMSMediaReceiverRegistrar': value.enableMSMediaReceiverRegistrar, + 'IgnoreTranscodeByteRangeRequests': value.ignoreTranscodeByteRangeRequests, + 'XmlRootAttributes': value.xmlRootAttributes === undefined ? undefined : ((value.xmlRootAttributes as Array).map(XmlAttributeToJSON)), + 'DirectPlayProfiles': value.directPlayProfiles === undefined ? undefined : ((value.directPlayProfiles as Array).map(DirectPlayProfileToJSON)), + 'TranscodingProfiles': value.transcodingProfiles === undefined ? undefined : ((value.transcodingProfiles as Array).map(TranscodingProfileToJSON)), + 'ContainerProfiles': value.containerProfiles === undefined ? undefined : ((value.containerProfiles as Array).map(ContainerProfileToJSON)), + 'CodecProfiles': value.codecProfiles === undefined ? undefined : ((value.codecProfiles as Array).map(CodecProfileToJSON)), + 'ResponseProfiles': value.responseProfiles === undefined ? undefined : ((value.responseProfiles as Array).map(ResponseProfileToJSON)), + 'SubtitleProfiles': value.subtitleProfiles === undefined ? undefined : ((value.subtitleProfiles as Array).map(SubtitleProfileToJSON)), + }; +} + diff --git a/server/jellyfin/models/DeviceProfileIdentification.ts b/server/jellyfin/models/DeviceProfileIdentification.ts new file mode 100644 index 0000000..86e9c0f --- /dev/null +++ b/server/jellyfin/models/DeviceProfileIdentification.ts @@ -0,0 +1,136 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { HttpHeaderInfo } from './HttpHeaderInfo'; +import { + HttpHeaderInfoFromJSON, + HttpHeaderInfoFromJSONTyped, + HttpHeaderInfoToJSON, +} from './HttpHeaderInfo'; + +/** + * Gets or sets the Identification. + * @export + * @interface DeviceProfileIdentification + */ +export interface DeviceProfileIdentification { + /** + * Gets or sets the name of the friendly. + * @type {string} + * @memberof DeviceProfileIdentification + */ + friendlyName?: string; + /** + * Gets or sets the model number. + * @type {string} + * @memberof DeviceProfileIdentification + */ + modelNumber?: string; + /** + * Gets or sets the serial number. + * @type {string} + * @memberof DeviceProfileIdentification + */ + serialNumber?: string; + /** + * Gets or sets the name of the model. + * @type {string} + * @memberof DeviceProfileIdentification + */ + modelName?: string; + /** + * Gets or sets the model description. + * @type {string} + * @memberof DeviceProfileIdentification + */ + modelDescription?: string; + /** + * Gets or sets the model URL. + * @type {string} + * @memberof DeviceProfileIdentification + */ + modelUrl?: string; + /** + * Gets or sets the manufacturer. + * @type {string} + * @memberof DeviceProfileIdentification + */ + manufacturer?: string; + /** + * Gets or sets the manufacturer URL. + * @type {string} + * @memberof DeviceProfileIdentification + */ + manufacturerUrl?: string; + /** + * Gets or sets the headers. + * @type {Array} + * @memberof DeviceProfileIdentification + */ + headers?: Array; +} + +/** + * Check if a given object implements the DeviceProfileIdentification interface. + */ +export function instanceOfDeviceProfileIdentification(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function DeviceProfileIdentificationFromJSON(json: any): DeviceProfileIdentification { + return DeviceProfileIdentificationFromJSONTyped(json, false); +} + +export function DeviceProfileIdentificationFromJSONTyped(json: any, ignoreDiscriminator: boolean): DeviceProfileIdentification { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'friendlyName': !exists(json, 'FriendlyName') ? undefined : json['FriendlyName'], + 'modelNumber': !exists(json, 'ModelNumber') ? undefined : json['ModelNumber'], + 'serialNumber': !exists(json, 'SerialNumber') ? undefined : json['SerialNumber'], + 'modelName': !exists(json, 'ModelName') ? undefined : json['ModelName'], + 'modelDescription': !exists(json, 'ModelDescription') ? undefined : json['ModelDescription'], + 'modelUrl': !exists(json, 'ModelUrl') ? undefined : json['ModelUrl'], + 'manufacturer': !exists(json, 'Manufacturer') ? undefined : json['Manufacturer'], + 'manufacturerUrl': !exists(json, 'ManufacturerUrl') ? undefined : json['ManufacturerUrl'], + 'headers': !exists(json, 'Headers') ? undefined : ((json['Headers'] as Array).map(HttpHeaderInfoFromJSON)), + }; +} + +export function DeviceProfileIdentificationToJSON(value?: DeviceProfileIdentification | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'FriendlyName': value.friendlyName, + 'ModelNumber': value.modelNumber, + 'SerialNumber': value.serialNumber, + 'ModelName': value.modelName, + 'ModelDescription': value.modelDescription, + 'ModelUrl': value.modelUrl, + 'Manufacturer': value.manufacturer, + 'ManufacturerUrl': value.manufacturerUrl, + 'Headers': value.headers === undefined ? undefined : ((value.headers as Array).map(HttpHeaderInfoToJSON)), + }; +} + diff --git a/server/jellyfin/models/DeviceProfileInfo.ts b/server/jellyfin/models/DeviceProfileInfo.ts new file mode 100644 index 0000000..623c127 --- /dev/null +++ b/server/jellyfin/models/DeviceProfileInfo.ts @@ -0,0 +1,88 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { DeviceProfileType } from './DeviceProfileType'; +import { + DeviceProfileTypeFromJSON, + DeviceProfileTypeFromJSONTyped, + DeviceProfileTypeToJSON, +} from './DeviceProfileType'; + +/** + * + * @export + * @interface DeviceProfileInfo + */ +export interface DeviceProfileInfo { + /** + * Gets or sets the identifier. + * @type {string} + * @memberof DeviceProfileInfo + */ + id?: string | null; + /** + * Gets or sets the name. + * @type {string} + * @memberof DeviceProfileInfo + */ + name?: string | null; + /** + * + * @type {DeviceProfileType} + * @memberof DeviceProfileInfo + */ + type?: DeviceProfileType; +} + +/** + * Check if a given object implements the DeviceProfileInfo interface. + */ +export function instanceOfDeviceProfileInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function DeviceProfileInfoFromJSON(json: any): DeviceProfileInfo { + return DeviceProfileInfoFromJSONTyped(json, false); +} + +export function DeviceProfileInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): DeviceProfileInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'type': !exists(json, 'Type') ? undefined : DeviceProfileTypeFromJSON(json['Type']), + }; +} + +export function DeviceProfileInfoToJSON(value?: DeviceProfileInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Id': value.id, + 'Name': value.name, + 'Type': DeviceProfileTypeToJSON(value.type), + }; +} + diff --git a/server/jellyfin/models/DeviceProfileType.ts b/server/jellyfin/models/DeviceProfileType.ts new file mode 100644 index 0000000..620164f --- /dev/null +++ b/server/jellyfin/models/DeviceProfileType.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const DeviceProfileType = { + System: 'System', + User: 'User' +} as const; +export type DeviceProfileType = typeof DeviceProfileType[keyof typeof DeviceProfileType]; + + +export function DeviceProfileTypeFromJSON(json: any): DeviceProfileType { + return DeviceProfileTypeFromJSONTyped(json, false); +} + +export function DeviceProfileTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): DeviceProfileType { + return json as DeviceProfileType; +} + +export function DeviceProfileTypeToJSON(value?: DeviceProfileType | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/DirectPlayProfile.ts b/server/jellyfin/models/DirectPlayProfile.ts new file mode 100644 index 0000000..96901df --- /dev/null +++ b/server/jellyfin/models/DirectPlayProfile.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { DlnaProfileType } from './DlnaProfileType'; +import { + DlnaProfileTypeFromJSON, + DlnaProfileTypeFromJSONTyped, + DlnaProfileTypeToJSON, +} from './DlnaProfileType'; + +/** + * + * @export + * @interface DirectPlayProfile + */ +export interface DirectPlayProfile { + /** + * + * @type {string} + * @memberof DirectPlayProfile + */ + container?: string | null; + /** + * + * @type {string} + * @memberof DirectPlayProfile + */ + audioCodec?: string | null; + /** + * + * @type {string} + * @memberof DirectPlayProfile + */ + videoCodec?: string | null; + /** + * + * @type {DlnaProfileType} + * @memberof DirectPlayProfile + */ + type?: DlnaProfileType; +} + +/** + * Check if a given object implements the DirectPlayProfile interface. + */ +export function instanceOfDirectPlayProfile(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function DirectPlayProfileFromJSON(json: any): DirectPlayProfile { + return DirectPlayProfileFromJSONTyped(json, false); +} + +export function DirectPlayProfileFromJSONTyped(json: any, ignoreDiscriminator: boolean): DirectPlayProfile { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'container': !exists(json, 'Container') ? undefined : json['Container'], + 'audioCodec': !exists(json, 'AudioCodec') ? undefined : json['AudioCodec'], + 'videoCodec': !exists(json, 'VideoCodec') ? undefined : json['VideoCodec'], + 'type': !exists(json, 'Type') ? undefined : DlnaProfileTypeFromJSON(json['Type']), + }; +} + +export function DirectPlayProfileToJSON(value?: DirectPlayProfile | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Container': value.container, + 'AudioCodec': value.audioCodec, + 'VideoCodec': value.videoCodec, + 'Type': DlnaProfileTypeToJSON(value.type), + }; +} + diff --git a/server/jellyfin/models/DisplayPreferencesDto.ts b/server/jellyfin/models/DisplayPreferencesDto.ts new file mode 100644 index 0000000..767cb67 --- /dev/null +++ b/server/jellyfin/models/DisplayPreferencesDto.ts @@ -0,0 +1,182 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ScrollDirection } from './ScrollDirection'; +import { + ScrollDirectionFromJSON, + ScrollDirectionFromJSONTyped, + ScrollDirectionToJSON, +} from './ScrollDirection'; +import type { SortOrder } from './SortOrder'; +import { + SortOrderFromJSON, + SortOrderFromJSONTyped, + SortOrderToJSON, +} from './SortOrder'; + +/** + * Defines the display preferences for any item that supports them (usually Folders). + * @export + * @interface DisplayPreferencesDto + */ +export interface DisplayPreferencesDto { + /** + * Gets or sets the user id. + * @type {string} + * @memberof DisplayPreferencesDto + */ + id?: string | null; + /** + * Gets or sets the type of the view. + * @type {string} + * @memberof DisplayPreferencesDto + */ + viewType?: string | null; + /** + * Gets or sets the sort by. + * @type {string} + * @memberof DisplayPreferencesDto + */ + sortBy?: string | null; + /** + * Gets or sets the index by. + * @type {string} + * @memberof DisplayPreferencesDto + */ + indexBy?: string | null; + /** + * Gets or sets a value indicating whether [remember indexing]. + * @type {boolean} + * @memberof DisplayPreferencesDto + */ + rememberIndexing?: boolean; + /** + * Gets or sets the height of the primary image. + * @type {number} + * @memberof DisplayPreferencesDto + */ + primaryImageHeight?: number; + /** + * Gets or sets the width of the primary image. + * @type {number} + * @memberof DisplayPreferencesDto + */ + primaryImageWidth?: number; + /** + * Gets or sets the custom prefs. + * @type {{ [key: string]: string; }} + * @memberof DisplayPreferencesDto + */ + customPrefs?: { [key: string]: string; }; + /** + * + * @type {ScrollDirection} + * @memberof DisplayPreferencesDto + */ + scrollDirection?: ScrollDirection; + /** + * Gets or sets a value indicating whether to show backdrops on this item. + * @type {boolean} + * @memberof DisplayPreferencesDto + */ + showBackdrop?: boolean; + /** + * Gets or sets a value indicating whether [remember sorting]. + * @type {boolean} + * @memberof DisplayPreferencesDto + */ + rememberSorting?: boolean; + /** + * + * @type {SortOrder} + * @memberof DisplayPreferencesDto + */ + sortOrder?: SortOrder; + /** + * Gets or sets a value indicating whether [show sidebar]. + * @type {boolean} + * @memberof DisplayPreferencesDto + */ + showSidebar?: boolean; + /** + * Gets or sets the client. + * @type {string} + * @memberof DisplayPreferencesDto + */ + client?: string | null; +} + +/** + * Check if a given object implements the DisplayPreferencesDto interface. + */ +export function instanceOfDisplayPreferencesDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function DisplayPreferencesDtoFromJSON(json: any): DisplayPreferencesDto { + return DisplayPreferencesDtoFromJSONTyped(json, false); +} + +export function DisplayPreferencesDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): DisplayPreferencesDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'viewType': !exists(json, 'ViewType') ? undefined : json['ViewType'], + 'sortBy': !exists(json, 'SortBy') ? undefined : json['SortBy'], + 'indexBy': !exists(json, 'IndexBy') ? undefined : json['IndexBy'], + 'rememberIndexing': !exists(json, 'RememberIndexing') ? undefined : json['RememberIndexing'], + 'primaryImageHeight': !exists(json, 'PrimaryImageHeight') ? undefined : json['PrimaryImageHeight'], + 'primaryImageWidth': !exists(json, 'PrimaryImageWidth') ? undefined : json['PrimaryImageWidth'], + 'customPrefs': !exists(json, 'CustomPrefs') ? undefined : json['CustomPrefs'], + 'scrollDirection': !exists(json, 'ScrollDirection') ? undefined : ScrollDirectionFromJSON(json['ScrollDirection']), + 'showBackdrop': !exists(json, 'ShowBackdrop') ? undefined : json['ShowBackdrop'], + 'rememberSorting': !exists(json, 'RememberSorting') ? undefined : json['RememberSorting'], + 'sortOrder': !exists(json, 'SortOrder') ? undefined : SortOrderFromJSON(json['SortOrder']), + 'showSidebar': !exists(json, 'ShowSidebar') ? undefined : json['ShowSidebar'], + 'client': !exists(json, 'Client') ? undefined : json['Client'], + }; +} + +export function DisplayPreferencesDtoToJSON(value?: DisplayPreferencesDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Id': value.id, + 'ViewType': value.viewType, + 'SortBy': value.sortBy, + 'IndexBy': value.indexBy, + 'RememberIndexing': value.rememberIndexing, + 'PrimaryImageHeight': value.primaryImageHeight, + 'PrimaryImageWidth': value.primaryImageWidth, + 'CustomPrefs': value.customPrefs, + 'ScrollDirection': ScrollDirectionToJSON(value.scrollDirection), + 'ShowBackdrop': value.showBackdrop, + 'RememberSorting': value.rememberSorting, + 'SortOrder': SortOrderToJSON(value.sortOrder), + 'ShowSidebar': value.showSidebar, + 'Client': value.client, + }; +} + diff --git a/server/jellyfin/models/DlnaOptions.ts b/server/jellyfin/models/DlnaOptions.ts new file mode 100644 index 0000000..86aeda0 --- /dev/null +++ b/server/jellyfin/models/DlnaOptions.ts @@ -0,0 +1,148 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * The DlnaOptions class contains the user definable parameters for the dlna subsystems. + * @export + * @interface DlnaOptions + */ +export interface DlnaOptions { + /** + * Gets or sets a value indicating whether gets or sets a value to indicate the status of the dlna playTo subsystem. + * @type {boolean} + * @memberof DlnaOptions + */ + enablePlayTo?: boolean; + /** + * Gets or sets a value indicating whether gets or sets a value to indicate the status of the dlna server subsystem. + * @type {boolean} + * @memberof DlnaOptions + */ + enableServer?: boolean; + /** + * Gets or sets a value indicating whether detailed dlna server logs are sent to the console/log. + * If the setting "Emby.Dlna": "Debug" msut be set in logging.default.json for this property to work. + * @type {boolean} + * @memberof DlnaOptions + */ + enableDebugLog?: boolean; + /** + * Gets or sets a value indicating whether whether detailed playTo debug logs are sent to the console/log. + * If the setting "Emby.Dlna.PlayTo": "Debug" msut be set in logging.default.json for this property to work. + * @type {boolean} + * @memberof DlnaOptions + */ + enablePlayToTracing?: boolean; + /** + * Gets or sets the ssdp client discovery interval time (in seconds). + * This is the time after which the server will send a ssdp search request. + * @type {number} + * @memberof DlnaOptions + */ + clientDiscoveryIntervalSeconds?: number; + /** + * Gets or sets the frequency at which ssdp alive notifications are transmitted. + * @type {number} + * @memberof DlnaOptions + */ + aliveMessageIntervalSeconds?: number; + /** + * Gets or sets the frequency at which ssdp alive notifications are transmitted. MIGRATING - TO BE REMOVED ONCE WEB HAS BEEN ALTERED. + * @type {number} + * @memberof DlnaOptions + */ + blastAliveMessageIntervalSeconds?: number; + /** + * Gets or sets the default user account that the dlna server uses. + * @type {string} + * @memberof DlnaOptions + */ + defaultUserId?: string | null; + /** + * Gets or sets a value indicating whether playTo device profiles should be created. + * @type {boolean} + * @memberof DlnaOptions + */ + autoCreatePlayToProfiles?: boolean; + /** + * Gets or sets a value indicating whether to blast alive messages. + * @type {boolean} + * @memberof DlnaOptions + */ + blastAliveMessages?: boolean; + /** + * gets or sets a value indicating whether to send only matched host. + * @type {boolean} + * @memberof DlnaOptions + */ + sendOnlyMatchedHost?: boolean; +} + +/** + * Check if a given object implements the DlnaOptions interface. + */ +export function instanceOfDlnaOptions(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function DlnaOptionsFromJSON(json: any): DlnaOptions { + return DlnaOptionsFromJSONTyped(json, false); +} + +export function DlnaOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): DlnaOptions { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'enablePlayTo': !exists(json, 'EnablePlayTo') ? undefined : json['EnablePlayTo'], + 'enableServer': !exists(json, 'EnableServer') ? undefined : json['EnableServer'], + 'enableDebugLog': !exists(json, 'EnableDebugLog') ? undefined : json['EnableDebugLog'], + 'enablePlayToTracing': !exists(json, 'EnablePlayToTracing') ? undefined : json['EnablePlayToTracing'], + 'clientDiscoveryIntervalSeconds': !exists(json, 'ClientDiscoveryIntervalSeconds') ? undefined : json['ClientDiscoveryIntervalSeconds'], + 'aliveMessageIntervalSeconds': !exists(json, 'AliveMessageIntervalSeconds') ? undefined : json['AliveMessageIntervalSeconds'], + 'blastAliveMessageIntervalSeconds': !exists(json, 'BlastAliveMessageIntervalSeconds') ? undefined : json['BlastAliveMessageIntervalSeconds'], + 'defaultUserId': !exists(json, 'DefaultUserId') ? undefined : json['DefaultUserId'], + 'autoCreatePlayToProfiles': !exists(json, 'AutoCreatePlayToProfiles') ? undefined : json['AutoCreatePlayToProfiles'], + 'blastAliveMessages': !exists(json, 'BlastAliveMessages') ? undefined : json['BlastAliveMessages'], + 'sendOnlyMatchedHost': !exists(json, 'SendOnlyMatchedHost') ? undefined : json['SendOnlyMatchedHost'], + }; +} + +export function DlnaOptionsToJSON(value?: DlnaOptions | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'EnablePlayTo': value.enablePlayTo, + 'EnableServer': value.enableServer, + 'EnableDebugLog': value.enableDebugLog, + 'EnablePlayToTracing': value.enablePlayToTracing, + 'ClientDiscoveryIntervalSeconds': value.clientDiscoveryIntervalSeconds, + 'AliveMessageIntervalSeconds': value.aliveMessageIntervalSeconds, + 'BlastAliveMessageIntervalSeconds': value.blastAliveMessageIntervalSeconds, + 'DefaultUserId': value.defaultUserId, + 'AutoCreatePlayToProfiles': value.autoCreatePlayToProfiles, + 'BlastAliveMessages': value.blastAliveMessages, + 'SendOnlyMatchedHost': value.sendOnlyMatchedHost, + }; +} + diff --git a/server/jellyfin/models/DlnaProfileType.ts b/server/jellyfin/models/DlnaProfileType.ts new file mode 100644 index 0000000..ecdcf89 --- /dev/null +++ b/server/jellyfin/models/DlnaProfileType.ts @@ -0,0 +1,40 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const DlnaProfileType = { + Audio: 'Audio', + Video: 'Video', + Photo: 'Photo', + Subtitle: 'Subtitle' +} as const; +export type DlnaProfileType = typeof DlnaProfileType[keyof typeof DlnaProfileType]; + + +export function DlnaProfileTypeFromJSON(json: any): DlnaProfileType { + return DlnaProfileTypeFromJSONTyped(json, false); +} + +export function DlnaProfileTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): DlnaProfileType { + return json as DlnaProfileType; +} + +export function DlnaProfileTypeToJSON(value?: DlnaProfileType | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/DynamicDayOfWeek.ts b/server/jellyfin/models/DynamicDayOfWeek.ts new file mode 100644 index 0000000..1ffd5b9 --- /dev/null +++ b/server/jellyfin/models/DynamicDayOfWeek.ts @@ -0,0 +1,46 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * An enum that represents a day of the week, weekdays, weekends, or all days. + * @export + */ +export const DynamicDayOfWeek = { + Sunday: 'Sunday', + Monday: 'Monday', + Tuesday: 'Tuesday', + Wednesday: 'Wednesday', + Thursday: 'Thursday', + Friday: 'Friday', + Saturday: 'Saturday', + Everyday: 'Everyday', + Weekday: 'Weekday', + Weekend: 'Weekend' +} as const; +export type DynamicDayOfWeek = typeof DynamicDayOfWeek[keyof typeof DynamicDayOfWeek]; + + +export function DynamicDayOfWeekFromJSON(json: any): DynamicDayOfWeek { + return DynamicDayOfWeekFromJSONTyped(json, false); +} + +export function DynamicDayOfWeekFromJSONTyped(json: any, ignoreDiscriminator: boolean): DynamicDayOfWeek { + return json as DynamicDayOfWeek; +} + +export function DynamicDayOfWeekToJSON(value?: DynamicDayOfWeek | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/EmbeddedSubtitleOptions.ts b/server/jellyfin/models/EmbeddedSubtitleOptions.ts new file mode 100644 index 0000000..800a2d3 --- /dev/null +++ b/server/jellyfin/models/EmbeddedSubtitleOptions.ts @@ -0,0 +1,40 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * An enum representing the options to disable embedded subs. + * @export + */ +export const EmbeddedSubtitleOptions = { + AllowAll: 'AllowAll', + AllowText: 'AllowText', + AllowImage: 'AllowImage', + AllowNone: 'AllowNone' +} as const; +export type EmbeddedSubtitleOptions = typeof EmbeddedSubtitleOptions[keyof typeof EmbeddedSubtitleOptions]; + + +export function EmbeddedSubtitleOptionsFromJSON(json: any): EmbeddedSubtitleOptions { + return EmbeddedSubtitleOptionsFromJSONTyped(json, false); +} + +export function EmbeddedSubtitleOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): EmbeddedSubtitleOptions { + return json as EmbeddedSubtitleOptions; +} + +export function EmbeddedSubtitleOptionsToJSON(value?: EmbeddedSubtitleOptions | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/EncodingContext.ts b/server/jellyfin/models/EncodingContext.ts new file mode 100644 index 0000000..8387347 --- /dev/null +++ b/server/jellyfin/models/EncodingContext.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const EncodingContext = { + Streaming: 'Streaming', + Static: 'Static' +} as const; +export type EncodingContext = typeof EncodingContext[keyof typeof EncodingContext]; + + +export function EncodingContextFromJSON(json: any): EncodingContext { + return EncodingContextFromJSONTyped(json, false); +} + +export function EncodingContextFromJSONTyped(json: any, ignoreDiscriminator: boolean): EncodingContext { + return json as EncodingContext; +} + +export function EncodingContextToJSON(value?: EncodingContext | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/EncodingOptions.ts b/server/jellyfin/models/EncodingOptions.ts new file mode 100644 index 0000000..2578014 --- /dev/null +++ b/server/jellyfin/models/EncodingOptions.ts @@ -0,0 +1,361 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface EncodingOptions + */ +export interface EncodingOptions { + /** + * + * @type {number} + * @memberof EncodingOptions + */ + encodingThreadCount?: number; + /** + * + * @type {string} + * @memberof EncodingOptions + */ + transcodingTempPath?: string | null; + /** + * + * @type {string} + * @memberof EncodingOptions + */ + fallbackFontPath?: string | null; + /** + * + * @type {boolean} + * @memberof EncodingOptions + */ + enableFallbackFont?: boolean; + /** + * + * @type {number} + * @memberof EncodingOptions + */ + downMixAudioBoost?: number; + /** + * + * @type {number} + * @memberof EncodingOptions + */ + maxMuxingQueueSize?: number; + /** + * + * @type {boolean} + * @memberof EncodingOptions + */ + enableThrottling?: boolean; + /** + * + * @type {number} + * @memberof EncodingOptions + */ + throttleDelaySeconds?: number; + /** + * + * @type {string} + * @memberof EncodingOptions + */ + hardwareAccelerationType?: string | null; + /** + * Gets or sets the FFmpeg path as set by the user via the UI. + * @type {string} + * @memberof EncodingOptions + */ + encoderAppPath?: string | null; + /** + * Gets or sets the current FFmpeg path being used by the system and displayed on the transcode page. + * @type {string} + * @memberof EncodingOptions + */ + encoderAppPathDisplay?: string | null; + /** + * + * @type {string} + * @memberof EncodingOptions + */ + vaapiDevice?: string | null; + /** + * + * @type {boolean} + * @memberof EncodingOptions + */ + enableTonemapping?: boolean; + /** + * + * @type {boolean} + * @memberof EncodingOptions + */ + enableVppTonemapping?: boolean; + /** + * + * @type {string} + * @memberof EncodingOptions + */ + tonemappingAlgorithm?: string | null; + /** + * + * @type {string} + * @memberof EncodingOptions + */ + tonemappingRange?: string | null; + /** + * + * @type {number} + * @memberof EncodingOptions + */ + tonemappingDesat?: number; + /** + * + * @type {number} + * @memberof EncodingOptions + */ + tonemappingThreshold?: number; + /** + * + * @type {number} + * @memberof EncodingOptions + */ + tonemappingPeak?: number; + /** + * + * @type {number} + * @memberof EncodingOptions + */ + tonemappingParam?: number; + /** + * + * @type {number} + * @memberof EncodingOptions + */ + vppTonemappingBrightness?: number; + /** + * + * @type {number} + * @memberof EncodingOptions + */ + vppTonemappingContrast?: number; + /** + * + * @type {number} + * @memberof EncodingOptions + */ + h264Crf?: number; + /** + * + * @type {number} + * @memberof EncodingOptions + */ + h265Crf?: number; + /** + * + * @type {string} + * @memberof EncodingOptions + */ + encoderPreset?: string | null; + /** + * + * @type {boolean} + * @memberof EncodingOptions + */ + deinterlaceDoubleRate?: boolean; + /** + * + * @type {string} + * @memberof EncodingOptions + */ + deinterlaceMethod?: string | null; + /** + * + * @type {boolean} + * @memberof EncodingOptions + */ + enableDecodingColorDepth10Hevc?: boolean; + /** + * + * @type {boolean} + * @memberof EncodingOptions + */ + enableDecodingColorDepth10Vp9?: boolean; + /** + * + * @type {boolean} + * @memberof EncodingOptions + */ + enableEnhancedNvdecDecoder?: boolean; + /** + * + * @type {boolean} + * @memberof EncodingOptions + */ + preferSystemNativeHwDecoder?: boolean; + /** + * + * @type {boolean} + * @memberof EncodingOptions + */ + enableIntelLowPowerH264HwEncoder?: boolean; + /** + * + * @type {boolean} + * @memberof EncodingOptions + */ + enableIntelLowPowerHevcHwEncoder?: boolean; + /** + * + * @type {boolean} + * @memberof EncodingOptions + */ + enableHardwareEncoding?: boolean; + /** + * + * @type {boolean} + * @memberof EncodingOptions + */ + allowHevcEncoding?: boolean; + /** + * + * @type {boolean} + * @memberof EncodingOptions + */ + enableSubtitleExtraction?: boolean; + /** + * + * @type {Array} + * @memberof EncodingOptions + */ + hardwareDecodingCodecs?: Array | null; + /** + * + * @type {Array} + * @memberof EncodingOptions + */ + allowOnDemandMetadataBasedKeyframeExtractionForExtensions?: Array | null; +} + +/** + * Check if a given object implements the EncodingOptions interface. + */ +export function instanceOfEncodingOptions(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function EncodingOptionsFromJSON(json: any): EncodingOptions { + return EncodingOptionsFromJSONTyped(json, false); +} + +export function EncodingOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): EncodingOptions { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'encodingThreadCount': !exists(json, 'EncodingThreadCount') ? undefined : json['EncodingThreadCount'], + 'transcodingTempPath': !exists(json, 'TranscodingTempPath') ? undefined : json['TranscodingTempPath'], + 'fallbackFontPath': !exists(json, 'FallbackFontPath') ? undefined : json['FallbackFontPath'], + 'enableFallbackFont': !exists(json, 'EnableFallbackFont') ? undefined : json['EnableFallbackFont'], + 'downMixAudioBoost': !exists(json, 'DownMixAudioBoost') ? undefined : json['DownMixAudioBoost'], + 'maxMuxingQueueSize': !exists(json, 'MaxMuxingQueueSize') ? undefined : json['MaxMuxingQueueSize'], + 'enableThrottling': !exists(json, 'EnableThrottling') ? undefined : json['EnableThrottling'], + 'throttleDelaySeconds': !exists(json, 'ThrottleDelaySeconds') ? undefined : json['ThrottleDelaySeconds'], + 'hardwareAccelerationType': !exists(json, 'HardwareAccelerationType') ? undefined : json['HardwareAccelerationType'], + 'encoderAppPath': !exists(json, 'EncoderAppPath') ? undefined : json['EncoderAppPath'], + 'encoderAppPathDisplay': !exists(json, 'EncoderAppPathDisplay') ? undefined : json['EncoderAppPathDisplay'], + 'vaapiDevice': !exists(json, 'VaapiDevice') ? undefined : json['VaapiDevice'], + 'enableTonemapping': !exists(json, 'EnableTonemapping') ? undefined : json['EnableTonemapping'], + 'enableVppTonemapping': !exists(json, 'EnableVppTonemapping') ? undefined : json['EnableVppTonemapping'], + 'tonemappingAlgorithm': !exists(json, 'TonemappingAlgorithm') ? undefined : json['TonemappingAlgorithm'], + 'tonemappingRange': !exists(json, 'TonemappingRange') ? undefined : json['TonemappingRange'], + 'tonemappingDesat': !exists(json, 'TonemappingDesat') ? undefined : json['TonemappingDesat'], + 'tonemappingThreshold': !exists(json, 'TonemappingThreshold') ? undefined : json['TonemappingThreshold'], + 'tonemappingPeak': !exists(json, 'TonemappingPeak') ? undefined : json['TonemappingPeak'], + 'tonemappingParam': !exists(json, 'TonemappingParam') ? undefined : json['TonemappingParam'], + 'vppTonemappingBrightness': !exists(json, 'VppTonemappingBrightness') ? undefined : json['VppTonemappingBrightness'], + 'vppTonemappingContrast': !exists(json, 'VppTonemappingContrast') ? undefined : json['VppTonemappingContrast'], + 'h264Crf': !exists(json, 'H264Crf') ? undefined : json['H264Crf'], + 'h265Crf': !exists(json, 'H265Crf') ? undefined : json['H265Crf'], + 'encoderPreset': !exists(json, 'EncoderPreset') ? undefined : json['EncoderPreset'], + 'deinterlaceDoubleRate': !exists(json, 'DeinterlaceDoubleRate') ? undefined : json['DeinterlaceDoubleRate'], + 'deinterlaceMethod': !exists(json, 'DeinterlaceMethod') ? undefined : json['DeinterlaceMethod'], + 'enableDecodingColorDepth10Hevc': !exists(json, 'EnableDecodingColorDepth10Hevc') ? undefined : json['EnableDecodingColorDepth10Hevc'], + 'enableDecodingColorDepth10Vp9': !exists(json, 'EnableDecodingColorDepth10Vp9') ? undefined : json['EnableDecodingColorDepth10Vp9'], + 'enableEnhancedNvdecDecoder': !exists(json, 'EnableEnhancedNvdecDecoder') ? undefined : json['EnableEnhancedNvdecDecoder'], + 'preferSystemNativeHwDecoder': !exists(json, 'PreferSystemNativeHwDecoder') ? undefined : json['PreferSystemNativeHwDecoder'], + 'enableIntelLowPowerH264HwEncoder': !exists(json, 'EnableIntelLowPowerH264HwEncoder') ? undefined : json['EnableIntelLowPowerH264HwEncoder'], + 'enableIntelLowPowerHevcHwEncoder': !exists(json, 'EnableIntelLowPowerHevcHwEncoder') ? undefined : json['EnableIntelLowPowerHevcHwEncoder'], + 'enableHardwareEncoding': !exists(json, 'EnableHardwareEncoding') ? undefined : json['EnableHardwareEncoding'], + 'allowHevcEncoding': !exists(json, 'AllowHevcEncoding') ? undefined : json['AllowHevcEncoding'], + 'enableSubtitleExtraction': !exists(json, 'EnableSubtitleExtraction') ? undefined : json['EnableSubtitleExtraction'], + 'hardwareDecodingCodecs': !exists(json, 'HardwareDecodingCodecs') ? undefined : json['HardwareDecodingCodecs'], + 'allowOnDemandMetadataBasedKeyframeExtractionForExtensions': !exists(json, 'AllowOnDemandMetadataBasedKeyframeExtractionForExtensions') ? undefined : json['AllowOnDemandMetadataBasedKeyframeExtractionForExtensions'], + }; +} + +export function EncodingOptionsToJSON(value?: EncodingOptions | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'EncodingThreadCount': value.encodingThreadCount, + 'TranscodingTempPath': value.transcodingTempPath, + 'FallbackFontPath': value.fallbackFontPath, + 'EnableFallbackFont': value.enableFallbackFont, + 'DownMixAudioBoost': value.downMixAudioBoost, + 'MaxMuxingQueueSize': value.maxMuxingQueueSize, + 'EnableThrottling': value.enableThrottling, + 'ThrottleDelaySeconds': value.throttleDelaySeconds, + 'HardwareAccelerationType': value.hardwareAccelerationType, + 'EncoderAppPath': value.encoderAppPath, + 'EncoderAppPathDisplay': value.encoderAppPathDisplay, + 'VaapiDevice': value.vaapiDevice, + 'EnableTonemapping': value.enableTonemapping, + 'EnableVppTonemapping': value.enableVppTonemapping, + 'TonemappingAlgorithm': value.tonemappingAlgorithm, + 'TonemappingRange': value.tonemappingRange, + 'TonemappingDesat': value.tonemappingDesat, + 'TonemappingThreshold': value.tonemappingThreshold, + 'TonemappingPeak': value.tonemappingPeak, + 'TonemappingParam': value.tonemappingParam, + 'VppTonemappingBrightness': value.vppTonemappingBrightness, + 'VppTonemappingContrast': value.vppTonemappingContrast, + 'H264Crf': value.h264Crf, + 'H265Crf': value.h265Crf, + 'EncoderPreset': value.encoderPreset, + 'DeinterlaceDoubleRate': value.deinterlaceDoubleRate, + 'DeinterlaceMethod': value.deinterlaceMethod, + 'EnableDecodingColorDepth10Hevc': value.enableDecodingColorDepth10Hevc, + 'EnableDecodingColorDepth10Vp9': value.enableDecodingColorDepth10Vp9, + 'EnableEnhancedNvdecDecoder': value.enableEnhancedNvdecDecoder, + 'PreferSystemNativeHwDecoder': value.preferSystemNativeHwDecoder, + 'EnableIntelLowPowerH264HwEncoder': value.enableIntelLowPowerH264HwEncoder, + 'EnableIntelLowPowerHevcHwEncoder': value.enableIntelLowPowerHevcHwEncoder, + 'EnableHardwareEncoding': value.enableHardwareEncoding, + 'AllowHevcEncoding': value.allowHevcEncoding, + 'EnableSubtitleExtraction': value.enableSubtitleExtraction, + 'HardwareDecodingCodecs': value.hardwareDecodingCodecs, + 'AllowOnDemandMetadataBasedKeyframeExtractionForExtensions': value.allowOnDemandMetadataBasedKeyframeExtractionForExtensions, + }; +} + diff --git a/server/jellyfin/models/EndPointInfo.ts b/server/jellyfin/models/EndPointInfo.ts new file mode 100644 index 0000000..0414101 --- /dev/null +++ b/server/jellyfin/models/EndPointInfo.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface EndPointInfo + */ +export interface EndPointInfo { + /** + * + * @type {boolean} + * @memberof EndPointInfo + */ + isLocal?: boolean; + /** + * + * @type {boolean} + * @memberof EndPointInfo + */ + isInNetwork?: boolean; +} + +/** + * Check if a given object implements the EndPointInfo interface. + */ +export function instanceOfEndPointInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function EndPointInfoFromJSON(json: any): EndPointInfo { + return EndPointInfoFromJSONTyped(json, false); +} + +export function EndPointInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): EndPointInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'isLocal': !exists(json, 'IsLocal') ? undefined : json['IsLocal'], + 'isInNetwork': !exists(json, 'IsInNetwork') ? undefined : json['IsInNetwork'], + }; +} + +export function EndPointInfoToJSON(value?: EndPointInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'IsLocal': value.isLocal, + 'IsInNetwork': value.isInNetwork, + }; +} + diff --git a/server/jellyfin/models/ExternalIdInfo.ts b/server/jellyfin/models/ExternalIdInfo.ts new file mode 100644 index 0000000..3f82d7a --- /dev/null +++ b/server/jellyfin/models/ExternalIdInfo.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ExternalIdMediaType } from './ExternalIdMediaType'; +import { + ExternalIdMediaTypeFromJSON, + ExternalIdMediaTypeFromJSONTyped, + ExternalIdMediaTypeToJSON, +} from './ExternalIdMediaType'; + +/** + * Represents the external id information for serialization to the client. + * @export + * @interface ExternalIdInfo + */ +export interface ExternalIdInfo { + /** + * Gets or sets the display name of the external id provider (IE: IMDB, MusicBrainz, etc). + * @type {string} + * @memberof ExternalIdInfo + */ + name?: string; + /** + * Gets or sets the unique key for this id. This key should be unique across all providers. + * @type {string} + * @memberof ExternalIdInfo + */ + key?: string; + /** + * + * @type {ExternalIdMediaType} + * @memberof ExternalIdInfo + */ + type?: ExternalIdMediaType | null; + /** + * Gets or sets the URL format string. + * @type {string} + * @memberof ExternalIdInfo + */ + urlFormatString?: string | null; +} + +/** + * Check if a given object implements the ExternalIdInfo interface. + */ +export function instanceOfExternalIdInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ExternalIdInfoFromJSON(json: any): ExternalIdInfo { + return ExternalIdInfoFromJSONTyped(json, false); +} + +export function ExternalIdInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ExternalIdInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'key': !exists(json, 'Key') ? undefined : json['Key'], + 'type': !exists(json, 'Type') ? undefined : ExternalIdMediaTypeFromJSON(json['Type']), + 'urlFormatString': !exists(json, 'UrlFormatString') ? undefined : json['UrlFormatString'], + }; +} + +export function ExternalIdInfoToJSON(value?: ExternalIdInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Key': value.key, + 'Type': ExternalIdMediaTypeToJSON(value.type), + 'UrlFormatString': value.urlFormatString, + }; +} + diff --git a/server/jellyfin/models/ExternalIdMediaType.ts b/server/jellyfin/models/ExternalIdMediaType.ts new file mode 100644 index 0000000..fe5b5a0 --- /dev/null +++ b/server/jellyfin/models/ExternalIdMediaType.ts @@ -0,0 +1,48 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * The specific media type of an MediaBrowser.Model.Providers.ExternalIdInfo. + * @export + */ +export const ExternalIdMediaType = { + Album: 'Album', + AlbumArtist: 'AlbumArtist', + Artist: 'Artist', + BoxSet: 'BoxSet', + Episode: 'Episode', + Movie: 'Movie', + OtherArtist: 'OtherArtist', + Person: 'Person', + ReleaseGroup: 'ReleaseGroup', + Season: 'Season', + Series: 'Series', + Track: 'Track' +} as const; +export type ExternalIdMediaType = typeof ExternalIdMediaType[keyof typeof ExternalIdMediaType]; + + +export function ExternalIdMediaTypeFromJSON(json: any): ExternalIdMediaType { + return ExternalIdMediaTypeFromJSONTyped(json, false); +} + +export function ExternalIdMediaTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): ExternalIdMediaType { + return json as ExternalIdMediaType; +} + +export function ExternalIdMediaTypeToJSON(value?: ExternalIdMediaType | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/ExternalUrl.ts b/server/jellyfin/models/ExternalUrl.ts new file mode 100644 index 0000000..e32c213 --- /dev/null +++ b/server/jellyfin/models/ExternalUrl.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface ExternalUrl + */ +export interface ExternalUrl { + /** + * Gets or sets the name. + * @type {string} + * @memberof ExternalUrl + */ + name?: string | null; + /** + * Gets or sets the type of the item. + * @type {string} + * @memberof ExternalUrl + */ + url?: string | null; +} + +/** + * Check if a given object implements the ExternalUrl interface. + */ +export function instanceOfExternalUrl(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ExternalUrlFromJSON(json: any): ExternalUrl { + return ExternalUrlFromJSONTyped(json, false); +} + +export function ExternalUrlFromJSONTyped(json: any, ignoreDiscriminator: boolean): ExternalUrl { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'url': !exists(json, 'Url') ? undefined : json['Url'], + }; +} + +export function ExternalUrlToJSON(value?: ExternalUrl | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Url': value.url, + }; +} + diff --git a/server/jellyfin/models/FFmpegLocation.ts b/server/jellyfin/models/FFmpegLocation.ts new file mode 100644 index 0000000..823bb57 --- /dev/null +++ b/server/jellyfin/models/FFmpegLocation.ts @@ -0,0 +1,40 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Enum describing the location of the FFmpeg tool. + * @export + */ +export const FFmpegLocation = { + NotFound: 'NotFound', + SetByArgument: 'SetByArgument', + Custom: 'Custom', + System: 'System' +} as const; +export type FFmpegLocation = typeof FFmpegLocation[keyof typeof FFmpegLocation]; + + +export function FFmpegLocationFromJSON(json: any): FFmpegLocation { + return FFmpegLocationFromJSONTyped(json, false); +} + +export function FFmpegLocationFromJSONTyped(json: any, ignoreDiscriminator: boolean): FFmpegLocation { + return json as FFmpegLocation; +} + +export function FFmpegLocationToJSON(value?: FFmpegLocation | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/FileSystemEntryInfo.ts b/server/jellyfin/models/FileSystemEntryInfo.ts new file mode 100644 index 0000000..82bdda7 --- /dev/null +++ b/server/jellyfin/models/FileSystemEntryInfo.ts @@ -0,0 +1,88 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { FileSystemEntryType } from './FileSystemEntryType'; +import { + FileSystemEntryTypeFromJSON, + FileSystemEntryTypeFromJSONTyped, + FileSystemEntryTypeToJSON, +} from './FileSystemEntryType'; + +/** + * Class FileSystemEntryInfo. + * @export + * @interface FileSystemEntryInfo + */ +export interface FileSystemEntryInfo { + /** + * Gets the name. + * @type {string} + * @memberof FileSystemEntryInfo + */ + name?: string; + /** + * Gets the path. + * @type {string} + * @memberof FileSystemEntryInfo + */ + path?: string; + /** + * + * @type {FileSystemEntryType} + * @memberof FileSystemEntryInfo + */ + type?: FileSystemEntryType; +} + +/** + * Check if a given object implements the FileSystemEntryInfo interface. + */ +export function instanceOfFileSystemEntryInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function FileSystemEntryInfoFromJSON(json: any): FileSystemEntryInfo { + return FileSystemEntryInfoFromJSONTyped(json, false); +} + +export function FileSystemEntryInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): FileSystemEntryInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'type': !exists(json, 'Type') ? undefined : FileSystemEntryTypeFromJSON(json['Type']), + }; +} + +export function FileSystemEntryInfoToJSON(value?: FileSystemEntryInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Path': value.path, + 'Type': FileSystemEntryTypeToJSON(value.type), + }; +} + diff --git a/server/jellyfin/models/FileSystemEntryType.ts b/server/jellyfin/models/FileSystemEntryType.ts new file mode 100644 index 0000000..02ae757 --- /dev/null +++ b/server/jellyfin/models/FileSystemEntryType.ts @@ -0,0 +1,40 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Enum FileSystemEntryType. + * @export + */ +export const FileSystemEntryType = { + File: 'File', + Directory: 'Directory', + NetworkComputer: 'NetworkComputer', + NetworkShare: 'NetworkShare' +} as const; +export type FileSystemEntryType = typeof FileSystemEntryType[keyof typeof FileSystemEntryType]; + + +export function FileSystemEntryTypeFromJSON(json: any): FileSystemEntryType { + return FileSystemEntryTypeFromJSONTyped(json, false); +} + +export function FileSystemEntryTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): FileSystemEntryType { + return json as FileSystemEntryType; +} + +export function FileSystemEntryTypeToJSON(value?: FileSystemEntryType | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/FontFile.ts b/server/jellyfin/models/FontFile.ts new file mode 100644 index 0000000..ccac38c --- /dev/null +++ b/server/jellyfin/models/FontFile.ts @@ -0,0 +1,89 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class FontFile. + * @export + * @interface FontFile + */ +export interface FontFile { + /** + * Gets or sets the name. + * @type {string} + * @memberof FontFile + */ + name?: string | null; + /** + * Gets or sets the size. + * @type {number} + * @memberof FontFile + */ + size?: number; + /** + * Gets or sets the date created. + * @type {Date} + * @memberof FontFile + */ + dateCreated?: Date; + /** + * Gets or sets the date modified. + * @type {Date} + * @memberof FontFile + */ + dateModified?: Date; +} + +/** + * Check if a given object implements the FontFile interface. + */ +export function instanceOfFontFile(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function FontFileFromJSON(json: any): FontFile { + return FontFileFromJSONTyped(json, false); +} + +export function FontFileFromJSONTyped(json: any, ignoreDiscriminator: boolean): FontFile { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'size': !exists(json, 'Size') ? undefined : json['Size'], + 'dateCreated': !exists(json, 'DateCreated') ? undefined : (new Date(json['DateCreated'])), + 'dateModified': !exists(json, 'DateModified') ? undefined : (new Date(json['DateModified'])), + }; +} + +export function FontFileToJSON(value?: FontFile | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Size': value.size, + 'DateCreated': value.dateCreated === undefined ? undefined : (value.dateCreated.toISOString()), + 'DateModified': value.dateModified === undefined ? undefined : (value.dateModified.toISOString()), + }; +} + diff --git a/server/jellyfin/models/ForgotPasswordAction.ts b/server/jellyfin/models/ForgotPasswordAction.ts new file mode 100644 index 0000000..cdf21ce --- /dev/null +++ b/server/jellyfin/models/ForgotPasswordAction.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const ForgotPasswordAction = { + ContactAdmin: 'ContactAdmin', + PinCode: 'PinCode', + InNetworkRequired: 'InNetworkRequired' +} as const; +export type ForgotPasswordAction = typeof ForgotPasswordAction[keyof typeof ForgotPasswordAction]; + + +export function ForgotPasswordActionFromJSON(json: any): ForgotPasswordAction { + return ForgotPasswordActionFromJSONTyped(json, false); +} + +export function ForgotPasswordActionFromJSONTyped(json: any, ignoreDiscriminator: boolean): ForgotPasswordAction { + return json as ForgotPasswordAction; +} + +export function ForgotPasswordActionToJSON(value?: ForgotPasswordAction | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/ForgotPasswordDto.ts b/server/jellyfin/models/ForgotPasswordDto.ts new file mode 100644 index 0000000..2ca7ef4 --- /dev/null +++ b/server/jellyfin/models/ForgotPasswordDto.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Forgot Password request body DTO. + * @export + * @interface ForgotPasswordDto + */ +export interface ForgotPasswordDto { + /** + * Gets or sets the entered username to have its password reset. + * @type {string} + * @memberof ForgotPasswordDto + */ + enteredUsername: string; +} + +/** + * Check if a given object implements the ForgotPasswordDto interface. + */ +export function instanceOfForgotPasswordDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "enteredUsername" in value; + + return isInstance; +} + +export function ForgotPasswordDtoFromJSON(json: any): ForgotPasswordDto { + return ForgotPasswordDtoFromJSONTyped(json, false); +} + +export function ForgotPasswordDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ForgotPasswordDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'enteredUsername': json['EnteredUsername'], + }; +} + +export function ForgotPasswordDtoToJSON(value?: ForgotPasswordDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'EnteredUsername': value.enteredUsername, + }; +} + diff --git a/server/jellyfin/models/ForgotPasswordPinDto.ts b/server/jellyfin/models/ForgotPasswordPinDto.ts new file mode 100644 index 0000000..3ce8f14 --- /dev/null +++ b/server/jellyfin/models/ForgotPasswordPinDto.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Forgot Password Pin enter request body DTO. + * @export + * @interface ForgotPasswordPinDto + */ +export interface ForgotPasswordPinDto { + /** + * Gets or sets the entered pin to have the password reset. + * @type {string} + * @memberof ForgotPasswordPinDto + */ + pin: string; +} + +/** + * Check if a given object implements the ForgotPasswordPinDto interface. + */ +export function instanceOfForgotPasswordPinDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "pin" in value; + + return isInstance; +} + +export function ForgotPasswordPinDtoFromJSON(json: any): ForgotPasswordPinDto { + return ForgotPasswordPinDtoFromJSONTyped(json, false); +} + +export function ForgotPasswordPinDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ForgotPasswordPinDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'pin': json['Pin'], + }; +} + +export function ForgotPasswordPinDtoToJSON(value?: ForgotPasswordPinDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Pin': value.pin, + }; +} + diff --git a/server/jellyfin/models/ForgotPasswordPinRequest.ts b/server/jellyfin/models/ForgotPasswordPinRequest.ts new file mode 100644 index 0000000..6dea414 --- /dev/null +++ b/server/jellyfin/models/ForgotPasswordPinRequest.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Forgot Password Pin enter request body DTO. + * @export + * @interface ForgotPasswordPinRequest + */ +export interface ForgotPasswordPinRequest { + /** + * Gets or sets the entered pin to have the password reset. + * @type {string} + * @memberof ForgotPasswordPinRequest + */ + pin: string; +} + +/** + * Check if a given object implements the ForgotPasswordPinRequest interface. + */ +export function instanceOfForgotPasswordPinRequest(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "pin" in value; + + return isInstance; +} + +export function ForgotPasswordPinRequestFromJSON(json: any): ForgotPasswordPinRequest { + return ForgotPasswordPinRequestFromJSONTyped(json, false); +} + +export function ForgotPasswordPinRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): ForgotPasswordPinRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'pin': json['Pin'], + }; +} + +export function ForgotPasswordPinRequestToJSON(value?: ForgotPasswordPinRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Pin': value.pin, + }; +} + diff --git a/server/jellyfin/models/ForgotPasswordRequest.ts b/server/jellyfin/models/ForgotPasswordRequest.ts new file mode 100644 index 0000000..4fb93aa --- /dev/null +++ b/server/jellyfin/models/ForgotPasswordRequest.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Forgot Password request body DTO. + * @export + * @interface ForgotPasswordRequest + */ +export interface ForgotPasswordRequest { + /** + * Gets or sets the entered username to have its password reset. + * @type {string} + * @memberof ForgotPasswordRequest + */ + enteredUsername: string; +} + +/** + * Check if a given object implements the ForgotPasswordRequest interface. + */ +export function instanceOfForgotPasswordRequest(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "enteredUsername" in value; + + return isInstance; +} + +export function ForgotPasswordRequestFromJSON(json: any): ForgotPasswordRequest { + return ForgotPasswordRequestFromJSONTyped(json, false); +} + +export function ForgotPasswordRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): ForgotPasswordRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'enteredUsername': json['EnteredUsername'], + }; +} + +export function ForgotPasswordRequestToJSON(value?: ForgotPasswordRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'EnteredUsername': value.enteredUsername, + }; +} + diff --git a/server/jellyfin/models/ForgotPasswordResult.ts b/server/jellyfin/models/ForgotPasswordResult.ts new file mode 100644 index 0000000..4c523f9 --- /dev/null +++ b/server/jellyfin/models/ForgotPasswordResult.ts @@ -0,0 +1,88 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ForgotPasswordAction } from './ForgotPasswordAction'; +import { + ForgotPasswordActionFromJSON, + ForgotPasswordActionFromJSONTyped, + ForgotPasswordActionToJSON, +} from './ForgotPasswordAction'; + +/** + * + * @export + * @interface ForgotPasswordResult + */ +export interface ForgotPasswordResult { + /** + * + * @type {ForgotPasswordAction} + * @memberof ForgotPasswordResult + */ + action?: ForgotPasswordAction; + /** + * Gets or sets the pin file. + * @type {string} + * @memberof ForgotPasswordResult + */ + pinFile?: string | null; + /** + * Gets or sets the pin expiration date. + * @type {Date} + * @memberof ForgotPasswordResult + */ + pinExpirationDate?: Date | null; +} + +/** + * Check if a given object implements the ForgotPasswordResult interface. + */ +export function instanceOfForgotPasswordResult(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ForgotPasswordResultFromJSON(json: any): ForgotPasswordResult { + return ForgotPasswordResultFromJSONTyped(json, false); +} + +export function ForgotPasswordResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): ForgotPasswordResult { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'action': !exists(json, 'Action') ? undefined : ForgotPasswordActionFromJSON(json['Action']), + 'pinFile': !exists(json, 'PinFile') ? undefined : json['PinFile'], + 'pinExpirationDate': !exists(json, 'PinExpirationDate') ? undefined : (json['PinExpirationDate'] === null ? null : new Date(json['PinExpirationDate'])), + }; +} + +export function ForgotPasswordResultToJSON(value?: ForgotPasswordResult | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Action': ForgotPasswordActionToJSON(value.action), + 'PinFile': value.pinFile, + 'PinExpirationDate': value.pinExpirationDate === undefined ? undefined : (value.pinExpirationDate === null ? null : value.pinExpirationDate.toISOString()), + }; +} + diff --git a/server/jellyfin/models/GeneralCommand.ts b/server/jellyfin/models/GeneralCommand.ts new file mode 100644 index 0000000..071444d --- /dev/null +++ b/server/jellyfin/models/GeneralCommand.ts @@ -0,0 +1,88 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { GeneralCommandType } from './GeneralCommandType'; +import { + GeneralCommandTypeFromJSON, + GeneralCommandTypeFromJSONTyped, + GeneralCommandTypeToJSON, +} from './GeneralCommandType'; + +/** + * + * @export + * @interface GeneralCommand + */ +export interface GeneralCommand { + /** + * + * @type {GeneralCommandType} + * @memberof GeneralCommand + */ + name?: GeneralCommandType; + /** + * + * @type {string} + * @memberof GeneralCommand + */ + controllingUserId?: string; + /** + * + * @type {{ [key: string]: string; }} + * @memberof GeneralCommand + */ + arguments?: { [key: string]: string; }; +} + +/** + * Check if a given object implements the GeneralCommand interface. + */ +export function instanceOfGeneralCommand(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function GeneralCommandFromJSON(json: any): GeneralCommand { + return GeneralCommandFromJSONTyped(json, false); +} + +export function GeneralCommandFromJSONTyped(json: any, ignoreDiscriminator: boolean): GeneralCommand { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : GeneralCommandTypeFromJSON(json['Name']), + 'controllingUserId': !exists(json, 'ControllingUserId') ? undefined : json['ControllingUserId'], + 'arguments': !exists(json, 'Arguments') ? undefined : json['Arguments'], + }; +} + +export function GeneralCommandToJSON(value?: GeneralCommand | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': GeneralCommandTypeToJSON(value.name), + 'ControllingUserId': value.controllingUserId, + 'Arguments': value.arguments, + }; +} + diff --git a/server/jellyfin/models/GeneralCommandType.ts b/server/jellyfin/models/GeneralCommandType.ts new file mode 100644 index 0000000..3f05599 --- /dev/null +++ b/server/jellyfin/models/GeneralCommandType.ts @@ -0,0 +1,78 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * This exists simply to identify a set of known commands. + * @export + */ +export const GeneralCommandType = { + MoveUp: 'MoveUp', + MoveDown: 'MoveDown', + MoveLeft: 'MoveLeft', + MoveRight: 'MoveRight', + PageUp: 'PageUp', + PageDown: 'PageDown', + PreviousLetter: 'PreviousLetter', + NextLetter: 'NextLetter', + ToggleOsd: 'ToggleOsd', + ToggleContextMenu: 'ToggleContextMenu', + Select: 'Select', + Back: 'Back', + TakeScreenshot: 'TakeScreenshot', + SendKey: 'SendKey', + SendString: 'SendString', + GoHome: 'GoHome', + GoToSettings: 'GoToSettings', + VolumeUp: 'VolumeUp', + VolumeDown: 'VolumeDown', + Mute: 'Mute', + Unmute: 'Unmute', + ToggleMute: 'ToggleMute', + SetVolume: 'SetVolume', + SetAudioStreamIndex: 'SetAudioStreamIndex', + SetSubtitleStreamIndex: 'SetSubtitleStreamIndex', + ToggleFullscreen: 'ToggleFullscreen', + DisplayContent: 'DisplayContent', + GoToSearch: 'GoToSearch', + DisplayMessage: 'DisplayMessage', + SetRepeatMode: 'SetRepeatMode', + ChannelUp: 'ChannelUp', + ChannelDown: 'ChannelDown', + Guide: 'Guide', + ToggleStats: 'ToggleStats', + PlayMediaSource: 'PlayMediaSource', + PlayTrailers: 'PlayTrailers', + SetShuffleQueue: 'SetShuffleQueue', + PlayState: 'PlayState', + PlayNext: 'PlayNext', + ToggleOsdMenu: 'ToggleOsdMenu', + Play: 'Play', + SetMaxStreamingBitrate: 'SetMaxStreamingBitrate' +} as const; +export type GeneralCommandType = typeof GeneralCommandType[keyof typeof GeneralCommandType]; + + +export function GeneralCommandTypeFromJSON(json: any): GeneralCommandType { + return GeneralCommandTypeFromJSONTyped(json, false); +} + +export function GeneralCommandTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): GeneralCommandType { + return json as GeneralCommandType; +} + +export function GeneralCommandTypeToJSON(value?: GeneralCommandType | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/GetBookRemoteSearchResultsRequest.ts b/server/jellyfin/models/GetBookRemoteSearchResultsRequest.ts new file mode 100644 index 0000000..153fa0c --- /dev/null +++ b/server/jellyfin/models/GetBookRemoteSearchResultsRequest.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { BookInfo } from './BookInfo'; +import { + BookInfoFromJSON, + BookInfoFromJSONTyped, + BookInfoToJSON, +} from './BookInfo'; + +/** + * + * @export + * @interface GetBookRemoteSearchResultsRequest + */ +export interface GetBookRemoteSearchResultsRequest { + /** + * + * @type {BookInfo} + * @memberof GetBookRemoteSearchResultsRequest + */ + searchInfo?: BookInfo | null; + /** + * + * @type {string} + * @memberof GetBookRemoteSearchResultsRequest + */ + itemId?: string; + /** + * Gets or sets the provider name to search within if set. + * @type {string} + * @memberof GetBookRemoteSearchResultsRequest + */ + searchProviderName?: string | null; + /** + * Gets or sets a value indicating whether disabled providers should be included. + * @type {boolean} + * @memberof GetBookRemoteSearchResultsRequest + */ + includeDisabledProviders?: boolean; +} + +/** + * Check if a given object implements the GetBookRemoteSearchResultsRequest interface. + */ +export function instanceOfGetBookRemoteSearchResultsRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function GetBookRemoteSearchResultsRequestFromJSON(json: any): GetBookRemoteSearchResultsRequest { + return GetBookRemoteSearchResultsRequestFromJSONTyped(json, false); +} + +export function GetBookRemoteSearchResultsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetBookRemoteSearchResultsRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'searchInfo': !exists(json, 'SearchInfo') ? undefined : BookInfoFromJSON(json['SearchInfo']), + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'searchProviderName': !exists(json, 'SearchProviderName') ? undefined : json['SearchProviderName'], + 'includeDisabledProviders': !exists(json, 'IncludeDisabledProviders') ? undefined : json['IncludeDisabledProviders'], + }; +} + +export function GetBookRemoteSearchResultsRequestToJSON(value?: GetBookRemoteSearchResultsRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'SearchInfo': BookInfoToJSON(value.searchInfo), + 'ItemId': value.itemId, + 'SearchProviderName': value.searchProviderName, + 'IncludeDisabledProviders': value.includeDisabledProviders, + }; +} + diff --git a/server/jellyfin/models/GetBoxSetRemoteSearchResultsRequest.ts b/server/jellyfin/models/GetBoxSetRemoteSearchResultsRequest.ts new file mode 100644 index 0000000..6cf7643 --- /dev/null +++ b/server/jellyfin/models/GetBoxSetRemoteSearchResultsRequest.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { BoxSetInfo } from './BoxSetInfo'; +import { + BoxSetInfoFromJSON, + BoxSetInfoFromJSONTyped, + BoxSetInfoToJSON, +} from './BoxSetInfo'; + +/** + * + * @export + * @interface GetBoxSetRemoteSearchResultsRequest + */ +export interface GetBoxSetRemoteSearchResultsRequest { + /** + * + * @type {BoxSetInfo} + * @memberof GetBoxSetRemoteSearchResultsRequest + */ + searchInfo?: BoxSetInfo | null; + /** + * + * @type {string} + * @memberof GetBoxSetRemoteSearchResultsRequest + */ + itemId?: string; + /** + * Gets or sets the provider name to search within if set. + * @type {string} + * @memberof GetBoxSetRemoteSearchResultsRequest + */ + searchProviderName?: string | null; + /** + * Gets or sets a value indicating whether disabled providers should be included. + * @type {boolean} + * @memberof GetBoxSetRemoteSearchResultsRequest + */ + includeDisabledProviders?: boolean; +} + +/** + * Check if a given object implements the GetBoxSetRemoteSearchResultsRequest interface. + */ +export function instanceOfGetBoxSetRemoteSearchResultsRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function GetBoxSetRemoteSearchResultsRequestFromJSON(json: any): GetBoxSetRemoteSearchResultsRequest { + return GetBoxSetRemoteSearchResultsRequestFromJSONTyped(json, false); +} + +export function GetBoxSetRemoteSearchResultsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetBoxSetRemoteSearchResultsRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'searchInfo': !exists(json, 'SearchInfo') ? undefined : BoxSetInfoFromJSON(json['SearchInfo']), + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'searchProviderName': !exists(json, 'SearchProviderName') ? undefined : json['SearchProviderName'], + 'includeDisabledProviders': !exists(json, 'IncludeDisabledProviders') ? undefined : json['IncludeDisabledProviders'], + }; +} + +export function GetBoxSetRemoteSearchResultsRequestToJSON(value?: GetBoxSetRemoteSearchResultsRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'SearchInfo': BoxSetInfoToJSON(value.searchInfo), + 'ItemId': value.itemId, + 'SearchProviderName': value.searchProviderName, + 'IncludeDisabledProviders': value.includeDisabledProviders, + }; +} + diff --git a/server/jellyfin/models/GetMovieRemoteSearchResultsRequest.ts b/server/jellyfin/models/GetMovieRemoteSearchResultsRequest.ts new file mode 100644 index 0000000..dc84a98 --- /dev/null +++ b/server/jellyfin/models/GetMovieRemoteSearchResultsRequest.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { MovieInfo } from './MovieInfo'; +import { + MovieInfoFromJSON, + MovieInfoFromJSONTyped, + MovieInfoToJSON, +} from './MovieInfo'; + +/** + * + * @export + * @interface GetMovieRemoteSearchResultsRequest + */ +export interface GetMovieRemoteSearchResultsRequest { + /** + * + * @type {MovieInfo} + * @memberof GetMovieRemoteSearchResultsRequest + */ + searchInfo?: MovieInfo | null; + /** + * + * @type {string} + * @memberof GetMovieRemoteSearchResultsRequest + */ + itemId?: string; + /** + * Gets or sets the provider name to search within if set. + * @type {string} + * @memberof GetMovieRemoteSearchResultsRequest + */ + searchProviderName?: string | null; + /** + * Gets or sets a value indicating whether disabled providers should be included. + * @type {boolean} + * @memberof GetMovieRemoteSearchResultsRequest + */ + includeDisabledProviders?: boolean; +} + +/** + * Check if a given object implements the GetMovieRemoteSearchResultsRequest interface. + */ +export function instanceOfGetMovieRemoteSearchResultsRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function GetMovieRemoteSearchResultsRequestFromJSON(json: any): GetMovieRemoteSearchResultsRequest { + return GetMovieRemoteSearchResultsRequestFromJSONTyped(json, false); +} + +export function GetMovieRemoteSearchResultsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetMovieRemoteSearchResultsRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'searchInfo': !exists(json, 'SearchInfo') ? undefined : MovieInfoFromJSON(json['SearchInfo']), + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'searchProviderName': !exists(json, 'SearchProviderName') ? undefined : json['SearchProviderName'], + 'includeDisabledProviders': !exists(json, 'IncludeDisabledProviders') ? undefined : json['IncludeDisabledProviders'], + }; +} + +export function GetMovieRemoteSearchResultsRequestToJSON(value?: GetMovieRemoteSearchResultsRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'SearchInfo': MovieInfoToJSON(value.searchInfo), + 'ItemId': value.itemId, + 'SearchProviderName': value.searchProviderName, + 'IncludeDisabledProviders': value.includeDisabledProviders, + }; +} + diff --git a/server/jellyfin/models/GetMusicAlbumRemoteSearchResultsRequest.ts b/server/jellyfin/models/GetMusicAlbumRemoteSearchResultsRequest.ts new file mode 100644 index 0000000..25a3639 --- /dev/null +++ b/server/jellyfin/models/GetMusicAlbumRemoteSearchResultsRequest.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { AlbumInfo } from './AlbumInfo'; +import { + AlbumInfoFromJSON, + AlbumInfoFromJSONTyped, + AlbumInfoToJSON, +} from './AlbumInfo'; + +/** + * + * @export + * @interface GetMusicAlbumRemoteSearchResultsRequest + */ +export interface GetMusicAlbumRemoteSearchResultsRequest { + /** + * + * @type {AlbumInfo} + * @memberof GetMusicAlbumRemoteSearchResultsRequest + */ + searchInfo?: AlbumInfo | null; + /** + * + * @type {string} + * @memberof GetMusicAlbumRemoteSearchResultsRequest + */ + itemId?: string; + /** + * Gets or sets the provider name to search within if set. + * @type {string} + * @memberof GetMusicAlbumRemoteSearchResultsRequest + */ + searchProviderName?: string | null; + /** + * Gets or sets a value indicating whether disabled providers should be included. + * @type {boolean} + * @memberof GetMusicAlbumRemoteSearchResultsRequest + */ + includeDisabledProviders?: boolean; +} + +/** + * Check if a given object implements the GetMusicAlbumRemoteSearchResultsRequest interface. + */ +export function instanceOfGetMusicAlbumRemoteSearchResultsRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function GetMusicAlbumRemoteSearchResultsRequestFromJSON(json: any): GetMusicAlbumRemoteSearchResultsRequest { + return GetMusicAlbumRemoteSearchResultsRequestFromJSONTyped(json, false); +} + +export function GetMusicAlbumRemoteSearchResultsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetMusicAlbumRemoteSearchResultsRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'searchInfo': !exists(json, 'SearchInfo') ? undefined : AlbumInfoFromJSON(json['SearchInfo']), + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'searchProviderName': !exists(json, 'SearchProviderName') ? undefined : json['SearchProviderName'], + 'includeDisabledProviders': !exists(json, 'IncludeDisabledProviders') ? undefined : json['IncludeDisabledProviders'], + }; +} + +export function GetMusicAlbumRemoteSearchResultsRequestToJSON(value?: GetMusicAlbumRemoteSearchResultsRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'SearchInfo': AlbumInfoToJSON(value.searchInfo), + 'ItemId': value.itemId, + 'SearchProviderName': value.searchProviderName, + 'IncludeDisabledProviders': value.includeDisabledProviders, + }; +} + diff --git a/server/jellyfin/models/GetMusicArtistRemoteSearchResultsRequest.ts b/server/jellyfin/models/GetMusicArtistRemoteSearchResultsRequest.ts new file mode 100644 index 0000000..4ea10c1 --- /dev/null +++ b/server/jellyfin/models/GetMusicArtistRemoteSearchResultsRequest.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ArtistInfo } from './ArtistInfo'; +import { + ArtistInfoFromJSON, + ArtistInfoFromJSONTyped, + ArtistInfoToJSON, +} from './ArtistInfo'; + +/** + * + * @export + * @interface GetMusicArtistRemoteSearchResultsRequest + */ +export interface GetMusicArtistRemoteSearchResultsRequest { + /** + * + * @type {ArtistInfo} + * @memberof GetMusicArtistRemoteSearchResultsRequest + */ + searchInfo?: ArtistInfo | null; + /** + * + * @type {string} + * @memberof GetMusicArtistRemoteSearchResultsRequest + */ + itemId?: string; + /** + * Gets or sets the provider name to search within if set. + * @type {string} + * @memberof GetMusicArtistRemoteSearchResultsRequest + */ + searchProviderName?: string | null; + /** + * Gets or sets a value indicating whether disabled providers should be included. + * @type {boolean} + * @memberof GetMusicArtistRemoteSearchResultsRequest + */ + includeDisabledProviders?: boolean; +} + +/** + * Check if a given object implements the GetMusicArtistRemoteSearchResultsRequest interface. + */ +export function instanceOfGetMusicArtistRemoteSearchResultsRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function GetMusicArtistRemoteSearchResultsRequestFromJSON(json: any): GetMusicArtistRemoteSearchResultsRequest { + return GetMusicArtistRemoteSearchResultsRequestFromJSONTyped(json, false); +} + +export function GetMusicArtistRemoteSearchResultsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetMusicArtistRemoteSearchResultsRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'searchInfo': !exists(json, 'SearchInfo') ? undefined : ArtistInfoFromJSON(json['SearchInfo']), + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'searchProviderName': !exists(json, 'SearchProviderName') ? undefined : json['SearchProviderName'], + 'includeDisabledProviders': !exists(json, 'IncludeDisabledProviders') ? undefined : json['IncludeDisabledProviders'], + }; +} + +export function GetMusicArtistRemoteSearchResultsRequestToJSON(value?: GetMusicArtistRemoteSearchResultsRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'SearchInfo': ArtistInfoToJSON(value.searchInfo), + 'ItemId': value.itemId, + 'SearchProviderName': value.searchProviderName, + 'IncludeDisabledProviders': value.includeDisabledProviders, + }; +} + diff --git a/server/jellyfin/models/GetMusicVideoRemoteSearchResultsRequest.ts b/server/jellyfin/models/GetMusicVideoRemoteSearchResultsRequest.ts new file mode 100644 index 0000000..771bb90 --- /dev/null +++ b/server/jellyfin/models/GetMusicVideoRemoteSearchResultsRequest.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { MusicVideoInfo } from './MusicVideoInfo'; +import { + MusicVideoInfoFromJSON, + MusicVideoInfoFromJSONTyped, + MusicVideoInfoToJSON, +} from './MusicVideoInfo'; + +/** + * + * @export + * @interface GetMusicVideoRemoteSearchResultsRequest + */ +export interface GetMusicVideoRemoteSearchResultsRequest { + /** + * + * @type {MusicVideoInfo} + * @memberof GetMusicVideoRemoteSearchResultsRequest + */ + searchInfo?: MusicVideoInfo | null; + /** + * + * @type {string} + * @memberof GetMusicVideoRemoteSearchResultsRequest + */ + itemId?: string; + /** + * Gets or sets the provider name to search within if set. + * @type {string} + * @memberof GetMusicVideoRemoteSearchResultsRequest + */ + searchProviderName?: string | null; + /** + * Gets or sets a value indicating whether disabled providers should be included. + * @type {boolean} + * @memberof GetMusicVideoRemoteSearchResultsRequest + */ + includeDisabledProviders?: boolean; +} + +/** + * Check if a given object implements the GetMusicVideoRemoteSearchResultsRequest interface. + */ +export function instanceOfGetMusicVideoRemoteSearchResultsRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function GetMusicVideoRemoteSearchResultsRequestFromJSON(json: any): GetMusicVideoRemoteSearchResultsRequest { + return GetMusicVideoRemoteSearchResultsRequestFromJSONTyped(json, false); +} + +export function GetMusicVideoRemoteSearchResultsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetMusicVideoRemoteSearchResultsRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'searchInfo': !exists(json, 'SearchInfo') ? undefined : MusicVideoInfoFromJSON(json['SearchInfo']), + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'searchProviderName': !exists(json, 'SearchProviderName') ? undefined : json['SearchProviderName'], + 'includeDisabledProviders': !exists(json, 'IncludeDisabledProviders') ? undefined : json['IncludeDisabledProviders'], + }; +} + +export function GetMusicVideoRemoteSearchResultsRequestToJSON(value?: GetMusicVideoRemoteSearchResultsRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'SearchInfo': MusicVideoInfoToJSON(value.searchInfo), + 'ItemId': value.itemId, + 'SearchProviderName': value.searchProviderName, + 'IncludeDisabledProviders': value.includeDisabledProviders, + }; +} + diff --git a/server/jellyfin/models/GetPersonRemoteSearchResultsRequest.ts b/server/jellyfin/models/GetPersonRemoteSearchResultsRequest.ts new file mode 100644 index 0000000..c60825b --- /dev/null +++ b/server/jellyfin/models/GetPersonRemoteSearchResultsRequest.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { PersonLookupInfo } from './PersonLookupInfo'; +import { + PersonLookupInfoFromJSON, + PersonLookupInfoFromJSONTyped, + PersonLookupInfoToJSON, +} from './PersonLookupInfo'; + +/** + * + * @export + * @interface GetPersonRemoteSearchResultsRequest + */ +export interface GetPersonRemoteSearchResultsRequest { + /** + * + * @type {PersonLookupInfo} + * @memberof GetPersonRemoteSearchResultsRequest + */ + searchInfo?: PersonLookupInfo | null; + /** + * + * @type {string} + * @memberof GetPersonRemoteSearchResultsRequest + */ + itemId?: string; + /** + * Gets or sets the provider name to search within if set. + * @type {string} + * @memberof GetPersonRemoteSearchResultsRequest + */ + searchProviderName?: string | null; + /** + * Gets or sets a value indicating whether disabled providers should be included. + * @type {boolean} + * @memberof GetPersonRemoteSearchResultsRequest + */ + includeDisabledProviders?: boolean; +} + +/** + * Check if a given object implements the GetPersonRemoteSearchResultsRequest interface. + */ +export function instanceOfGetPersonRemoteSearchResultsRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function GetPersonRemoteSearchResultsRequestFromJSON(json: any): GetPersonRemoteSearchResultsRequest { + return GetPersonRemoteSearchResultsRequestFromJSONTyped(json, false); +} + +export function GetPersonRemoteSearchResultsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetPersonRemoteSearchResultsRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'searchInfo': !exists(json, 'SearchInfo') ? undefined : PersonLookupInfoFromJSON(json['SearchInfo']), + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'searchProviderName': !exists(json, 'SearchProviderName') ? undefined : json['SearchProviderName'], + 'includeDisabledProviders': !exists(json, 'IncludeDisabledProviders') ? undefined : json['IncludeDisabledProviders'], + }; +} + +export function GetPersonRemoteSearchResultsRequestToJSON(value?: GetPersonRemoteSearchResultsRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'SearchInfo': PersonLookupInfoToJSON(value.searchInfo), + 'ItemId': value.itemId, + 'SearchProviderName': value.searchProviderName, + 'IncludeDisabledProviders': value.includeDisabledProviders, + }; +} + diff --git a/server/jellyfin/models/GetPostedPlaybackInfoRequest.ts b/server/jellyfin/models/GetPostedPlaybackInfoRequest.ts new file mode 100644 index 0000000..d4c5d60 --- /dev/null +++ b/server/jellyfin/models/GetPostedPlaybackInfoRequest.ts @@ -0,0 +1,184 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ClientCapabilitiesDtoDeviceProfile } from './ClientCapabilitiesDtoDeviceProfile'; +import { + ClientCapabilitiesDtoDeviceProfileFromJSON, + ClientCapabilitiesDtoDeviceProfileFromJSONTyped, + ClientCapabilitiesDtoDeviceProfileToJSON, +} from './ClientCapabilitiesDtoDeviceProfile'; + +/** + * Plabyback info dto. + * @export + * @interface GetPostedPlaybackInfoRequest + */ +export interface GetPostedPlaybackInfoRequest { + /** + * Gets or sets the playback userId. + * @type {string} + * @memberof GetPostedPlaybackInfoRequest + */ + userId?: string | null; + /** + * Gets or sets the max streaming bitrate. + * @type {number} + * @memberof GetPostedPlaybackInfoRequest + */ + maxStreamingBitrate?: number | null; + /** + * Gets or sets the start time in ticks. + * @type {number} + * @memberof GetPostedPlaybackInfoRequest + */ + startTimeTicks?: number | null; + /** + * Gets or sets the audio stream index. + * @type {number} + * @memberof GetPostedPlaybackInfoRequest + */ + audioStreamIndex?: number | null; + /** + * Gets or sets the subtitle stream index. + * @type {number} + * @memberof GetPostedPlaybackInfoRequest + */ + subtitleStreamIndex?: number | null; + /** + * Gets or sets the max audio channels. + * @type {number} + * @memberof GetPostedPlaybackInfoRequest + */ + maxAudioChannels?: number | null; + /** + * Gets or sets the media source id. + * @type {string} + * @memberof GetPostedPlaybackInfoRequest + */ + mediaSourceId?: string | null; + /** + * Gets or sets the live stream id. + * @type {string} + * @memberof GetPostedPlaybackInfoRequest + */ + liveStreamId?: string | null; + /** + * + * @type {ClientCapabilitiesDtoDeviceProfile} + * @memberof GetPostedPlaybackInfoRequest + */ + deviceProfile?: ClientCapabilitiesDtoDeviceProfile | null; + /** + * Gets or sets a value indicating whether to enable direct play. + * @type {boolean} + * @memberof GetPostedPlaybackInfoRequest + */ + enableDirectPlay?: boolean | null; + /** + * Gets or sets a value indicating whether to enable direct stream. + * @type {boolean} + * @memberof GetPostedPlaybackInfoRequest + */ + enableDirectStream?: boolean | null; + /** + * Gets or sets a value indicating whether to enable transcoding. + * @type {boolean} + * @memberof GetPostedPlaybackInfoRequest + */ + enableTranscoding?: boolean | null; + /** + * Gets or sets a value indicating whether to enable video stream copy. + * @type {boolean} + * @memberof GetPostedPlaybackInfoRequest + */ + allowVideoStreamCopy?: boolean | null; + /** + * Gets or sets a value indicating whether to allow audio stream copy. + * @type {boolean} + * @memberof GetPostedPlaybackInfoRequest + */ + allowAudioStreamCopy?: boolean | null; + /** + * Gets or sets a value indicating whether to auto open the live stream. + * @type {boolean} + * @memberof GetPostedPlaybackInfoRequest + */ + autoOpenLiveStream?: boolean | null; +} + +/** + * Check if a given object implements the GetPostedPlaybackInfoRequest interface. + */ +export function instanceOfGetPostedPlaybackInfoRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function GetPostedPlaybackInfoRequestFromJSON(json: any): GetPostedPlaybackInfoRequest { + return GetPostedPlaybackInfoRequestFromJSONTyped(json, false); +} + +export function GetPostedPlaybackInfoRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetPostedPlaybackInfoRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'userId': !exists(json, 'UserId') ? undefined : json['UserId'], + 'maxStreamingBitrate': !exists(json, 'MaxStreamingBitrate') ? undefined : json['MaxStreamingBitrate'], + 'startTimeTicks': !exists(json, 'StartTimeTicks') ? undefined : json['StartTimeTicks'], + 'audioStreamIndex': !exists(json, 'AudioStreamIndex') ? undefined : json['AudioStreamIndex'], + 'subtitleStreamIndex': !exists(json, 'SubtitleStreamIndex') ? undefined : json['SubtitleStreamIndex'], + 'maxAudioChannels': !exists(json, 'MaxAudioChannels') ? undefined : json['MaxAudioChannels'], + 'mediaSourceId': !exists(json, 'MediaSourceId') ? undefined : json['MediaSourceId'], + 'liveStreamId': !exists(json, 'LiveStreamId') ? undefined : json['LiveStreamId'], + 'deviceProfile': !exists(json, 'DeviceProfile') ? undefined : ClientCapabilitiesDtoDeviceProfileFromJSON(json['DeviceProfile']), + 'enableDirectPlay': !exists(json, 'EnableDirectPlay') ? undefined : json['EnableDirectPlay'], + 'enableDirectStream': !exists(json, 'EnableDirectStream') ? undefined : json['EnableDirectStream'], + 'enableTranscoding': !exists(json, 'EnableTranscoding') ? undefined : json['EnableTranscoding'], + 'allowVideoStreamCopy': !exists(json, 'AllowVideoStreamCopy') ? undefined : json['AllowVideoStreamCopy'], + 'allowAudioStreamCopy': !exists(json, 'AllowAudioStreamCopy') ? undefined : json['AllowAudioStreamCopy'], + 'autoOpenLiveStream': !exists(json, 'AutoOpenLiveStream') ? undefined : json['AutoOpenLiveStream'], + }; +} + +export function GetPostedPlaybackInfoRequestToJSON(value?: GetPostedPlaybackInfoRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'UserId': value.userId, + 'MaxStreamingBitrate': value.maxStreamingBitrate, + 'StartTimeTicks': value.startTimeTicks, + 'AudioStreamIndex': value.audioStreamIndex, + 'SubtitleStreamIndex': value.subtitleStreamIndex, + 'MaxAudioChannels': value.maxAudioChannels, + 'MediaSourceId': value.mediaSourceId, + 'LiveStreamId': value.liveStreamId, + 'DeviceProfile': ClientCapabilitiesDtoDeviceProfileToJSON(value.deviceProfile), + 'EnableDirectPlay': value.enableDirectPlay, + 'EnableDirectStream': value.enableDirectStream, + 'EnableTranscoding': value.enableTranscoding, + 'AllowVideoStreamCopy': value.allowVideoStreamCopy, + 'AllowAudioStreamCopy': value.allowAudioStreamCopy, + 'AutoOpenLiveStream': value.autoOpenLiveStream, + }; +} + diff --git a/server/jellyfin/models/GetProgramsDto.ts b/server/jellyfin/models/GetProgramsDto.ts new file mode 100644 index 0000000..9613113 --- /dev/null +++ b/server/jellyfin/models/GetProgramsDto.ts @@ -0,0 +1,313 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ImageType } from './ImageType'; +import { + ImageTypeFromJSON, + ImageTypeFromJSONTyped, + ImageTypeToJSON, +} from './ImageType'; +import type { ItemFields } from './ItemFields'; +import { + ItemFieldsFromJSON, + ItemFieldsFromJSONTyped, + ItemFieldsToJSON, +} from './ItemFields'; +import type { SortOrder } from './SortOrder'; +import { + SortOrderFromJSON, + SortOrderFromJSONTyped, + SortOrderToJSON, +} from './SortOrder'; + +/** + * Get programs dto. + * @export + * @interface GetProgramsDto + */ +export interface GetProgramsDto { + /** + * Gets or sets the channels to return guide information for. + * @type {Array} + * @memberof GetProgramsDto + */ + channelIds?: Array; + /** + * Gets or sets optional. Filter by user id. + * @type {string} + * @memberof GetProgramsDto + */ + userId?: string; + /** + * Gets or sets the minimum premiere start date. + * Optional. + * @type {Date} + * @memberof GetProgramsDto + */ + minStartDate?: Date | null; + /** + * Gets or sets filter by programs that have completed airing, or not. + * Optional. + * @type {boolean} + * @memberof GetProgramsDto + */ + hasAired?: boolean | null; + /** + * Gets or sets filter by programs that are currently airing, or not. + * Optional. + * @type {boolean} + * @memberof GetProgramsDto + */ + isAiring?: boolean | null; + /** + * Gets or sets the maximum premiere start date. + * Optional. + * @type {Date} + * @memberof GetProgramsDto + */ + maxStartDate?: Date | null; + /** + * Gets or sets the minimum premiere end date. + * Optional. + * @type {Date} + * @memberof GetProgramsDto + */ + minEndDate?: Date | null; + /** + * Gets or sets the maximum premiere end date. + * Optional. + * @type {Date} + * @memberof GetProgramsDto + */ + maxEndDate?: Date | null; + /** + * Gets or sets filter for movies. + * Optional. + * @type {boolean} + * @memberof GetProgramsDto + */ + isMovie?: boolean | null; + /** + * Gets or sets filter for series. + * Optional. + * @type {boolean} + * @memberof GetProgramsDto + */ + isSeries?: boolean | null; + /** + * Gets or sets filter for news. + * Optional. + * @type {boolean} + * @memberof GetProgramsDto + */ + isNews?: boolean | null; + /** + * Gets or sets filter for kids. + * Optional. + * @type {boolean} + * @memberof GetProgramsDto + */ + isKids?: boolean | null; + /** + * Gets or sets filter for sports. + * Optional. + * @type {boolean} + * @memberof GetProgramsDto + */ + isSports?: boolean | null; + /** + * Gets or sets the record index to start at. All items with a lower index will be dropped from the results. + * Optional. + * @type {number} + * @memberof GetProgramsDto + */ + startIndex?: number | null; + /** + * Gets or sets the maximum number of records to return. + * Optional. + * @type {number} + * @memberof GetProgramsDto + */ + limit?: number | null; + /** + * Gets or sets specify one or more sort orders, comma delimited. Options: Name, StartDate. + * Optional. + * @type {Array} + * @memberof GetProgramsDto + */ + sortBy?: Array; + /** + * Gets or sets sort Order - Ascending,Descending. + * @type {Array} + * @memberof GetProgramsDto + */ + sortOrder?: Array; + /** + * Gets or sets the genres to return guide information for. + * @type {Array} + * @memberof GetProgramsDto + */ + genres?: Array; + /** + * Gets or sets the genre ids to return guide information for. + * @type {Array} + * @memberof GetProgramsDto + */ + genreIds?: Array; + /** + * Gets or sets include image information in output. + * Optional. + * @type {boolean} + * @memberof GetProgramsDto + */ + enableImages?: boolean | null; + /** + * Gets or sets a value indicating whether retrieve total record count. + * @type {boolean} + * @memberof GetProgramsDto + */ + enableTotalRecordCount?: boolean; + /** + * Gets or sets the max number of images to return, per image type. + * Optional. + * @type {number} + * @memberof GetProgramsDto + */ + imageTypeLimit?: number | null; + /** + * Gets or sets the image types to include in the output. + * Optional. + * @type {Array} + * @memberof GetProgramsDto + */ + enableImageTypes?: Array; + /** + * Gets or sets include user data. + * Optional. + * @type {boolean} + * @memberof GetProgramsDto + */ + enableUserData?: boolean | null; + /** + * Gets or sets filter by series timer id. + * Optional. + * @type {string} + * @memberof GetProgramsDto + */ + seriesTimerId?: string | null; + /** + * Gets or sets filter by library series id. + * Optional. + * @type {string} + * @memberof GetProgramsDto + */ + librarySeriesId?: string; + /** + * Gets or sets specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines. + * Optional. + * @type {Array} + * @memberof GetProgramsDto + */ + fields?: Array; +} + +/** + * Check if a given object implements the GetProgramsDto interface. + */ +export function instanceOfGetProgramsDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function GetProgramsDtoFromJSON(json: any): GetProgramsDto { + return GetProgramsDtoFromJSONTyped(json, false); +} + +export function GetProgramsDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetProgramsDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'channelIds': !exists(json, 'ChannelIds') ? undefined : json['ChannelIds'], + 'userId': !exists(json, 'UserId') ? undefined : json['UserId'], + 'minStartDate': !exists(json, 'MinStartDate') ? undefined : (json['MinStartDate'] === null ? null : new Date(json['MinStartDate'])), + 'hasAired': !exists(json, 'HasAired') ? undefined : json['HasAired'], + 'isAiring': !exists(json, 'IsAiring') ? undefined : json['IsAiring'], + 'maxStartDate': !exists(json, 'MaxStartDate') ? undefined : (json['MaxStartDate'] === null ? null : new Date(json['MaxStartDate'])), + 'minEndDate': !exists(json, 'MinEndDate') ? undefined : (json['MinEndDate'] === null ? null : new Date(json['MinEndDate'])), + 'maxEndDate': !exists(json, 'MaxEndDate') ? undefined : (json['MaxEndDate'] === null ? null : new Date(json['MaxEndDate'])), + 'isMovie': !exists(json, 'IsMovie') ? undefined : json['IsMovie'], + 'isSeries': !exists(json, 'IsSeries') ? undefined : json['IsSeries'], + 'isNews': !exists(json, 'IsNews') ? undefined : json['IsNews'], + 'isKids': !exists(json, 'IsKids') ? undefined : json['IsKids'], + 'isSports': !exists(json, 'IsSports') ? undefined : json['IsSports'], + 'startIndex': !exists(json, 'StartIndex') ? undefined : json['StartIndex'], + 'limit': !exists(json, 'Limit') ? undefined : json['Limit'], + 'sortBy': !exists(json, 'SortBy') ? undefined : json['SortBy'], + 'sortOrder': !exists(json, 'SortOrder') ? undefined : ((json['SortOrder'] as Array).map(SortOrderFromJSON)), + 'genres': !exists(json, 'Genres') ? undefined : json['Genres'], + 'genreIds': !exists(json, 'GenreIds') ? undefined : json['GenreIds'], + 'enableImages': !exists(json, 'EnableImages') ? undefined : json['EnableImages'], + 'enableTotalRecordCount': !exists(json, 'EnableTotalRecordCount') ? undefined : json['EnableTotalRecordCount'], + 'imageTypeLimit': !exists(json, 'ImageTypeLimit') ? undefined : json['ImageTypeLimit'], + 'enableImageTypes': !exists(json, 'EnableImageTypes') ? undefined : ((json['EnableImageTypes'] as Array).map(ImageTypeFromJSON)), + 'enableUserData': !exists(json, 'EnableUserData') ? undefined : json['EnableUserData'], + 'seriesTimerId': !exists(json, 'SeriesTimerId') ? undefined : json['SeriesTimerId'], + 'librarySeriesId': !exists(json, 'LibrarySeriesId') ? undefined : json['LibrarySeriesId'], + 'fields': !exists(json, 'Fields') ? undefined : ((json['Fields'] as Array).map(ItemFieldsFromJSON)), + }; +} + +export function GetProgramsDtoToJSON(value?: GetProgramsDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'ChannelIds': value.channelIds, + 'UserId': value.userId, + 'MinStartDate': value.minStartDate === undefined ? undefined : (value.minStartDate === null ? null : value.minStartDate.toISOString()), + 'HasAired': value.hasAired, + 'IsAiring': value.isAiring, + 'MaxStartDate': value.maxStartDate === undefined ? undefined : (value.maxStartDate === null ? null : value.maxStartDate.toISOString()), + 'MinEndDate': value.minEndDate === undefined ? undefined : (value.minEndDate === null ? null : value.minEndDate.toISOString()), + 'MaxEndDate': value.maxEndDate === undefined ? undefined : (value.maxEndDate === null ? null : value.maxEndDate.toISOString()), + 'IsMovie': value.isMovie, + 'IsSeries': value.isSeries, + 'IsNews': value.isNews, + 'IsKids': value.isKids, + 'IsSports': value.isSports, + 'StartIndex': value.startIndex, + 'Limit': value.limit, + 'SortBy': value.sortBy, + 'SortOrder': value.sortOrder === undefined ? undefined : ((value.sortOrder as Array).map(SortOrderToJSON)), + 'Genres': value.genres, + 'GenreIds': value.genreIds, + 'EnableImages': value.enableImages, + 'EnableTotalRecordCount': value.enableTotalRecordCount, + 'ImageTypeLimit': value.imageTypeLimit, + 'EnableImageTypes': value.enableImageTypes === undefined ? undefined : ((value.enableImageTypes as Array).map(ImageTypeToJSON)), + 'EnableUserData': value.enableUserData, + 'SeriesTimerId': value.seriesTimerId, + 'LibrarySeriesId': value.librarySeriesId, + 'Fields': value.fields === undefined ? undefined : ((value.fields as Array).map(ItemFieldsToJSON)), + }; +} + diff --git a/server/jellyfin/models/GetProgramsRequest.ts b/server/jellyfin/models/GetProgramsRequest.ts new file mode 100644 index 0000000..08e33a3 --- /dev/null +++ b/server/jellyfin/models/GetProgramsRequest.ts @@ -0,0 +1,313 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ImageType } from './ImageType'; +import { + ImageTypeFromJSON, + ImageTypeFromJSONTyped, + ImageTypeToJSON, +} from './ImageType'; +import type { ItemFields } from './ItemFields'; +import { + ItemFieldsFromJSON, + ItemFieldsFromJSONTyped, + ItemFieldsToJSON, +} from './ItemFields'; +import type { SortOrder } from './SortOrder'; +import { + SortOrderFromJSON, + SortOrderFromJSONTyped, + SortOrderToJSON, +} from './SortOrder'; + +/** + * Get programs dto. + * @export + * @interface GetProgramsRequest + */ +export interface GetProgramsRequest { + /** + * Gets or sets the channels to return guide information for. + * @type {Array} + * @memberof GetProgramsRequest + */ + channelIds?: Array; + /** + * Gets or sets optional. Filter by user id. + * @type {string} + * @memberof GetProgramsRequest + */ + userId?: string; + /** + * Gets or sets the minimum premiere start date. + * Optional. + * @type {Date} + * @memberof GetProgramsRequest + */ + minStartDate?: Date | null; + /** + * Gets or sets filter by programs that have completed airing, or not. + * Optional. + * @type {boolean} + * @memberof GetProgramsRequest + */ + hasAired?: boolean | null; + /** + * Gets or sets filter by programs that are currently airing, or not. + * Optional. + * @type {boolean} + * @memberof GetProgramsRequest + */ + isAiring?: boolean | null; + /** + * Gets or sets the maximum premiere start date. + * Optional. + * @type {Date} + * @memberof GetProgramsRequest + */ + maxStartDate?: Date | null; + /** + * Gets or sets the minimum premiere end date. + * Optional. + * @type {Date} + * @memberof GetProgramsRequest + */ + minEndDate?: Date | null; + /** + * Gets or sets the maximum premiere end date. + * Optional. + * @type {Date} + * @memberof GetProgramsRequest + */ + maxEndDate?: Date | null; + /** + * Gets or sets filter for movies. + * Optional. + * @type {boolean} + * @memberof GetProgramsRequest + */ + isMovie?: boolean | null; + /** + * Gets or sets filter for series. + * Optional. + * @type {boolean} + * @memberof GetProgramsRequest + */ + isSeries?: boolean | null; + /** + * Gets or sets filter for news. + * Optional. + * @type {boolean} + * @memberof GetProgramsRequest + */ + isNews?: boolean | null; + /** + * Gets or sets filter for kids. + * Optional. + * @type {boolean} + * @memberof GetProgramsRequest + */ + isKids?: boolean | null; + /** + * Gets or sets filter for sports. + * Optional. + * @type {boolean} + * @memberof GetProgramsRequest + */ + isSports?: boolean | null; + /** + * Gets or sets the record index to start at. All items with a lower index will be dropped from the results. + * Optional. + * @type {number} + * @memberof GetProgramsRequest + */ + startIndex?: number | null; + /** + * Gets or sets the maximum number of records to return. + * Optional. + * @type {number} + * @memberof GetProgramsRequest + */ + limit?: number | null; + /** + * Gets or sets specify one or more sort orders, comma delimited. Options: Name, StartDate. + * Optional. + * @type {Array} + * @memberof GetProgramsRequest + */ + sortBy?: Array; + /** + * Gets or sets sort Order - Ascending,Descending. + * @type {Array} + * @memberof GetProgramsRequest + */ + sortOrder?: Array; + /** + * Gets or sets the genres to return guide information for. + * @type {Array} + * @memberof GetProgramsRequest + */ + genres?: Array; + /** + * Gets or sets the genre ids to return guide information for. + * @type {Array} + * @memberof GetProgramsRequest + */ + genreIds?: Array; + /** + * Gets or sets include image information in output. + * Optional. + * @type {boolean} + * @memberof GetProgramsRequest + */ + enableImages?: boolean | null; + /** + * Gets or sets a value indicating whether retrieve total record count. + * @type {boolean} + * @memberof GetProgramsRequest + */ + enableTotalRecordCount?: boolean; + /** + * Gets or sets the max number of images to return, per image type. + * Optional. + * @type {number} + * @memberof GetProgramsRequest + */ + imageTypeLimit?: number | null; + /** + * Gets or sets the image types to include in the output. + * Optional. + * @type {Array} + * @memberof GetProgramsRequest + */ + enableImageTypes?: Array; + /** + * Gets or sets include user data. + * Optional. + * @type {boolean} + * @memberof GetProgramsRequest + */ + enableUserData?: boolean | null; + /** + * Gets or sets filter by series timer id. + * Optional. + * @type {string} + * @memberof GetProgramsRequest + */ + seriesTimerId?: string | null; + /** + * Gets or sets filter by library series id. + * Optional. + * @type {string} + * @memberof GetProgramsRequest + */ + librarySeriesId?: string; + /** + * Gets or sets specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines. + * Optional. + * @type {Array} + * @memberof GetProgramsRequest + */ + fields?: Array; +} + +/** + * Check if a given object implements the GetProgramsRequest interface. + */ +export function instanceOfGetProgramsRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function GetProgramsRequestFromJSON(json: any): GetProgramsRequest { + return GetProgramsRequestFromJSONTyped(json, false); +} + +export function GetProgramsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetProgramsRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'channelIds': !exists(json, 'ChannelIds') ? undefined : json['ChannelIds'], + 'userId': !exists(json, 'UserId') ? undefined : json['UserId'], + 'minStartDate': !exists(json, 'MinStartDate') ? undefined : (json['MinStartDate'] === null ? null : new Date(json['MinStartDate'])), + 'hasAired': !exists(json, 'HasAired') ? undefined : json['HasAired'], + 'isAiring': !exists(json, 'IsAiring') ? undefined : json['IsAiring'], + 'maxStartDate': !exists(json, 'MaxStartDate') ? undefined : (json['MaxStartDate'] === null ? null : new Date(json['MaxStartDate'])), + 'minEndDate': !exists(json, 'MinEndDate') ? undefined : (json['MinEndDate'] === null ? null : new Date(json['MinEndDate'])), + 'maxEndDate': !exists(json, 'MaxEndDate') ? undefined : (json['MaxEndDate'] === null ? null : new Date(json['MaxEndDate'])), + 'isMovie': !exists(json, 'IsMovie') ? undefined : json['IsMovie'], + 'isSeries': !exists(json, 'IsSeries') ? undefined : json['IsSeries'], + 'isNews': !exists(json, 'IsNews') ? undefined : json['IsNews'], + 'isKids': !exists(json, 'IsKids') ? undefined : json['IsKids'], + 'isSports': !exists(json, 'IsSports') ? undefined : json['IsSports'], + 'startIndex': !exists(json, 'StartIndex') ? undefined : json['StartIndex'], + 'limit': !exists(json, 'Limit') ? undefined : json['Limit'], + 'sortBy': !exists(json, 'SortBy') ? undefined : json['SortBy'], + 'sortOrder': !exists(json, 'SortOrder') ? undefined : ((json['SortOrder'] as Array).map(SortOrderFromJSON)), + 'genres': !exists(json, 'Genres') ? undefined : json['Genres'], + 'genreIds': !exists(json, 'GenreIds') ? undefined : json['GenreIds'], + 'enableImages': !exists(json, 'EnableImages') ? undefined : json['EnableImages'], + 'enableTotalRecordCount': !exists(json, 'EnableTotalRecordCount') ? undefined : json['EnableTotalRecordCount'], + 'imageTypeLimit': !exists(json, 'ImageTypeLimit') ? undefined : json['ImageTypeLimit'], + 'enableImageTypes': !exists(json, 'EnableImageTypes') ? undefined : ((json['EnableImageTypes'] as Array).map(ImageTypeFromJSON)), + 'enableUserData': !exists(json, 'EnableUserData') ? undefined : json['EnableUserData'], + 'seriesTimerId': !exists(json, 'SeriesTimerId') ? undefined : json['SeriesTimerId'], + 'librarySeriesId': !exists(json, 'LibrarySeriesId') ? undefined : json['LibrarySeriesId'], + 'fields': !exists(json, 'Fields') ? undefined : ((json['Fields'] as Array).map(ItemFieldsFromJSON)), + }; +} + +export function GetProgramsRequestToJSON(value?: GetProgramsRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'ChannelIds': value.channelIds, + 'UserId': value.userId, + 'MinStartDate': value.minStartDate === undefined ? undefined : (value.minStartDate === null ? null : value.minStartDate.toISOString()), + 'HasAired': value.hasAired, + 'IsAiring': value.isAiring, + 'MaxStartDate': value.maxStartDate === undefined ? undefined : (value.maxStartDate === null ? null : value.maxStartDate.toISOString()), + 'MinEndDate': value.minEndDate === undefined ? undefined : (value.minEndDate === null ? null : value.minEndDate.toISOString()), + 'MaxEndDate': value.maxEndDate === undefined ? undefined : (value.maxEndDate === null ? null : value.maxEndDate.toISOString()), + 'IsMovie': value.isMovie, + 'IsSeries': value.isSeries, + 'IsNews': value.isNews, + 'IsKids': value.isKids, + 'IsSports': value.isSports, + 'StartIndex': value.startIndex, + 'Limit': value.limit, + 'SortBy': value.sortBy, + 'SortOrder': value.sortOrder === undefined ? undefined : ((value.sortOrder as Array).map(SortOrderToJSON)), + 'Genres': value.genres, + 'GenreIds': value.genreIds, + 'EnableImages': value.enableImages, + 'EnableTotalRecordCount': value.enableTotalRecordCount, + 'ImageTypeLimit': value.imageTypeLimit, + 'EnableImageTypes': value.enableImageTypes === undefined ? undefined : ((value.enableImageTypes as Array).map(ImageTypeToJSON)), + 'EnableUserData': value.enableUserData, + 'SeriesTimerId': value.seriesTimerId, + 'LibrarySeriesId': value.librarySeriesId, + 'Fields': value.fields === undefined ? undefined : ((value.fields as Array).map(ItemFieldsToJSON)), + }; +} + diff --git a/server/jellyfin/models/GetSeriesRemoteSearchResultsRequest.ts b/server/jellyfin/models/GetSeriesRemoteSearchResultsRequest.ts new file mode 100644 index 0000000..b823a7e --- /dev/null +++ b/server/jellyfin/models/GetSeriesRemoteSearchResultsRequest.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { SeriesInfo } from './SeriesInfo'; +import { + SeriesInfoFromJSON, + SeriesInfoFromJSONTyped, + SeriesInfoToJSON, +} from './SeriesInfo'; + +/** + * + * @export + * @interface GetSeriesRemoteSearchResultsRequest + */ +export interface GetSeriesRemoteSearchResultsRequest { + /** + * + * @type {SeriesInfo} + * @memberof GetSeriesRemoteSearchResultsRequest + */ + searchInfo?: SeriesInfo | null; + /** + * + * @type {string} + * @memberof GetSeriesRemoteSearchResultsRequest + */ + itemId?: string; + /** + * Gets or sets the provider name to search within if set. + * @type {string} + * @memberof GetSeriesRemoteSearchResultsRequest + */ + searchProviderName?: string | null; + /** + * Gets or sets a value indicating whether disabled providers should be included. + * @type {boolean} + * @memberof GetSeriesRemoteSearchResultsRequest + */ + includeDisabledProviders?: boolean; +} + +/** + * Check if a given object implements the GetSeriesRemoteSearchResultsRequest interface. + */ +export function instanceOfGetSeriesRemoteSearchResultsRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function GetSeriesRemoteSearchResultsRequestFromJSON(json: any): GetSeriesRemoteSearchResultsRequest { + return GetSeriesRemoteSearchResultsRequestFromJSONTyped(json, false); +} + +export function GetSeriesRemoteSearchResultsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetSeriesRemoteSearchResultsRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'searchInfo': !exists(json, 'SearchInfo') ? undefined : SeriesInfoFromJSON(json['SearchInfo']), + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'searchProviderName': !exists(json, 'SearchProviderName') ? undefined : json['SearchProviderName'], + 'includeDisabledProviders': !exists(json, 'IncludeDisabledProviders') ? undefined : json['IncludeDisabledProviders'], + }; +} + +export function GetSeriesRemoteSearchResultsRequestToJSON(value?: GetSeriesRemoteSearchResultsRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'SearchInfo': SeriesInfoToJSON(value.searchInfo), + 'ItemId': value.itemId, + 'SearchProviderName': value.searchProviderName, + 'IncludeDisabledProviders': value.includeDisabledProviders, + }; +} + diff --git a/server/jellyfin/models/GetTrailerRemoteSearchResultsRequest.ts b/server/jellyfin/models/GetTrailerRemoteSearchResultsRequest.ts new file mode 100644 index 0000000..c3a5942 --- /dev/null +++ b/server/jellyfin/models/GetTrailerRemoteSearchResultsRequest.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { TrailerInfo } from './TrailerInfo'; +import { + TrailerInfoFromJSON, + TrailerInfoFromJSONTyped, + TrailerInfoToJSON, +} from './TrailerInfo'; + +/** + * + * @export + * @interface GetTrailerRemoteSearchResultsRequest + */ +export interface GetTrailerRemoteSearchResultsRequest { + /** + * + * @type {TrailerInfo} + * @memberof GetTrailerRemoteSearchResultsRequest + */ + searchInfo?: TrailerInfo | null; + /** + * + * @type {string} + * @memberof GetTrailerRemoteSearchResultsRequest + */ + itemId?: string; + /** + * Gets or sets the provider name to search within if set. + * @type {string} + * @memberof GetTrailerRemoteSearchResultsRequest + */ + searchProviderName?: string | null; + /** + * Gets or sets a value indicating whether disabled providers should be included. + * @type {boolean} + * @memberof GetTrailerRemoteSearchResultsRequest + */ + includeDisabledProviders?: boolean; +} + +/** + * Check if a given object implements the GetTrailerRemoteSearchResultsRequest interface. + */ +export function instanceOfGetTrailerRemoteSearchResultsRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function GetTrailerRemoteSearchResultsRequestFromJSON(json: any): GetTrailerRemoteSearchResultsRequest { + return GetTrailerRemoteSearchResultsRequestFromJSONTyped(json, false); +} + +export function GetTrailerRemoteSearchResultsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetTrailerRemoteSearchResultsRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'searchInfo': !exists(json, 'SearchInfo') ? undefined : TrailerInfoFromJSON(json['SearchInfo']), + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'searchProviderName': !exists(json, 'SearchProviderName') ? undefined : json['SearchProviderName'], + 'includeDisabledProviders': !exists(json, 'IncludeDisabledProviders') ? undefined : json['IncludeDisabledProviders'], + }; +} + +export function GetTrailerRemoteSearchResultsRequestToJSON(value?: GetTrailerRemoteSearchResultsRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'SearchInfo': TrailerInfoToJSON(value.searchInfo), + 'ItemId': value.itemId, + 'SearchProviderName': value.searchProviderName, + 'IncludeDisabledProviders': value.includeDisabledProviders, + }; +} + diff --git a/server/jellyfin/models/GroupInfoDto.ts b/server/jellyfin/models/GroupInfoDto.ts new file mode 100644 index 0000000..a847635 --- /dev/null +++ b/server/jellyfin/models/GroupInfoDto.ts @@ -0,0 +1,104 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { GroupStateType } from './GroupStateType'; +import { + GroupStateTypeFromJSON, + GroupStateTypeFromJSONTyped, + GroupStateTypeToJSON, +} from './GroupStateType'; + +/** + * Class GroupInfoDto. + * @export + * @interface GroupInfoDto + */ +export interface GroupInfoDto { + /** + * Gets the group identifier. + * @type {string} + * @memberof GroupInfoDto + */ + groupId?: string; + /** + * Gets the group name. + * @type {string} + * @memberof GroupInfoDto + */ + groupName?: string; + /** + * + * @type {GroupStateType} + * @memberof GroupInfoDto + */ + state?: GroupStateType; + /** + * Gets the participants. + * @type {Array} + * @memberof GroupInfoDto + */ + participants?: Array; + /** + * Gets the date when this DTO has been created. + * @type {Date} + * @memberof GroupInfoDto + */ + lastUpdatedAt?: Date; +} + +/** + * Check if a given object implements the GroupInfoDto interface. + */ +export function instanceOfGroupInfoDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function GroupInfoDtoFromJSON(json: any): GroupInfoDto { + return GroupInfoDtoFromJSONTyped(json, false); +} + +export function GroupInfoDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): GroupInfoDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'groupId': !exists(json, 'GroupId') ? undefined : json['GroupId'], + 'groupName': !exists(json, 'GroupName') ? undefined : json['GroupName'], + 'state': !exists(json, 'State') ? undefined : GroupStateTypeFromJSON(json['State']), + 'participants': !exists(json, 'Participants') ? undefined : json['Participants'], + 'lastUpdatedAt': !exists(json, 'LastUpdatedAt') ? undefined : (new Date(json['LastUpdatedAt'])), + }; +} + +export function GroupInfoDtoToJSON(value?: GroupInfoDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'GroupId': value.groupId, + 'GroupName': value.groupName, + 'State': GroupStateTypeToJSON(value.state), + 'Participants': value.participants, + 'LastUpdatedAt': value.lastUpdatedAt === undefined ? undefined : (value.lastUpdatedAt.toISOString()), + }; +} + diff --git a/server/jellyfin/models/GroupQueueMode.ts b/server/jellyfin/models/GroupQueueMode.ts new file mode 100644 index 0000000..35afa22 --- /dev/null +++ b/server/jellyfin/models/GroupQueueMode.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Enum GroupQueueMode. + * @export + */ +export const GroupQueueMode = { + Queue: 'Queue', + QueueNext: 'QueueNext' +} as const; +export type GroupQueueMode = typeof GroupQueueMode[keyof typeof GroupQueueMode]; + + +export function GroupQueueModeFromJSON(json: any): GroupQueueMode { + return GroupQueueModeFromJSONTyped(json, false); +} + +export function GroupQueueModeFromJSONTyped(json: any, ignoreDiscriminator: boolean): GroupQueueMode { + return json as GroupQueueMode; +} + +export function GroupQueueModeToJSON(value?: GroupQueueMode | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/GroupRepeatMode.ts b/server/jellyfin/models/GroupRepeatMode.ts new file mode 100644 index 0000000..eb15c09 --- /dev/null +++ b/server/jellyfin/models/GroupRepeatMode.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Enum GroupRepeatMode. + * @export + */ +export const GroupRepeatMode = { + RepeatOne: 'RepeatOne', + RepeatAll: 'RepeatAll', + RepeatNone: 'RepeatNone' +} as const; +export type GroupRepeatMode = typeof GroupRepeatMode[keyof typeof GroupRepeatMode]; + + +export function GroupRepeatModeFromJSON(json: any): GroupRepeatMode { + return GroupRepeatModeFromJSONTyped(json, false); +} + +export function GroupRepeatModeFromJSONTyped(json: any, ignoreDiscriminator: boolean): GroupRepeatMode { + return json as GroupRepeatMode; +} + +export function GroupRepeatModeToJSON(value?: GroupRepeatMode | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/GroupShuffleMode.ts b/server/jellyfin/models/GroupShuffleMode.ts new file mode 100644 index 0000000..76e76ae --- /dev/null +++ b/server/jellyfin/models/GroupShuffleMode.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Enum GroupShuffleMode. + * @export + */ +export const GroupShuffleMode = { + Sorted: 'Sorted', + Shuffle: 'Shuffle' +} as const; +export type GroupShuffleMode = typeof GroupShuffleMode[keyof typeof GroupShuffleMode]; + + +export function GroupShuffleModeFromJSON(json: any): GroupShuffleMode { + return GroupShuffleModeFromJSONTyped(json, false); +} + +export function GroupShuffleModeFromJSONTyped(json: any, ignoreDiscriminator: boolean): GroupShuffleMode { + return json as GroupShuffleMode; +} + +export function GroupShuffleModeToJSON(value?: GroupShuffleMode | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/GroupStateType.ts b/server/jellyfin/models/GroupStateType.ts new file mode 100644 index 0000000..bb8cdec --- /dev/null +++ b/server/jellyfin/models/GroupStateType.ts @@ -0,0 +1,40 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Enum GroupState. + * @export + */ +export const GroupStateType = { + Idle: 'Idle', + Waiting: 'Waiting', + Paused: 'Paused', + Playing: 'Playing' +} as const; +export type GroupStateType = typeof GroupStateType[keyof typeof GroupStateType]; + + +export function GroupStateTypeFromJSON(json: any): GroupStateType { + return GroupStateTypeFromJSONTyped(json, false); +} + +export function GroupStateTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): GroupStateType { + return json as GroupStateType; +} + +export function GroupStateTypeToJSON(value?: GroupStateType | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/GroupUpdateType.ts b/server/jellyfin/models/GroupUpdateType.ts new file mode 100644 index 0000000..73744ad --- /dev/null +++ b/server/jellyfin/models/GroupUpdateType.ts @@ -0,0 +1,47 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Enum GroupUpdateType. + * @export + */ +export const GroupUpdateType = { + UserJoined: 'UserJoined', + UserLeft: 'UserLeft', + GroupJoined: 'GroupJoined', + GroupLeft: 'GroupLeft', + StateUpdate: 'StateUpdate', + PlayQueue: 'PlayQueue', + NotInGroup: 'NotInGroup', + GroupDoesNotExist: 'GroupDoesNotExist', + CreateGroupDenied: 'CreateGroupDenied', + JoinGroupDenied: 'JoinGroupDenied', + LibraryAccessDenied: 'LibraryAccessDenied' +} as const; +export type GroupUpdateType = typeof GroupUpdateType[keyof typeof GroupUpdateType]; + + +export function GroupUpdateTypeFromJSON(json: any): GroupUpdateType { + return GroupUpdateTypeFromJSONTyped(json, false); +} + +export function GroupUpdateTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): GroupUpdateType { + return json as GroupUpdateType; +} + +export function GroupUpdateTypeToJSON(value?: GroupUpdateType | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/GuideInfo.ts b/server/jellyfin/models/GuideInfo.ts new file mode 100644 index 0000000..1ca58e8 --- /dev/null +++ b/server/jellyfin/models/GuideInfo.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface GuideInfo + */ +export interface GuideInfo { + /** + * Gets or sets the start date. + * @type {Date} + * @memberof GuideInfo + */ + startDate?: Date; + /** + * Gets or sets the end date. + * @type {Date} + * @memberof GuideInfo + */ + endDate?: Date; +} + +/** + * Check if a given object implements the GuideInfo interface. + */ +export function instanceOfGuideInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function GuideInfoFromJSON(json: any): GuideInfo { + return GuideInfoFromJSONTyped(json, false); +} + +export function GuideInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): GuideInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'startDate': !exists(json, 'StartDate') ? undefined : (new Date(json['StartDate'])), + 'endDate': !exists(json, 'EndDate') ? undefined : (new Date(json['EndDate'])), + }; +} + +export function GuideInfoToJSON(value?: GuideInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'StartDate': value.startDate === undefined ? undefined : (value.startDate.toISOString()), + 'EndDate': value.endDate === undefined ? undefined : (value.endDate.toISOString()), + }; +} + diff --git a/server/jellyfin/models/HardwareEncodingType.ts b/server/jellyfin/models/HardwareEncodingType.ts new file mode 100644 index 0000000..f4078a8 --- /dev/null +++ b/server/jellyfin/models/HardwareEncodingType.ts @@ -0,0 +1,42 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Enum HardwareEncodingType. + * @export + */ +export const HardwareEncodingType = { + Amf: 'AMF', + Qsv: 'QSV', + Nvenc: 'NVENC', + V4L2M2M: 'V4L2M2M', + Vaapi: 'VAAPI', + VideoToolBox: 'VideoToolBox' +} as const; +export type HardwareEncodingType = typeof HardwareEncodingType[keyof typeof HardwareEncodingType]; + + +export function HardwareEncodingTypeFromJSON(json: any): HardwareEncodingType { + return HardwareEncodingTypeFromJSONTyped(json, false); +} + +export function HardwareEncodingTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): HardwareEncodingType { + return json as HardwareEncodingType; +} + +export function HardwareEncodingTypeToJSON(value?: HardwareEncodingType | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/HeaderMatchType.ts b/server/jellyfin/models/HeaderMatchType.ts new file mode 100644 index 0000000..77dbe81 --- /dev/null +++ b/server/jellyfin/models/HeaderMatchType.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const HeaderMatchType = { + Equals: 'Equals', + Regex: 'Regex', + Substring: 'Substring' +} as const; +export type HeaderMatchType = typeof HeaderMatchType[keyof typeof HeaderMatchType]; + + +export function HeaderMatchTypeFromJSON(json: any): HeaderMatchType { + return HeaderMatchTypeFromJSONTyped(json, false); +} + +export function HeaderMatchTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): HeaderMatchType { + return json as HeaderMatchType; +} + +export function HeaderMatchTypeToJSON(value?: HeaderMatchType | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/HttpHeaderInfo.ts b/server/jellyfin/models/HttpHeaderInfo.ts new file mode 100644 index 0000000..141e733 --- /dev/null +++ b/server/jellyfin/models/HttpHeaderInfo.ts @@ -0,0 +1,88 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { HeaderMatchType } from './HeaderMatchType'; +import { + HeaderMatchTypeFromJSON, + HeaderMatchTypeFromJSONTyped, + HeaderMatchTypeToJSON, +} from './HeaderMatchType'; + +/** + * + * @export + * @interface HttpHeaderInfo + */ +export interface HttpHeaderInfo { + /** + * + * @type {string} + * @memberof HttpHeaderInfo + */ + name?: string | null; + /** + * + * @type {string} + * @memberof HttpHeaderInfo + */ + value?: string | null; + /** + * + * @type {HeaderMatchType} + * @memberof HttpHeaderInfo + */ + match?: HeaderMatchType; +} + +/** + * Check if a given object implements the HttpHeaderInfo interface. + */ +export function instanceOfHttpHeaderInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function HttpHeaderInfoFromJSON(json: any): HttpHeaderInfo { + return HttpHeaderInfoFromJSONTyped(json, false); +} + +export function HttpHeaderInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): HttpHeaderInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'value': !exists(json, 'Value') ? undefined : json['Value'], + 'match': !exists(json, 'Match') ? undefined : HeaderMatchTypeFromJSON(json['Match']), + }; +} + +export function HttpHeaderInfoToJSON(value?: HttpHeaderInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Value': value.value, + 'Match': HeaderMatchTypeToJSON(value.match), + }; +} + diff --git a/server/jellyfin/models/IPlugin.ts b/server/jellyfin/models/IPlugin.ts new file mode 100644 index 0000000..a6b6c50 --- /dev/null +++ b/server/jellyfin/models/IPlugin.ts @@ -0,0 +1,106 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Defines the MediaBrowser.Common.Plugins.IPlugin. + * @export + * @interface IPlugin + */ +export interface IPlugin { + /** + * Gets the name of the plugin. + * @type {string} + * @memberof IPlugin + */ + readonly name?: string | null; + /** + * Gets the Description. + * @type {string} + * @memberof IPlugin + */ + readonly description?: string | null; + /** + * Gets the unique id. + * @type {string} + * @memberof IPlugin + */ + readonly id?: string; + /** + * Gets the plugin version. + * @type {string} + * @memberof IPlugin + */ + readonly version?: string | null; + /** + * Gets the path to the assembly file. + * @type {string} + * @memberof IPlugin + */ + readonly assemblyFilePath?: string | null; + /** + * Gets a value indicating whether the plugin can be uninstalled. + * @type {boolean} + * @memberof IPlugin + */ + readonly canUninstall?: boolean; + /** + * Gets the full path to the data folder, where the plugin can store any miscellaneous files needed. + * @type {string} + * @memberof IPlugin + */ + readonly dataFolderPath?: string | null; +} + +/** + * Check if a given object implements the IPlugin interface. + */ +export function instanceOfIPlugin(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function IPluginFromJSON(json: any): IPlugin { + return IPluginFromJSONTyped(json, false); +} + +export function IPluginFromJSONTyped(json: any, ignoreDiscriminator: boolean): IPlugin { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'description': !exists(json, 'Description') ? undefined : json['Description'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'version': !exists(json, 'Version') ? undefined : json['Version'], + 'assemblyFilePath': !exists(json, 'AssemblyFilePath') ? undefined : json['AssemblyFilePath'], + 'canUninstall': !exists(json, 'CanUninstall') ? undefined : json['CanUninstall'], + 'dataFolderPath': !exists(json, 'DataFolderPath') ? undefined : json['DataFolderPath'], + }; +} + +export function IPluginToJSON(value?: IPlugin | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + }; +} + diff --git a/server/jellyfin/models/IgnoreWaitRequestDto.ts b/server/jellyfin/models/IgnoreWaitRequestDto.ts new file mode 100644 index 0000000..357690a --- /dev/null +++ b/server/jellyfin/models/IgnoreWaitRequestDto.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class IgnoreWaitRequestDto. + * @export + * @interface IgnoreWaitRequestDto + */ +export interface IgnoreWaitRequestDto { + /** + * Gets or sets a value indicating whether the client should be ignored. + * @type {boolean} + * @memberof IgnoreWaitRequestDto + */ + ignoreWait?: boolean; +} + +/** + * Check if a given object implements the IgnoreWaitRequestDto interface. + */ +export function instanceOfIgnoreWaitRequestDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function IgnoreWaitRequestDtoFromJSON(json: any): IgnoreWaitRequestDto { + return IgnoreWaitRequestDtoFromJSONTyped(json, false); +} + +export function IgnoreWaitRequestDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): IgnoreWaitRequestDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'ignoreWait': !exists(json, 'IgnoreWait') ? undefined : json['IgnoreWait'], + }; +} + +export function IgnoreWaitRequestDtoToJSON(value?: IgnoreWaitRequestDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'IgnoreWait': value.ignoreWait, + }; +} + diff --git a/server/jellyfin/models/ImageByNameInfo.ts b/server/jellyfin/models/ImageByNameInfo.ts new file mode 100644 index 0000000..39f180f --- /dev/null +++ b/server/jellyfin/models/ImageByNameInfo.ts @@ -0,0 +1,97 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface ImageByNameInfo + */ +export interface ImageByNameInfo { + /** + * Gets or sets the name. + * @type {string} + * @memberof ImageByNameInfo + */ + name?: string | null; + /** + * Gets or sets the theme. + * @type {string} + * @memberof ImageByNameInfo + */ + theme?: string | null; + /** + * Gets or sets the context. + * @type {string} + * @memberof ImageByNameInfo + */ + context?: string | null; + /** + * Gets or sets the length of the file. + * @type {number} + * @memberof ImageByNameInfo + */ + fileLength?: number; + /** + * Gets or sets the format. + * @type {string} + * @memberof ImageByNameInfo + */ + format?: string | null; +} + +/** + * Check if a given object implements the ImageByNameInfo interface. + */ +export function instanceOfImageByNameInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ImageByNameInfoFromJSON(json: any): ImageByNameInfo { + return ImageByNameInfoFromJSONTyped(json, false); +} + +export function ImageByNameInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ImageByNameInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'theme': !exists(json, 'Theme') ? undefined : json['Theme'], + 'context': !exists(json, 'Context') ? undefined : json['Context'], + 'fileLength': !exists(json, 'FileLength') ? undefined : json['FileLength'], + 'format': !exists(json, 'Format') ? undefined : json['Format'], + }; +} + +export function ImageByNameInfoToJSON(value?: ImageByNameInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Theme': value.theme, + 'Context': value.context, + 'FileLength': value.fileLength, + 'Format': value.format, + }; +} + diff --git a/server/jellyfin/models/ImageFormat.ts b/server/jellyfin/models/ImageFormat.ts new file mode 100644 index 0000000..9dcaf9b --- /dev/null +++ b/server/jellyfin/models/ImageFormat.ts @@ -0,0 +1,41 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Enum ImageOutputFormat. + * @export + */ +export const ImageFormat = { + Bmp: 'Bmp', + Gif: 'Gif', + Jpg: 'Jpg', + Png: 'Png', + Webp: 'Webp' +} as const; +export type ImageFormat = typeof ImageFormat[keyof typeof ImageFormat]; + + +export function ImageFormatFromJSON(json: any): ImageFormat { + return ImageFormatFromJSONTyped(json, false); +} + +export function ImageFormatFromJSONTyped(json: any, ignoreDiscriminator: boolean): ImageFormat { + return json as ImageFormat; +} + +export function ImageFormatToJSON(value?: ImageFormat | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/ImageInfo.ts b/server/jellyfin/models/ImageInfo.ts new file mode 100644 index 0000000..3f17693 --- /dev/null +++ b/server/jellyfin/models/ImageInfo.ts @@ -0,0 +1,128 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ImageType } from './ImageType'; +import { + ImageTypeFromJSON, + ImageTypeFromJSONTyped, + ImageTypeToJSON, +} from './ImageType'; + +/** + * Class ImageInfo. + * @export + * @interface ImageInfo + */ +export interface ImageInfo { + /** + * + * @type {ImageType} + * @memberof ImageInfo + */ + imageType?: ImageType; + /** + * Gets or sets the index of the image. + * @type {number} + * @memberof ImageInfo + */ + imageIndex?: number | null; + /** + * Gets or sets the image tag. + * @type {string} + * @memberof ImageInfo + */ + imageTag?: string | null; + /** + * Gets or sets the path. + * @type {string} + * @memberof ImageInfo + */ + path?: string | null; + /** + * Gets or sets the blurhash. + * @type {string} + * @memberof ImageInfo + */ + blurHash?: string | null; + /** + * Gets or sets the height. + * @type {number} + * @memberof ImageInfo + */ + height?: number | null; + /** + * Gets or sets the width. + * @type {number} + * @memberof ImageInfo + */ + width?: number | null; + /** + * Gets or sets the size. + * @type {number} + * @memberof ImageInfo + */ + size?: number; +} + +/** + * Check if a given object implements the ImageInfo interface. + */ +export function instanceOfImageInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ImageInfoFromJSON(json: any): ImageInfo { + return ImageInfoFromJSONTyped(json, false); +} + +export function ImageInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ImageInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'imageType': !exists(json, 'ImageType') ? undefined : ImageTypeFromJSON(json['ImageType']), + 'imageIndex': !exists(json, 'ImageIndex') ? undefined : json['ImageIndex'], + 'imageTag': !exists(json, 'ImageTag') ? undefined : json['ImageTag'], + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'blurHash': !exists(json, 'BlurHash') ? undefined : json['BlurHash'], + 'height': !exists(json, 'Height') ? undefined : json['Height'], + 'width': !exists(json, 'Width') ? undefined : json['Width'], + 'size': !exists(json, 'Size') ? undefined : json['Size'], + }; +} + +export function ImageInfoToJSON(value?: ImageInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'ImageType': ImageTypeToJSON(value.imageType), + 'ImageIndex': value.imageIndex, + 'ImageTag': value.imageTag, + 'Path': value.path, + 'BlurHash': value.blurHash, + 'Height': value.height, + 'Width': value.width, + 'Size': value.size, + }; +} + diff --git a/server/jellyfin/models/ImageOption.ts b/server/jellyfin/models/ImageOption.ts new file mode 100644 index 0000000..21bb549 --- /dev/null +++ b/server/jellyfin/models/ImageOption.ts @@ -0,0 +1,88 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ImageType } from './ImageType'; +import { + ImageTypeFromJSON, + ImageTypeFromJSONTyped, + ImageTypeToJSON, +} from './ImageType'; + +/** + * + * @export + * @interface ImageOption + */ +export interface ImageOption { + /** + * + * @type {ImageType} + * @memberof ImageOption + */ + type?: ImageType; + /** + * Gets or sets the limit. + * @type {number} + * @memberof ImageOption + */ + limit?: number; + /** + * Gets or sets the minimum width. + * @type {number} + * @memberof ImageOption + */ + minWidth?: number; +} + +/** + * Check if a given object implements the ImageOption interface. + */ +export function instanceOfImageOption(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ImageOptionFromJSON(json: any): ImageOption { + return ImageOptionFromJSONTyped(json, false); +} + +export function ImageOptionFromJSONTyped(json: any, ignoreDiscriminator: boolean): ImageOption { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'type': !exists(json, 'Type') ? undefined : ImageTypeFromJSON(json['Type']), + 'limit': !exists(json, 'Limit') ? undefined : json['Limit'], + 'minWidth': !exists(json, 'MinWidth') ? undefined : json['MinWidth'], + }; +} + +export function ImageOptionToJSON(value?: ImageOption | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Type': ImageTypeToJSON(value.type), + 'Limit': value.limit, + 'MinWidth': value.minWidth, + }; +} + diff --git a/server/jellyfin/models/ImageOrientation.ts b/server/jellyfin/models/ImageOrientation.ts new file mode 100644 index 0000000..31249e7 --- /dev/null +++ b/server/jellyfin/models/ImageOrientation.ts @@ -0,0 +1,44 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const ImageOrientation = { + TopLeft: 'TopLeft', + TopRight: 'TopRight', + BottomRight: 'BottomRight', + BottomLeft: 'BottomLeft', + LeftTop: 'LeftTop', + RightTop: 'RightTop', + RightBottom: 'RightBottom', + LeftBottom: 'LeftBottom' +} as const; +export type ImageOrientation = typeof ImageOrientation[keyof typeof ImageOrientation]; + + +export function ImageOrientationFromJSON(json: any): ImageOrientation { + return ImageOrientationFromJSONTyped(json, false); +} + +export function ImageOrientationFromJSONTyped(json: any, ignoreDiscriminator: boolean): ImageOrientation { + return json as ImageOrientation; +} + +export function ImageOrientationToJSON(value?: ImageOrientation | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/ImageProviderInfo.ts b/server/jellyfin/models/ImageProviderInfo.ts new file mode 100644 index 0000000..3f6bf13 --- /dev/null +++ b/server/jellyfin/models/ImageProviderInfo.ts @@ -0,0 +1,80 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ImageType } from './ImageType'; +import { + ImageTypeFromJSON, + ImageTypeFromJSONTyped, + ImageTypeToJSON, +} from './ImageType'; + +/** + * Class ImageProviderInfo. + * @export + * @interface ImageProviderInfo + */ +export interface ImageProviderInfo { + /** + * Gets the name. + * @type {string} + * @memberof ImageProviderInfo + */ + name?: string; + /** + * Gets the supported image types. + * @type {Array} + * @memberof ImageProviderInfo + */ + supportedImages?: Array; +} + +/** + * Check if a given object implements the ImageProviderInfo interface. + */ +export function instanceOfImageProviderInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ImageProviderInfoFromJSON(json: any): ImageProviderInfo { + return ImageProviderInfoFromJSONTyped(json, false); +} + +export function ImageProviderInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ImageProviderInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'supportedImages': !exists(json, 'SupportedImages') ? undefined : ((json['SupportedImages'] as Array).map(ImageTypeFromJSON)), + }; +} + +export function ImageProviderInfoToJSON(value?: ImageProviderInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'SupportedImages': value.supportedImages === undefined ? undefined : ((value.supportedImages as Array).map(ImageTypeToJSON)), + }; +} + diff --git a/server/jellyfin/models/ImageSavingConvention.ts b/server/jellyfin/models/ImageSavingConvention.ts new file mode 100644 index 0000000..aaf0c0f --- /dev/null +++ b/server/jellyfin/models/ImageSavingConvention.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const ImageSavingConvention = { + Legacy: 'Legacy', + Compatible: 'Compatible' +} as const; +export type ImageSavingConvention = typeof ImageSavingConvention[keyof typeof ImageSavingConvention]; + + +export function ImageSavingConventionFromJSON(json: any): ImageSavingConvention { + return ImageSavingConventionFromJSONTyped(json, false); +} + +export function ImageSavingConventionFromJSONTyped(json: any, ignoreDiscriminator: boolean): ImageSavingConvention { + return json as ImageSavingConvention; +} + +export function ImageSavingConventionToJSON(value?: ImageSavingConvention | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/ImageType.ts b/server/jellyfin/models/ImageType.ts new file mode 100644 index 0000000..db7b893 --- /dev/null +++ b/server/jellyfin/models/ImageType.ts @@ -0,0 +1,49 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Enum ImageType. + * @export + */ +export const ImageType = { + Primary: 'Primary', + Art: 'Art', + Backdrop: 'Backdrop', + Banner: 'Banner', + Logo: 'Logo', + Thumb: 'Thumb', + Disc: 'Disc', + Box: 'Box', + Screenshot: 'Screenshot', + Menu: 'Menu', + Chapter: 'Chapter', + BoxRear: 'BoxRear', + Profile: 'Profile' +} as const; +export type ImageType = typeof ImageType[keyof typeof ImageType]; + + +export function ImageTypeFromJSON(json: any): ImageType { + return ImageTypeFromJSONTyped(json, false); +} + +export function ImageTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): ImageType { + return json as ImageType; +} + +export function ImageTypeToJSON(value?: ImageType | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/InstallationInfo.ts b/server/jellyfin/models/InstallationInfo.ts new file mode 100644 index 0000000..180bc94 --- /dev/null +++ b/server/jellyfin/models/InstallationInfo.ts @@ -0,0 +1,120 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { InstallationInfoPackageInfo } from './InstallationInfoPackageInfo'; +import { + InstallationInfoPackageInfoFromJSON, + InstallationInfoPackageInfoFromJSONTyped, + InstallationInfoPackageInfoToJSON, +} from './InstallationInfoPackageInfo'; + +/** + * Class InstallationInfo. + * @export + * @interface InstallationInfo + */ +export interface InstallationInfo { + /** + * Gets or sets the Id. + * @type {string} + * @memberof InstallationInfo + */ + guid?: string; + /** + * Gets or sets the name. + * @type {string} + * @memberof InstallationInfo + */ + name?: string | null; + /** + * Gets or sets the version. + * @type {string} + * @memberof InstallationInfo + */ + version?: string | null; + /** + * Gets or sets the changelog for this version. + * @type {string} + * @memberof InstallationInfo + */ + changelog?: string | null; + /** + * Gets or sets the source URL. + * @type {string} + * @memberof InstallationInfo + */ + sourceUrl?: string | null; + /** + * Gets or sets a checksum for the binary. + * @type {string} + * @memberof InstallationInfo + */ + checksum?: string | null; + /** + * + * @type {InstallationInfoPackageInfo} + * @memberof InstallationInfo + */ + packageInfo?: InstallationInfoPackageInfo | null; +} + +/** + * Check if a given object implements the InstallationInfo interface. + */ +export function instanceOfInstallationInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function InstallationInfoFromJSON(json: any): InstallationInfo { + return InstallationInfoFromJSONTyped(json, false); +} + +export function InstallationInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): InstallationInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'guid': !exists(json, 'Guid') ? undefined : json['Guid'], + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'version': !exists(json, 'Version') ? undefined : json['Version'], + 'changelog': !exists(json, 'Changelog') ? undefined : json['Changelog'], + 'sourceUrl': !exists(json, 'SourceUrl') ? undefined : json['SourceUrl'], + 'checksum': !exists(json, 'Checksum') ? undefined : json['Checksum'], + 'packageInfo': !exists(json, 'PackageInfo') ? undefined : InstallationInfoPackageInfoFromJSON(json['PackageInfo']), + }; +} + +export function InstallationInfoToJSON(value?: InstallationInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Guid': value.guid, + 'Name': value.name, + 'Version': value.version, + 'Changelog': value.changelog, + 'SourceUrl': value.sourceUrl, + 'Checksum': value.checksum, + 'PackageInfo': InstallationInfoPackageInfoToJSON(value.packageInfo), + }; +} + diff --git a/server/jellyfin/models/InstallationInfoPackageInfo.ts b/server/jellyfin/models/InstallationInfoPackageInfo.ts new file mode 100644 index 0000000..349803a --- /dev/null +++ b/server/jellyfin/models/InstallationInfoPackageInfo.ts @@ -0,0 +1,129 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { VersionInfo } from './VersionInfo'; +import { + VersionInfoFromJSON, + VersionInfoFromJSONTyped, + VersionInfoToJSON, +} from './VersionInfo'; + +/** + * Gets or sets package information for the installation. + * @export + * @interface InstallationInfoPackageInfo + */ +export interface InstallationInfoPackageInfo { + /** + * Gets or sets the name. + * @type {string} + * @memberof InstallationInfoPackageInfo + */ + name?: string; + /** + * Gets or sets a long description of the plugin containing features or helpful explanations. + * @type {string} + * @memberof InstallationInfoPackageInfo + */ + description?: string; + /** + * Gets or sets a short overview of what the plugin does. + * @type {string} + * @memberof InstallationInfoPackageInfo + */ + overview?: string; + /** + * Gets or sets the owner. + * @type {string} + * @memberof InstallationInfoPackageInfo + */ + owner?: string; + /** + * Gets or sets the category. + * @type {string} + * @memberof InstallationInfoPackageInfo + */ + category?: string; + /** + * Gets or sets the guid of the assembly associated with this plugin. + * This is used to identify the proper item for automatic updates. + * @type {string} + * @memberof InstallationInfoPackageInfo + */ + guid?: string; + /** + * Gets or sets the versions. + * @type {Array} + * @memberof InstallationInfoPackageInfo + */ + versions?: Array; + /** + * Gets or sets the image url for the package. + * @type {string} + * @memberof InstallationInfoPackageInfo + */ + imageUrl?: string | null; +} + +/** + * Check if a given object implements the InstallationInfoPackageInfo interface. + */ +export function instanceOfInstallationInfoPackageInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function InstallationInfoPackageInfoFromJSON(json: any): InstallationInfoPackageInfo { + return InstallationInfoPackageInfoFromJSONTyped(json, false); +} + +export function InstallationInfoPackageInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): InstallationInfoPackageInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'name') ? undefined : json['name'], + 'description': !exists(json, 'description') ? undefined : json['description'], + 'overview': !exists(json, 'overview') ? undefined : json['overview'], + 'owner': !exists(json, 'owner') ? undefined : json['owner'], + 'category': !exists(json, 'category') ? undefined : json['category'], + 'guid': !exists(json, 'guid') ? undefined : json['guid'], + 'versions': !exists(json, 'versions') ? undefined : ((json['versions'] as Array).map(VersionInfoFromJSON)), + 'imageUrl': !exists(json, 'imageUrl') ? undefined : json['imageUrl'], + }; +} + +export function InstallationInfoPackageInfoToJSON(value?: InstallationInfoPackageInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'description': value.description, + 'overview': value.overview, + 'owner': value.owner, + 'category': value.category, + 'guid': value.guid, + 'versions': value.versions === undefined ? undefined : ((value.versions as Array).map(VersionInfoToJSON)), + 'imageUrl': value.imageUrl, + }; +} + diff --git a/server/jellyfin/models/IsoType.ts b/server/jellyfin/models/IsoType.ts new file mode 100644 index 0000000..0ba1a41 --- /dev/null +++ b/server/jellyfin/models/IsoType.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Enum IsoType. + * @export + */ +export const IsoType = { + Dvd: 'Dvd', + BluRay: 'BluRay' +} as const; +export type IsoType = typeof IsoType[keyof typeof IsoType]; + + +export function IsoTypeFromJSON(json: any): IsoType { + return IsoTypeFromJSONTyped(json, false); +} + +export function IsoTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): IsoType { + return json as IsoType; +} + +export function IsoTypeToJSON(value?: IsoType | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/ItemCounts.ts b/server/jellyfin/models/ItemCounts.ts new file mode 100644 index 0000000..57ae402 --- /dev/null +++ b/server/jellyfin/models/ItemCounts.ts @@ -0,0 +1,153 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class LibrarySummary. + * @export + * @interface ItemCounts + */ +export interface ItemCounts { + /** + * Gets or sets the movie count. + * @type {number} + * @memberof ItemCounts + */ + movieCount?: number; + /** + * Gets or sets the series count. + * @type {number} + * @memberof ItemCounts + */ + seriesCount?: number; + /** + * Gets or sets the episode count. + * @type {number} + * @memberof ItemCounts + */ + episodeCount?: number; + /** + * Gets or sets the artist count. + * @type {number} + * @memberof ItemCounts + */ + artistCount?: number; + /** + * Gets or sets the program count. + * @type {number} + * @memberof ItemCounts + */ + programCount?: number; + /** + * Gets or sets the trailer count. + * @type {number} + * @memberof ItemCounts + */ + trailerCount?: number; + /** + * Gets or sets the song count. + * @type {number} + * @memberof ItemCounts + */ + songCount?: number; + /** + * Gets or sets the album count. + * @type {number} + * @memberof ItemCounts + */ + albumCount?: number; + /** + * Gets or sets the music video count. + * @type {number} + * @memberof ItemCounts + */ + musicVideoCount?: number; + /** + * Gets or sets the box set count. + * @type {number} + * @memberof ItemCounts + */ + boxSetCount?: number; + /** + * Gets or sets the book count. + * @type {number} + * @memberof ItemCounts + */ + bookCount?: number; + /** + * Gets or sets the item count. + * @type {number} + * @memberof ItemCounts + */ + itemCount?: number; +} + +/** + * Check if a given object implements the ItemCounts interface. + */ +export function instanceOfItemCounts(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ItemCountsFromJSON(json: any): ItemCounts { + return ItemCountsFromJSONTyped(json, false); +} + +export function ItemCountsFromJSONTyped(json: any, ignoreDiscriminator: boolean): ItemCounts { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'movieCount': !exists(json, 'MovieCount') ? undefined : json['MovieCount'], + 'seriesCount': !exists(json, 'SeriesCount') ? undefined : json['SeriesCount'], + 'episodeCount': !exists(json, 'EpisodeCount') ? undefined : json['EpisodeCount'], + 'artistCount': !exists(json, 'ArtistCount') ? undefined : json['ArtistCount'], + 'programCount': !exists(json, 'ProgramCount') ? undefined : json['ProgramCount'], + 'trailerCount': !exists(json, 'TrailerCount') ? undefined : json['TrailerCount'], + 'songCount': !exists(json, 'SongCount') ? undefined : json['SongCount'], + 'albumCount': !exists(json, 'AlbumCount') ? undefined : json['AlbumCount'], + 'musicVideoCount': !exists(json, 'MusicVideoCount') ? undefined : json['MusicVideoCount'], + 'boxSetCount': !exists(json, 'BoxSetCount') ? undefined : json['BoxSetCount'], + 'bookCount': !exists(json, 'BookCount') ? undefined : json['BookCount'], + 'itemCount': !exists(json, 'ItemCount') ? undefined : json['ItemCount'], + }; +} + +export function ItemCountsToJSON(value?: ItemCounts | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'MovieCount': value.movieCount, + 'SeriesCount': value.seriesCount, + 'EpisodeCount': value.episodeCount, + 'ArtistCount': value.artistCount, + 'ProgramCount': value.programCount, + 'TrailerCount': value.trailerCount, + 'SongCount': value.songCount, + 'AlbumCount': value.albumCount, + 'MusicVideoCount': value.musicVideoCount, + 'BoxSetCount': value.boxSetCount, + 'BookCount': value.bookCount, + 'ItemCount': value.itemCount, + }; +} + diff --git a/server/jellyfin/models/ItemFields.ts b/server/jellyfin/models/ItemFields.ts new file mode 100644 index 0000000..3bc880f --- /dev/null +++ b/server/jellyfin/models/ItemFields.ts @@ -0,0 +1,97 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Used to control the data that gets attached to DtoBaseItems. + * @export + */ +export const ItemFields = { + AirTime: 'AirTime', + CanDelete: 'CanDelete', + CanDownload: 'CanDownload', + ChannelInfo: 'ChannelInfo', + Chapters: 'Chapters', + ChildCount: 'ChildCount', + CumulativeRunTimeTicks: 'CumulativeRunTimeTicks', + CustomRating: 'CustomRating', + DateCreated: 'DateCreated', + DateLastMediaAdded: 'DateLastMediaAdded', + DisplayPreferencesId: 'DisplayPreferencesId', + Etag: 'Etag', + ExternalUrls: 'ExternalUrls', + Genres: 'Genres', + HomePageUrl: 'HomePageUrl', + ItemCounts: 'ItemCounts', + MediaSourceCount: 'MediaSourceCount', + MediaSources: 'MediaSources', + OriginalTitle: 'OriginalTitle', + Overview: 'Overview', + ParentId: 'ParentId', + Path: 'Path', + People: 'People', + PlayAccess: 'PlayAccess', + ProductionLocations: 'ProductionLocations', + ProviderIds: 'ProviderIds', + PrimaryImageAspectRatio: 'PrimaryImageAspectRatio', + RecursiveItemCount: 'RecursiveItemCount', + Settings: 'Settings', + ScreenshotImageTags: 'ScreenshotImageTags', + SeriesPrimaryImage: 'SeriesPrimaryImage', + SeriesStudio: 'SeriesStudio', + SortName: 'SortName', + SpecialEpisodeNumbers: 'SpecialEpisodeNumbers', + Studios: 'Studios', + BasicSyncInfo: 'BasicSyncInfo', + SyncInfo: 'SyncInfo', + Taglines: 'Taglines', + Tags: 'Tags', + RemoteTrailers: 'RemoteTrailers', + MediaStreams: 'MediaStreams', + SeasonUserData: 'SeasonUserData', + ServiceName: 'ServiceName', + ThemeSongIds: 'ThemeSongIds', + ThemeVideoIds: 'ThemeVideoIds', + ExternalEtag: 'ExternalEtag', + PresentationUniqueKey: 'PresentationUniqueKey', + InheritedParentalRatingValue: 'InheritedParentalRatingValue', + ExternalSeriesId: 'ExternalSeriesId', + SeriesPresentationUniqueKey: 'SeriesPresentationUniqueKey', + DateLastRefreshed: 'DateLastRefreshed', + DateLastSaved: 'DateLastSaved', + RefreshState: 'RefreshState', + ChannelImage: 'ChannelImage', + EnableMediaSourceDisplay: 'EnableMediaSourceDisplay', + Width: 'Width', + Height: 'Height', + ExtraIds: 'ExtraIds', + LocalTrailerCount: 'LocalTrailerCount', + IsHd: 'IsHD', + SpecialFeatureCount: 'SpecialFeatureCount' +} as const; +export type ItemFields = typeof ItemFields[keyof typeof ItemFields]; + + +export function ItemFieldsFromJSON(json: any): ItemFields { + return ItemFieldsFromJSONTyped(json, false); +} + +export function ItemFieldsFromJSONTyped(json: any, ignoreDiscriminator: boolean): ItemFields { + return json as ItemFields; +} + +export function ItemFieldsToJSON(value?: ItemFields | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/ItemFilter.ts b/server/jellyfin/models/ItemFilter.ts new file mode 100644 index 0000000..b710a15 --- /dev/null +++ b/server/jellyfin/models/ItemFilter.ts @@ -0,0 +1,45 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Enum ItemFilter. + * @export + */ +export const ItemFilter = { + IsFolder: 'IsFolder', + IsNotFolder: 'IsNotFolder', + IsUnplayed: 'IsUnplayed', + IsPlayed: 'IsPlayed', + IsFavorite: 'IsFavorite', + IsResumable: 'IsResumable', + Likes: 'Likes', + Dislikes: 'Dislikes', + IsFavoriteOrLikes: 'IsFavoriteOrLikes' +} as const; +export type ItemFilter = typeof ItemFilter[keyof typeof ItemFilter]; + + +export function ItemFilterFromJSON(json: any): ItemFilter { + return ItemFilterFromJSONTyped(json, false); +} + +export function ItemFilterFromJSONTyped(json: any, ignoreDiscriminator: boolean): ItemFilter { + return json as ItemFilter; +} + +export function ItemFilterToJSON(value?: ItemFilter | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/JoinGroupRequestDto.ts b/server/jellyfin/models/JoinGroupRequestDto.ts new file mode 100644 index 0000000..bc02ffc --- /dev/null +++ b/server/jellyfin/models/JoinGroupRequestDto.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class JoinGroupRequestDto. + * @export + * @interface JoinGroupRequestDto + */ +export interface JoinGroupRequestDto { + /** + * Gets or sets the group identifier. + * @type {string} + * @memberof JoinGroupRequestDto + */ + groupId?: string; +} + +/** + * Check if a given object implements the JoinGroupRequestDto interface. + */ +export function instanceOfJoinGroupRequestDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function JoinGroupRequestDtoFromJSON(json: any): JoinGroupRequestDto { + return JoinGroupRequestDtoFromJSONTyped(json, false); +} + +export function JoinGroupRequestDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): JoinGroupRequestDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'groupId': !exists(json, 'GroupId') ? undefined : json['GroupId'], + }; +} + +export function JoinGroupRequestDtoToJSON(value?: JoinGroupRequestDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'GroupId': value.groupId, + }; +} + diff --git a/server/jellyfin/models/KeepUntil.ts b/server/jellyfin/models/KeepUntil.ts new file mode 100644 index 0000000..20a9b81 --- /dev/null +++ b/server/jellyfin/models/KeepUntil.ts @@ -0,0 +1,40 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const KeepUntil = { + UntilDeleted: 'UntilDeleted', + UntilSpaceNeeded: 'UntilSpaceNeeded', + UntilWatched: 'UntilWatched', + UntilDate: 'UntilDate' +} as const; +export type KeepUntil = typeof KeepUntil[keyof typeof KeepUntil]; + + +export function KeepUntilFromJSON(json: any): KeepUntil { + return KeepUntilFromJSONTyped(json, false); +} + +export function KeepUntilFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeepUntil { + return json as KeepUntil; +} + +export function KeepUntilToJSON(value?: KeepUntil | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/LibraryOptionInfoDto.ts b/server/jellyfin/models/LibraryOptionInfoDto.ts new file mode 100644 index 0000000..6236212 --- /dev/null +++ b/server/jellyfin/models/LibraryOptionInfoDto.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Library option info dto. + * @export + * @interface LibraryOptionInfoDto + */ +export interface LibraryOptionInfoDto { + /** + * Gets or sets name. + * @type {string} + * @memberof LibraryOptionInfoDto + */ + name?: string | null; + /** + * Gets or sets a value indicating whether default enabled. + * @type {boolean} + * @memberof LibraryOptionInfoDto + */ + defaultEnabled?: boolean; +} + +/** + * Check if a given object implements the LibraryOptionInfoDto interface. + */ +export function instanceOfLibraryOptionInfoDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function LibraryOptionInfoDtoFromJSON(json: any): LibraryOptionInfoDto { + return LibraryOptionInfoDtoFromJSONTyped(json, false); +} + +export function LibraryOptionInfoDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): LibraryOptionInfoDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'defaultEnabled': !exists(json, 'DefaultEnabled') ? undefined : json['DefaultEnabled'], + }; +} + +export function LibraryOptionInfoDtoToJSON(value?: LibraryOptionInfoDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'DefaultEnabled': value.defaultEnabled, + }; +} + diff --git a/server/jellyfin/models/LibraryOptions.ts b/server/jellyfin/models/LibraryOptions.ts new file mode 100644 index 0000000..d03ac53 --- /dev/null +++ b/server/jellyfin/models/LibraryOptions.ts @@ -0,0 +1,293 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { EmbeddedSubtitleOptions } from './EmbeddedSubtitleOptions'; +import { + EmbeddedSubtitleOptionsFromJSON, + EmbeddedSubtitleOptionsFromJSONTyped, + EmbeddedSubtitleOptionsToJSON, +} from './EmbeddedSubtitleOptions'; +import type { MediaPathInfo } from './MediaPathInfo'; +import { + MediaPathInfoFromJSON, + MediaPathInfoFromJSONTyped, + MediaPathInfoToJSON, +} from './MediaPathInfo'; +import type { TypeOptions } from './TypeOptions'; +import { + TypeOptionsFromJSON, + TypeOptionsFromJSONTyped, + TypeOptionsToJSON, +} from './TypeOptions'; + +/** + * + * @export + * @interface LibraryOptions + */ +export interface LibraryOptions { + /** + * + * @type {boolean} + * @memberof LibraryOptions + */ + enablePhotos?: boolean; + /** + * + * @type {boolean} + * @memberof LibraryOptions + */ + enableRealtimeMonitor?: boolean; + /** + * + * @type {boolean} + * @memberof LibraryOptions + */ + enableChapterImageExtraction?: boolean; + /** + * + * @type {boolean} + * @memberof LibraryOptions + */ + extractChapterImagesDuringLibraryScan?: boolean; + /** + * + * @type {Array} + * @memberof LibraryOptions + */ + pathInfos?: Array; + /** + * + * @type {boolean} + * @memberof LibraryOptions + */ + saveLocalMetadata?: boolean; + /** + * + * @type {boolean} + * @memberof LibraryOptions + * @deprecated + */ + enableInternetProviders?: boolean; + /** + * + * @type {boolean} + * @memberof LibraryOptions + */ + enableAutomaticSeriesGrouping?: boolean; + /** + * + * @type {boolean} + * @memberof LibraryOptions + */ + enableEmbeddedTitles?: boolean; + /** + * + * @type {boolean} + * @memberof LibraryOptions + */ + enableEmbeddedEpisodeInfos?: boolean; + /** + * + * @type {number} + * @memberof LibraryOptions + */ + automaticRefreshIntervalDays?: number; + /** + * Gets or sets the preferred metadata language. + * @type {string} + * @memberof LibraryOptions + */ + preferredMetadataLanguage?: string | null; + /** + * Gets or sets the metadata country code. + * @type {string} + * @memberof LibraryOptions + */ + metadataCountryCode?: string | null; + /** + * + * @type {string} + * @memberof LibraryOptions + */ + seasonZeroDisplayName?: string; + /** + * + * @type {Array} + * @memberof LibraryOptions + */ + metadataSavers?: Array | null; + /** + * + * @type {Array} + * @memberof LibraryOptions + */ + disabledLocalMetadataReaders?: Array; + /** + * + * @type {Array} + * @memberof LibraryOptions + */ + localMetadataReaderOrder?: Array | null; + /** + * + * @type {Array} + * @memberof LibraryOptions + */ + disabledSubtitleFetchers?: Array; + /** + * + * @type {Array} + * @memberof LibraryOptions + */ + subtitleFetcherOrder?: Array; + /** + * + * @type {boolean} + * @memberof LibraryOptions + */ + skipSubtitlesIfEmbeddedSubtitlesPresent?: boolean; + /** + * + * @type {boolean} + * @memberof LibraryOptions + */ + skipSubtitlesIfAudioTrackMatches?: boolean; + /** + * + * @type {Array} + * @memberof LibraryOptions + */ + subtitleDownloadLanguages?: Array | null; + /** + * + * @type {boolean} + * @memberof LibraryOptions + */ + requirePerfectSubtitleMatch?: boolean; + /** + * + * @type {boolean} + * @memberof LibraryOptions + */ + saveSubtitlesWithMedia?: boolean; + /** + * + * @type {boolean} + * @memberof LibraryOptions + */ + automaticallyAddToCollection?: boolean; + /** + * + * @type {EmbeddedSubtitleOptions} + * @memberof LibraryOptions + */ + allowEmbeddedSubtitles?: EmbeddedSubtitleOptions; + /** + * + * @type {Array} + * @memberof LibraryOptions + */ + typeOptions?: Array; +} + +/** + * Check if a given object implements the LibraryOptions interface. + */ +export function instanceOfLibraryOptions(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function LibraryOptionsFromJSON(json: any): LibraryOptions { + return LibraryOptionsFromJSONTyped(json, false); +} + +export function LibraryOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): LibraryOptions { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'enablePhotos': !exists(json, 'EnablePhotos') ? undefined : json['EnablePhotos'], + 'enableRealtimeMonitor': !exists(json, 'EnableRealtimeMonitor') ? undefined : json['EnableRealtimeMonitor'], + 'enableChapterImageExtraction': !exists(json, 'EnableChapterImageExtraction') ? undefined : json['EnableChapterImageExtraction'], + 'extractChapterImagesDuringLibraryScan': !exists(json, 'ExtractChapterImagesDuringLibraryScan') ? undefined : json['ExtractChapterImagesDuringLibraryScan'], + 'pathInfos': !exists(json, 'PathInfos') ? undefined : ((json['PathInfos'] as Array).map(MediaPathInfoFromJSON)), + 'saveLocalMetadata': !exists(json, 'SaveLocalMetadata') ? undefined : json['SaveLocalMetadata'], + 'enableInternetProviders': !exists(json, 'EnableInternetProviders') ? undefined : json['EnableInternetProviders'], + 'enableAutomaticSeriesGrouping': !exists(json, 'EnableAutomaticSeriesGrouping') ? undefined : json['EnableAutomaticSeriesGrouping'], + 'enableEmbeddedTitles': !exists(json, 'EnableEmbeddedTitles') ? undefined : json['EnableEmbeddedTitles'], + 'enableEmbeddedEpisodeInfos': !exists(json, 'EnableEmbeddedEpisodeInfos') ? undefined : json['EnableEmbeddedEpisodeInfos'], + 'automaticRefreshIntervalDays': !exists(json, 'AutomaticRefreshIntervalDays') ? undefined : json['AutomaticRefreshIntervalDays'], + 'preferredMetadataLanguage': !exists(json, 'PreferredMetadataLanguage') ? undefined : json['PreferredMetadataLanguage'], + 'metadataCountryCode': !exists(json, 'MetadataCountryCode') ? undefined : json['MetadataCountryCode'], + 'seasonZeroDisplayName': !exists(json, 'SeasonZeroDisplayName') ? undefined : json['SeasonZeroDisplayName'], + 'metadataSavers': !exists(json, 'MetadataSavers') ? undefined : json['MetadataSavers'], + 'disabledLocalMetadataReaders': !exists(json, 'DisabledLocalMetadataReaders') ? undefined : json['DisabledLocalMetadataReaders'], + 'localMetadataReaderOrder': !exists(json, 'LocalMetadataReaderOrder') ? undefined : json['LocalMetadataReaderOrder'], + 'disabledSubtitleFetchers': !exists(json, 'DisabledSubtitleFetchers') ? undefined : json['DisabledSubtitleFetchers'], + 'subtitleFetcherOrder': !exists(json, 'SubtitleFetcherOrder') ? undefined : json['SubtitleFetcherOrder'], + 'skipSubtitlesIfEmbeddedSubtitlesPresent': !exists(json, 'SkipSubtitlesIfEmbeddedSubtitlesPresent') ? undefined : json['SkipSubtitlesIfEmbeddedSubtitlesPresent'], + 'skipSubtitlesIfAudioTrackMatches': !exists(json, 'SkipSubtitlesIfAudioTrackMatches') ? undefined : json['SkipSubtitlesIfAudioTrackMatches'], + 'subtitleDownloadLanguages': !exists(json, 'SubtitleDownloadLanguages') ? undefined : json['SubtitleDownloadLanguages'], + 'requirePerfectSubtitleMatch': !exists(json, 'RequirePerfectSubtitleMatch') ? undefined : json['RequirePerfectSubtitleMatch'], + 'saveSubtitlesWithMedia': !exists(json, 'SaveSubtitlesWithMedia') ? undefined : json['SaveSubtitlesWithMedia'], + 'automaticallyAddToCollection': !exists(json, 'AutomaticallyAddToCollection') ? undefined : json['AutomaticallyAddToCollection'], + 'allowEmbeddedSubtitles': !exists(json, 'AllowEmbeddedSubtitles') ? undefined : EmbeddedSubtitleOptionsFromJSON(json['AllowEmbeddedSubtitles']), + 'typeOptions': !exists(json, 'TypeOptions') ? undefined : ((json['TypeOptions'] as Array).map(TypeOptionsFromJSON)), + }; +} + +export function LibraryOptionsToJSON(value?: LibraryOptions | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'EnablePhotos': value.enablePhotos, + 'EnableRealtimeMonitor': value.enableRealtimeMonitor, + 'EnableChapterImageExtraction': value.enableChapterImageExtraction, + 'ExtractChapterImagesDuringLibraryScan': value.extractChapterImagesDuringLibraryScan, + 'PathInfos': value.pathInfos === undefined ? undefined : ((value.pathInfos as Array).map(MediaPathInfoToJSON)), + 'SaveLocalMetadata': value.saveLocalMetadata, + 'EnableInternetProviders': value.enableInternetProviders, + 'EnableAutomaticSeriesGrouping': value.enableAutomaticSeriesGrouping, + 'EnableEmbeddedTitles': value.enableEmbeddedTitles, + 'EnableEmbeddedEpisodeInfos': value.enableEmbeddedEpisodeInfos, + 'AutomaticRefreshIntervalDays': value.automaticRefreshIntervalDays, + 'PreferredMetadataLanguage': value.preferredMetadataLanguage, + 'MetadataCountryCode': value.metadataCountryCode, + 'SeasonZeroDisplayName': value.seasonZeroDisplayName, + 'MetadataSavers': value.metadataSavers, + 'DisabledLocalMetadataReaders': value.disabledLocalMetadataReaders, + 'LocalMetadataReaderOrder': value.localMetadataReaderOrder, + 'DisabledSubtitleFetchers': value.disabledSubtitleFetchers, + 'SubtitleFetcherOrder': value.subtitleFetcherOrder, + 'SkipSubtitlesIfEmbeddedSubtitlesPresent': value.skipSubtitlesIfEmbeddedSubtitlesPresent, + 'SkipSubtitlesIfAudioTrackMatches': value.skipSubtitlesIfAudioTrackMatches, + 'SubtitleDownloadLanguages': value.subtitleDownloadLanguages, + 'RequirePerfectSubtitleMatch': value.requirePerfectSubtitleMatch, + 'SaveSubtitlesWithMedia': value.saveSubtitlesWithMedia, + 'AutomaticallyAddToCollection': value.automaticallyAddToCollection, + 'AllowEmbeddedSubtitles': EmbeddedSubtitleOptionsToJSON(value.allowEmbeddedSubtitles), + 'TypeOptions': value.typeOptions === undefined ? undefined : ((value.typeOptions as Array).map(TypeOptionsToJSON)), + }; +} + diff --git a/server/jellyfin/models/LibraryOptionsResultDto.ts b/server/jellyfin/models/LibraryOptionsResultDto.ts new file mode 100644 index 0000000..9568094 --- /dev/null +++ b/server/jellyfin/models/LibraryOptionsResultDto.ts @@ -0,0 +1,102 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { LibraryOptionInfoDto } from './LibraryOptionInfoDto'; +import { + LibraryOptionInfoDtoFromJSON, + LibraryOptionInfoDtoFromJSONTyped, + LibraryOptionInfoDtoToJSON, +} from './LibraryOptionInfoDto'; +import type { LibraryTypeOptionsDto } from './LibraryTypeOptionsDto'; +import { + LibraryTypeOptionsDtoFromJSON, + LibraryTypeOptionsDtoFromJSONTyped, + LibraryTypeOptionsDtoToJSON, +} from './LibraryTypeOptionsDto'; + +/** + * Library options result dto. + * @export + * @interface LibraryOptionsResultDto + */ +export interface LibraryOptionsResultDto { + /** + * Gets or sets the metadata savers. + * @type {Array} + * @memberof LibraryOptionsResultDto + */ + metadataSavers?: Array; + /** + * Gets or sets the metadata readers. + * @type {Array} + * @memberof LibraryOptionsResultDto + */ + metadataReaders?: Array; + /** + * Gets or sets the subtitle fetchers. + * @type {Array} + * @memberof LibraryOptionsResultDto + */ + subtitleFetchers?: Array; + /** + * Gets or sets the type options. + * @type {Array} + * @memberof LibraryOptionsResultDto + */ + typeOptions?: Array; +} + +/** + * Check if a given object implements the LibraryOptionsResultDto interface. + */ +export function instanceOfLibraryOptionsResultDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function LibraryOptionsResultDtoFromJSON(json: any): LibraryOptionsResultDto { + return LibraryOptionsResultDtoFromJSONTyped(json, false); +} + +export function LibraryOptionsResultDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): LibraryOptionsResultDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'metadataSavers': !exists(json, 'MetadataSavers') ? undefined : ((json['MetadataSavers'] as Array).map(LibraryOptionInfoDtoFromJSON)), + 'metadataReaders': !exists(json, 'MetadataReaders') ? undefined : ((json['MetadataReaders'] as Array).map(LibraryOptionInfoDtoFromJSON)), + 'subtitleFetchers': !exists(json, 'SubtitleFetchers') ? undefined : ((json['SubtitleFetchers'] as Array).map(LibraryOptionInfoDtoFromJSON)), + 'typeOptions': !exists(json, 'TypeOptions') ? undefined : ((json['TypeOptions'] as Array).map(LibraryTypeOptionsDtoFromJSON)), + }; +} + +export function LibraryOptionsResultDtoToJSON(value?: LibraryOptionsResultDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'MetadataSavers': value.metadataSavers === undefined ? undefined : ((value.metadataSavers as Array).map(LibraryOptionInfoDtoToJSON)), + 'MetadataReaders': value.metadataReaders === undefined ? undefined : ((value.metadataReaders as Array).map(LibraryOptionInfoDtoToJSON)), + 'SubtitleFetchers': value.subtitleFetchers === undefined ? undefined : ((value.subtitleFetchers as Array).map(LibraryOptionInfoDtoToJSON)), + 'TypeOptions': value.typeOptions === undefined ? undefined : ((value.typeOptions as Array).map(LibraryTypeOptionsDtoToJSON)), + }; +} + diff --git a/server/jellyfin/models/LibraryTypeOptionsDto.ts b/server/jellyfin/models/LibraryTypeOptionsDto.ts new file mode 100644 index 0000000..2a31814 --- /dev/null +++ b/server/jellyfin/models/LibraryTypeOptionsDto.ts @@ -0,0 +1,116 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ImageOption } from './ImageOption'; +import { + ImageOptionFromJSON, + ImageOptionFromJSONTyped, + ImageOptionToJSON, +} from './ImageOption'; +import type { ImageType } from './ImageType'; +import { + ImageTypeFromJSON, + ImageTypeFromJSONTyped, + ImageTypeToJSON, +} from './ImageType'; +import type { LibraryOptionInfoDto } from './LibraryOptionInfoDto'; +import { + LibraryOptionInfoDtoFromJSON, + LibraryOptionInfoDtoFromJSONTyped, + LibraryOptionInfoDtoToJSON, +} from './LibraryOptionInfoDto'; + +/** + * Library type options dto. + * @export + * @interface LibraryTypeOptionsDto + */ +export interface LibraryTypeOptionsDto { + /** + * Gets or sets the type. + * @type {string} + * @memberof LibraryTypeOptionsDto + */ + type?: string | null; + /** + * Gets or sets the metadata fetchers. + * @type {Array} + * @memberof LibraryTypeOptionsDto + */ + metadataFetchers?: Array; + /** + * Gets or sets the image fetchers. + * @type {Array} + * @memberof LibraryTypeOptionsDto + */ + imageFetchers?: Array; + /** + * Gets or sets the supported image types. + * @type {Array} + * @memberof LibraryTypeOptionsDto + */ + supportedImageTypes?: Array; + /** + * Gets or sets the default image options. + * @type {Array} + * @memberof LibraryTypeOptionsDto + */ + defaultImageOptions?: Array; +} + +/** + * Check if a given object implements the LibraryTypeOptionsDto interface. + */ +export function instanceOfLibraryTypeOptionsDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function LibraryTypeOptionsDtoFromJSON(json: any): LibraryTypeOptionsDto { + return LibraryTypeOptionsDtoFromJSONTyped(json, false); +} + +export function LibraryTypeOptionsDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): LibraryTypeOptionsDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'type': !exists(json, 'Type') ? undefined : json['Type'], + 'metadataFetchers': !exists(json, 'MetadataFetchers') ? undefined : ((json['MetadataFetchers'] as Array).map(LibraryOptionInfoDtoFromJSON)), + 'imageFetchers': !exists(json, 'ImageFetchers') ? undefined : ((json['ImageFetchers'] as Array).map(LibraryOptionInfoDtoFromJSON)), + 'supportedImageTypes': !exists(json, 'SupportedImageTypes') ? undefined : ((json['SupportedImageTypes'] as Array).map(ImageTypeFromJSON)), + 'defaultImageOptions': !exists(json, 'DefaultImageOptions') ? undefined : ((json['DefaultImageOptions'] as Array).map(ImageOptionFromJSON)), + }; +} + +export function LibraryTypeOptionsDtoToJSON(value?: LibraryTypeOptionsDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Type': value.type, + 'MetadataFetchers': value.metadataFetchers === undefined ? undefined : ((value.metadataFetchers as Array).map(LibraryOptionInfoDtoToJSON)), + 'ImageFetchers': value.imageFetchers === undefined ? undefined : ((value.imageFetchers as Array).map(LibraryOptionInfoDtoToJSON)), + 'SupportedImageTypes': value.supportedImageTypes === undefined ? undefined : ((value.supportedImageTypes as Array).map(ImageTypeToJSON)), + 'DefaultImageOptions': value.defaultImageOptions === undefined ? undefined : ((value.defaultImageOptions as Array).map(ImageOptionToJSON)), + }; +} + diff --git a/server/jellyfin/models/LibraryUpdateInfo.ts b/server/jellyfin/models/LibraryUpdateInfo.ts new file mode 100644 index 0000000..64d8944 --- /dev/null +++ b/server/jellyfin/models/LibraryUpdateInfo.ts @@ -0,0 +1,112 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class LibraryUpdateInfo. + * @export + * @interface LibraryUpdateInfo + */ +export interface LibraryUpdateInfo { + /** + * Gets or sets the folders added to. + * @type {Array} + * @memberof LibraryUpdateInfo + */ + foldersAddedTo?: Array; + /** + * Gets or sets the folders removed from. + * @type {Array} + * @memberof LibraryUpdateInfo + */ + foldersRemovedFrom?: Array; + /** + * Gets or sets the items added. + * @type {Array} + * @memberof LibraryUpdateInfo + */ + itemsAdded?: Array; + /** + * Gets or sets the items removed. + * @type {Array} + * @memberof LibraryUpdateInfo + */ + itemsRemoved?: Array; + /** + * Gets or sets the items updated. + * @type {Array} + * @memberof LibraryUpdateInfo + */ + itemsUpdated?: Array; + /** + * + * @type {Array} + * @memberof LibraryUpdateInfo + */ + collectionFolders?: Array; + /** + * + * @type {boolean} + * @memberof LibraryUpdateInfo + */ + readonly isEmpty?: boolean; +} + +/** + * Check if a given object implements the LibraryUpdateInfo interface. + */ +export function instanceOfLibraryUpdateInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function LibraryUpdateInfoFromJSON(json: any): LibraryUpdateInfo { + return LibraryUpdateInfoFromJSONTyped(json, false); +} + +export function LibraryUpdateInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): LibraryUpdateInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'foldersAddedTo': !exists(json, 'FoldersAddedTo') ? undefined : json['FoldersAddedTo'], + 'foldersRemovedFrom': !exists(json, 'FoldersRemovedFrom') ? undefined : json['FoldersRemovedFrom'], + 'itemsAdded': !exists(json, 'ItemsAdded') ? undefined : json['ItemsAdded'], + 'itemsRemoved': !exists(json, 'ItemsRemoved') ? undefined : json['ItemsRemoved'], + 'itemsUpdated': !exists(json, 'ItemsUpdated') ? undefined : json['ItemsUpdated'], + 'collectionFolders': !exists(json, 'CollectionFolders') ? undefined : json['CollectionFolders'], + 'isEmpty': !exists(json, 'IsEmpty') ? undefined : json['IsEmpty'], + }; +} + +export function LibraryUpdateInfoToJSON(value?: LibraryUpdateInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'FoldersAddedTo': value.foldersAddedTo, + 'FoldersRemovedFrom': value.foldersRemovedFrom, + 'ItemsAdded': value.itemsAdded, + 'ItemsRemoved': value.itemsRemoved, + 'ItemsUpdated': value.itemsUpdated, + 'CollectionFolders': value.collectionFolders, + }; +} + diff --git a/server/jellyfin/models/ListingsProviderInfo.ts b/server/jellyfin/models/ListingsProviderInfo.ts new file mode 100644 index 0000000..83c6e4f --- /dev/null +++ b/server/jellyfin/models/ListingsProviderInfo.ts @@ -0,0 +1,208 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { NameValuePair } from './NameValuePair'; +import { + NameValuePairFromJSON, + NameValuePairFromJSONTyped, + NameValuePairToJSON, +} from './NameValuePair'; + +/** + * + * @export + * @interface ListingsProviderInfo + */ +export interface ListingsProviderInfo { + /** + * + * @type {string} + * @memberof ListingsProviderInfo + */ + id?: string | null; + /** + * + * @type {string} + * @memberof ListingsProviderInfo + */ + type?: string | null; + /** + * + * @type {string} + * @memberof ListingsProviderInfo + */ + username?: string | null; + /** + * + * @type {string} + * @memberof ListingsProviderInfo + */ + password?: string | null; + /** + * + * @type {string} + * @memberof ListingsProviderInfo + */ + listingsId?: string | null; + /** + * + * @type {string} + * @memberof ListingsProviderInfo + */ + zipCode?: string | null; + /** + * + * @type {string} + * @memberof ListingsProviderInfo + */ + country?: string | null; + /** + * + * @type {string} + * @memberof ListingsProviderInfo + */ + path?: string | null; + /** + * + * @type {Array} + * @memberof ListingsProviderInfo + */ + enabledTuners?: Array | null; + /** + * + * @type {boolean} + * @memberof ListingsProviderInfo + */ + enableAllTuners?: boolean; + /** + * + * @type {Array} + * @memberof ListingsProviderInfo + */ + newsCategories?: Array | null; + /** + * + * @type {Array} + * @memberof ListingsProviderInfo + */ + sportsCategories?: Array | null; + /** + * + * @type {Array} + * @memberof ListingsProviderInfo + */ + kidsCategories?: Array | null; + /** + * + * @type {Array} + * @memberof ListingsProviderInfo + */ + movieCategories?: Array | null; + /** + * + * @type {Array} + * @memberof ListingsProviderInfo + */ + channelMappings?: Array | null; + /** + * + * @type {string} + * @memberof ListingsProviderInfo + */ + moviePrefix?: string | null; + /** + * + * @type {string} + * @memberof ListingsProviderInfo + */ + preferredLanguage?: string | null; + /** + * + * @type {string} + * @memberof ListingsProviderInfo + */ + userAgent?: string | null; +} + +/** + * Check if a given object implements the ListingsProviderInfo interface. + */ +export function instanceOfListingsProviderInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ListingsProviderInfoFromJSON(json: any): ListingsProviderInfo { + return ListingsProviderInfoFromJSONTyped(json, false); +} + +export function ListingsProviderInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListingsProviderInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'type': !exists(json, 'Type') ? undefined : json['Type'], + 'username': !exists(json, 'Username') ? undefined : json['Username'], + 'password': !exists(json, 'Password') ? undefined : json['Password'], + 'listingsId': !exists(json, 'ListingsId') ? undefined : json['ListingsId'], + 'zipCode': !exists(json, 'ZipCode') ? undefined : json['ZipCode'], + 'country': !exists(json, 'Country') ? undefined : json['Country'], + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'enabledTuners': !exists(json, 'EnabledTuners') ? undefined : json['EnabledTuners'], + 'enableAllTuners': !exists(json, 'EnableAllTuners') ? undefined : json['EnableAllTuners'], + 'newsCategories': !exists(json, 'NewsCategories') ? undefined : json['NewsCategories'], + 'sportsCategories': !exists(json, 'SportsCategories') ? undefined : json['SportsCategories'], + 'kidsCategories': !exists(json, 'KidsCategories') ? undefined : json['KidsCategories'], + 'movieCategories': !exists(json, 'MovieCategories') ? undefined : json['MovieCategories'], + 'channelMappings': !exists(json, 'ChannelMappings') ? undefined : (json['ChannelMappings'] === null ? null : (json['ChannelMappings'] as Array).map(NameValuePairFromJSON)), + 'moviePrefix': !exists(json, 'MoviePrefix') ? undefined : json['MoviePrefix'], + 'preferredLanguage': !exists(json, 'PreferredLanguage') ? undefined : json['PreferredLanguage'], + 'userAgent': !exists(json, 'UserAgent') ? undefined : json['UserAgent'], + }; +} + +export function ListingsProviderInfoToJSON(value?: ListingsProviderInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Id': value.id, + 'Type': value.type, + 'Username': value.username, + 'Password': value.password, + 'ListingsId': value.listingsId, + 'ZipCode': value.zipCode, + 'Country': value.country, + 'Path': value.path, + 'EnabledTuners': value.enabledTuners, + 'EnableAllTuners': value.enableAllTuners, + 'NewsCategories': value.newsCategories, + 'SportsCategories': value.sportsCategories, + 'KidsCategories': value.kidsCategories, + 'MovieCategories': value.movieCategories, + 'ChannelMappings': value.channelMappings === undefined ? undefined : (value.channelMappings === null ? null : (value.channelMappings as Array).map(NameValuePairToJSON)), + 'MoviePrefix': value.moviePrefix, + 'PreferredLanguage': value.preferredLanguage, + 'UserAgent': value.userAgent, + }; +} + diff --git a/server/jellyfin/models/LiveStreamResponse.ts b/server/jellyfin/models/LiveStreamResponse.ts new file mode 100644 index 0000000..d770d9e --- /dev/null +++ b/server/jellyfin/models/LiveStreamResponse.ts @@ -0,0 +1,72 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { LiveStreamResponseMediaSource } from './LiveStreamResponseMediaSource'; +import { + LiveStreamResponseMediaSourceFromJSON, + LiveStreamResponseMediaSourceFromJSONTyped, + LiveStreamResponseMediaSourceToJSON, +} from './LiveStreamResponseMediaSource'; + +/** + * + * @export + * @interface LiveStreamResponse + */ +export interface LiveStreamResponse { + /** + * + * @type {LiveStreamResponseMediaSource} + * @memberof LiveStreamResponse + */ + mediaSource?: LiveStreamResponseMediaSource; +} + +/** + * Check if a given object implements the LiveStreamResponse interface. + */ +export function instanceOfLiveStreamResponse(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function LiveStreamResponseFromJSON(json: any): LiveStreamResponse { + return LiveStreamResponseFromJSONTyped(json, false); +} + +export function LiveStreamResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): LiveStreamResponse { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'mediaSource': !exists(json, 'MediaSource') ? undefined : LiveStreamResponseMediaSourceFromJSON(json['MediaSource']), + }; +} + +export function LiveStreamResponseToJSON(value?: LiveStreamResponse | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'MediaSource': LiveStreamResponseMediaSourceToJSON(value.mediaSource), + }; +} + diff --git a/server/jellyfin/models/LiveStreamResponseMediaSource.ts b/server/jellyfin/models/LiveStreamResponseMediaSource.ts new file mode 100644 index 0000000..2bdc99b --- /dev/null +++ b/server/jellyfin/models/LiveStreamResponseMediaSource.ts @@ -0,0 +1,443 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { IsoType } from './IsoType'; +import { + IsoTypeFromJSON, + IsoTypeFromJSONTyped, + IsoTypeToJSON, +} from './IsoType'; +import type { MediaAttachment } from './MediaAttachment'; +import { + MediaAttachmentFromJSON, + MediaAttachmentFromJSONTyped, + MediaAttachmentToJSON, +} from './MediaAttachment'; +import type { MediaProtocol } from './MediaProtocol'; +import { + MediaProtocolFromJSON, + MediaProtocolFromJSONTyped, + MediaProtocolToJSON, +} from './MediaProtocol'; +import type { MediaSourceType } from './MediaSourceType'; +import { + MediaSourceTypeFromJSON, + MediaSourceTypeFromJSONTyped, + MediaSourceTypeToJSON, +} from './MediaSourceType'; +import type { MediaStream } from './MediaStream'; +import { + MediaStreamFromJSON, + MediaStreamFromJSONTyped, + MediaStreamToJSON, +} from './MediaStream'; +import type { TransportStreamTimestamp } from './TransportStreamTimestamp'; +import { + TransportStreamTimestampFromJSON, + TransportStreamTimestampFromJSONTyped, + TransportStreamTimestampToJSON, +} from './TransportStreamTimestamp'; +import type { Video3DFormat } from './Video3DFormat'; +import { + Video3DFormatFromJSON, + Video3DFormatFromJSONTyped, + Video3DFormatToJSON, +} from './Video3DFormat'; +import type { VideoType } from './VideoType'; +import { + VideoTypeFromJSON, + VideoTypeFromJSONTyped, + VideoTypeToJSON, +} from './VideoType'; + +/** + * + * @export + * @interface LiveStreamResponseMediaSource + */ +export interface LiveStreamResponseMediaSource { + /** + * + * @type {MediaProtocol} + * @memberof LiveStreamResponseMediaSource + */ + protocol?: MediaProtocol; + /** + * + * @type {string} + * @memberof LiveStreamResponseMediaSource + */ + id?: string | null; + /** + * + * @type {string} + * @memberof LiveStreamResponseMediaSource + */ + path?: string | null; + /** + * + * @type {string} + * @memberof LiveStreamResponseMediaSource + */ + encoderPath?: string | null; + /** + * + * @type {MediaProtocol} + * @memberof LiveStreamResponseMediaSource + */ + encoderProtocol?: MediaProtocol | null; + /** + * + * @type {MediaSourceType} + * @memberof LiveStreamResponseMediaSource + */ + type?: MediaSourceType; + /** + * + * @type {string} + * @memberof LiveStreamResponseMediaSource + */ + container?: string | null; + /** + * + * @type {number} + * @memberof LiveStreamResponseMediaSource + */ + size?: number | null; + /** + * + * @type {string} + * @memberof LiveStreamResponseMediaSource + */ + name?: string | null; + /** + * Gets or sets a value indicating whether the media is remote. + * Differentiate internet url vs local network. + * @type {boolean} + * @memberof LiveStreamResponseMediaSource + */ + isRemote?: boolean; + /** + * + * @type {string} + * @memberof LiveStreamResponseMediaSource + */ + eTag?: string | null; + /** + * + * @type {number} + * @memberof LiveStreamResponseMediaSource + */ + runTimeTicks?: number | null; + /** + * + * @type {boolean} + * @memberof LiveStreamResponseMediaSource + */ + readAtNativeFramerate?: boolean; + /** + * + * @type {boolean} + * @memberof LiveStreamResponseMediaSource + */ + ignoreDts?: boolean; + /** + * + * @type {boolean} + * @memberof LiveStreamResponseMediaSource + */ + ignoreIndex?: boolean; + /** + * + * @type {boolean} + * @memberof LiveStreamResponseMediaSource + */ + genPtsInput?: boolean; + /** + * + * @type {boolean} + * @memberof LiveStreamResponseMediaSource + */ + supportsTranscoding?: boolean; + /** + * + * @type {boolean} + * @memberof LiveStreamResponseMediaSource + */ + supportsDirectStream?: boolean; + /** + * + * @type {boolean} + * @memberof LiveStreamResponseMediaSource + */ + supportsDirectPlay?: boolean; + /** + * + * @type {boolean} + * @memberof LiveStreamResponseMediaSource + */ + isInfiniteStream?: boolean; + /** + * + * @type {boolean} + * @memberof LiveStreamResponseMediaSource + */ + requiresOpening?: boolean; + /** + * + * @type {string} + * @memberof LiveStreamResponseMediaSource + */ + openToken?: string | null; + /** + * + * @type {boolean} + * @memberof LiveStreamResponseMediaSource + */ + requiresClosing?: boolean; + /** + * + * @type {string} + * @memberof LiveStreamResponseMediaSource + */ + liveStreamId?: string | null; + /** + * + * @type {number} + * @memberof LiveStreamResponseMediaSource + */ + bufferMs?: number | null; + /** + * + * @type {boolean} + * @memberof LiveStreamResponseMediaSource + */ + requiresLooping?: boolean; + /** + * + * @type {boolean} + * @memberof LiveStreamResponseMediaSource + */ + supportsProbing?: boolean; + /** + * + * @type {VideoType} + * @memberof LiveStreamResponseMediaSource + */ + videoType?: VideoType | null; + /** + * + * @type {IsoType} + * @memberof LiveStreamResponseMediaSource + */ + isoType?: IsoType | null; + /** + * + * @type {Video3DFormat} + * @memberof LiveStreamResponseMediaSource + */ + video3DFormat?: Video3DFormat | null; + /** + * + * @type {Array} + * @memberof LiveStreamResponseMediaSource + */ + mediaStreams?: Array | null; + /** + * + * @type {Array} + * @memberof LiveStreamResponseMediaSource + */ + mediaAttachments?: Array | null; + /** + * + * @type {Array} + * @memberof LiveStreamResponseMediaSource + */ + formats?: Array | null; + /** + * + * @type {number} + * @memberof LiveStreamResponseMediaSource + */ + bitrate?: number | null; + /** + * + * @type {TransportStreamTimestamp} + * @memberof LiveStreamResponseMediaSource + */ + timestamp?: TransportStreamTimestamp | null; + /** + * + * @type {{ [key: string]: string; }} + * @memberof LiveStreamResponseMediaSource + */ + requiredHttpHeaders?: { [key: string]: string; } | null; + /** + * + * @type {string} + * @memberof LiveStreamResponseMediaSource + */ + transcodingUrl?: string | null; + /** + * + * @type {string} + * @memberof LiveStreamResponseMediaSource + */ + transcodingSubProtocol?: string | null; + /** + * + * @type {string} + * @memberof LiveStreamResponseMediaSource + */ + transcodingContainer?: string | null; + /** + * + * @type {number} + * @memberof LiveStreamResponseMediaSource + */ + analyzeDurationMs?: number | null; + /** + * + * @type {number} + * @memberof LiveStreamResponseMediaSource + */ + defaultAudioStreamIndex?: number | null; + /** + * + * @type {number} + * @memberof LiveStreamResponseMediaSource + */ + defaultSubtitleStreamIndex?: number | null; +} + +/** + * Check if a given object implements the LiveStreamResponseMediaSource interface. + */ +export function instanceOfLiveStreamResponseMediaSource(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function LiveStreamResponseMediaSourceFromJSON(json: any): LiveStreamResponseMediaSource { + return LiveStreamResponseMediaSourceFromJSONTyped(json, false); +} + +export function LiveStreamResponseMediaSourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): LiveStreamResponseMediaSource { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'protocol': !exists(json, 'Protocol') ? undefined : MediaProtocolFromJSON(json['Protocol']), + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'encoderPath': !exists(json, 'EncoderPath') ? undefined : json['EncoderPath'], + 'encoderProtocol': !exists(json, 'EncoderProtocol') ? undefined : MediaProtocolFromJSON(json['EncoderProtocol']), + 'type': !exists(json, 'Type') ? undefined : MediaSourceTypeFromJSON(json['Type']), + 'container': !exists(json, 'Container') ? undefined : json['Container'], + 'size': !exists(json, 'Size') ? undefined : json['Size'], + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'isRemote': !exists(json, 'IsRemote') ? undefined : json['IsRemote'], + 'eTag': !exists(json, 'ETag') ? undefined : json['ETag'], + 'runTimeTicks': !exists(json, 'RunTimeTicks') ? undefined : json['RunTimeTicks'], + 'readAtNativeFramerate': !exists(json, 'ReadAtNativeFramerate') ? undefined : json['ReadAtNativeFramerate'], + 'ignoreDts': !exists(json, 'IgnoreDts') ? undefined : json['IgnoreDts'], + 'ignoreIndex': !exists(json, 'IgnoreIndex') ? undefined : json['IgnoreIndex'], + 'genPtsInput': !exists(json, 'GenPtsInput') ? undefined : json['GenPtsInput'], + 'supportsTranscoding': !exists(json, 'SupportsTranscoding') ? undefined : json['SupportsTranscoding'], + 'supportsDirectStream': !exists(json, 'SupportsDirectStream') ? undefined : json['SupportsDirectStream'], + 'supportsDirectPlay': !exists(json, 'SupportsDirectPlay') ? undefined : json['SupportsDirectPlay'], + 'isInfiniteStream': !exists(json, 'IsInfiniteStream') ? undefined : json['IsInfiniteStream'], + 'requiresOpening': !exists(json, 'RequiresOpening') ? undefined : json['RequiresOpening'], + 'openToken': !exists(json, 'OpenToken') ? undefined : json['OpenToken'], + 'requiresClosing': !exists(json, 'RequiresClosing') ? undefined : json['RequiresClosing'], + 'liveStreamId': !exists(json, 'LiveStreamId') ? undefined : json['LiveStreamId'], + 'bufferMs': !exists(json, 'BufferMs') ? undefined : json['BufferMs'], + 'requiresLooping': !exists(json, 'RequiresLooping') ? undefined : json['RequiresLooping'], + 'supportsProbing': !exists(json, 'SupportsProbing') ? undefined : json['SupportsProbing'], + 'videoType': !exists(json, 'VideoType') ? undefined : VideoTypeFromJSON(json['VideoType']), + 'isoType': !exists(json, 'IsoType') ? undefined : IsoTypeFromJSON(json['IsoType']), + 'video3DFormat': !exists(json, 'Video3DFormat') ? undefined : Video3DFormatFromJSON(json['Video3DFormat']), + 'mediaStreams': !exists(json, 'MediaStreams') ? undefined : (json['MediaStreams'] === null ? null : (json['MediaStreams'] as Array).map(MediaStreamFromJSON)), + 'mediaAttachments': !exists(json, 'MediaAttachments') ? undefined : (json['MediaAttachments'] === null ? null : (json['MediaAttachments'] as Array).map(MediaAttachmentFromJSON)), + 'formats': !exists(json, 'Formats') ? undefined : json['Formats'], + 'bitrate': !exists(json, 'Bitrate') ? undefined : json['Bitrate'], + 'timestamp': !exists(json, 'Timestamp') ? undefined : TransportStreamTimestampFromJSON(json['Timestamp']), + 'requiredHttpHeaders': !exists(json, 'RequiredHttpHeaders') ? undefined : json['RequiredHttpHeaders'], + 'transcodingUrl': !exists(json, 'TranscodingUrl') ? undefined : json['TranscodingUrl'], + 'transcodingSubProtocol': !exists(json, 'TranscodingSubProtocol') ? undefined : json['TranscodingSubProtocol'], + 'transcodingContainer': !exists(json, 'TranscodingContainer') ? undefined : json['TranscodingContainer'], + 'analyzeDurationMs': !exists(json, 'AnalyzeDurationMs') ? undefined : json['AnalyzeDurationMs'], + 'defaultAudioStreamIndex': !exists(json, 'DefaultAudioStreamIndex') ? undefined : json['DefaultAudioStreamIndex'], + 'defaultSubtitleStreamIndex': !exists(json, 'DefaultSubtitleStreamIndex') ? undefined : json['DefaultSubtitleStreamIndex'], + }; +} + +export function LiveStreamResponseMediaSourceToJSON(value?: LiveStreamResponseMediaSource | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Protocol': MediaProtocolToJSON(value.protocol), + 'Id': value.id, + 'Path': value.path, + 'EncoderPath': value.encoderPath, + 'EncoderProtocol': MediaProtocolToJSON(value.encoderProtocol), + 'Type': MediaSourceTypeToJSON(value.type), + 'Container': value.container, + 'Size': value.size, + 'Name': value.name, + 'IsRemote': value.isRemote, + 'ETag': value.eTag, + 'RunTimeTicks': value.runTimeTicks, + 'ReadAtNativeFramerate': value.readAtNativeFramerate, + 'IgnoreDts': value.ignoreDts, + 'IgnoreIndex': value.ignoreIndex, + 'GenPtsInput': value.genPtsInput, + 'SupportsTranscoding': value.supportsTranscoding, + 'SupportsDirectStream': value.supportsDirectStream, + 'SupportsDirectPlay': value.supportsDirectPlay, + 'IsInfiniteStream': value.isInfiniteStream, + 'RequiresOpening': value.requiresOpening, + 'OpenToken': value.openToken, + 'RequiresClosing': value.requiresClosing, + 'LiveStreamId': value.liveStreamId, + 'BufferMs': value.bufferMs, + 'RequiresLooping': value.requiresLooping, + 'SupportsProbing': value.supportsProbing, + 'VideoType': VideoTypeToJSON(value.videoType), + 'IsoType': IsoTypeToJSON(value.isoType), + 'Video3DFormat': Video3DFormatToJSON(value.video3DFormat), + 'MediaStreams': value.mediaStreams === undefined ? undefined : (value.mediaStreams === null ? null : (value.mediaStreams as Array).map(MediaStreamToJSON)), + 'MediaAttachments': value.mediaAttachments === undefined ? undefined : (value.mediaAttachments === null ? null : (value.mediaAttachments as Array).map(MediaAttachmentToJSON)), + 'Formats': value.formats, + 'Bitrate': value.bitrate, + 'Timestamp': TransportStreamTimestampToJSON(value.timestamp), + 'RequiredHttpHeaders': value.requiredHttpHeaders, + 'TranscodingUrl': value.transcodingUrl, + 'TranscodingSubProtocol': value.transcodingSubProtocol, + 'TranscodingContainer': value.transcodingContainer, + 'AnalyzeDurationMs': value.analyzeDurationMs, + 'DefaultAudioStreamIndex': value.defaultAudioStreamIndex, + 'DefaultSubtitleStreamIndex': value.defaultSubtitleStreamIndex, + }; +} + diff --git a/server/jellyfin/models/LiveTvInfo.ts b/server/jellyfin/models/LiveTvInfo.ts new file mode 100644 index 0000000..044b950 --- /dev/null +++ b/server/jellyfin/models/LiveTvInfo.ts @@ -0,0 +1,88 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { LiveTvServiceInfo } from './LiveTvServiceInfo'; +import { + LiveTvServiceInfoFromJSON, + LiveTvServiceInfoFromJSONTyped, + LiveTvServiceInfoToJSON, +} from './LiveTvServiceInfo'; + +/** + * + * @export + * @interface LiveTvInfo + */ +export interface LiveTvInfo { + /** + * Gets or sets the services. + * @type {Array} + * @memberof LiveTvInfo + */ + services?: Array; + /** + * Gets or sets a value indicating whether this instance is enabled. + * @type {boolean} + * @memberof LiveTvInfo + */ + isEnabled?: boolean; + /** + * Gets or sets the enabled users. + * @type {Array} + * @memberof LiveTvInfo + */ + enabledUsers?: Array; +} + +/** + * Check if a given object implements the LiveTvInfo interface. + */ +export function instanceOfLiveTvInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function LiveTvInfoFromJSON(json: any): LiveTvInfo { + return LiveTvInfoFromJSONTyped(json, false); +} + +export function LiveTvInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): LiveTvInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'services': !exists(json, 'Services') ? undefined : ((json['Services'] as Array).map(LiveTvServiceInfoFromJSON)), + 'isEnabled': !exists(json, 'IsEnabled') ? undefined : json['IsEnabled'], + 'enabledUsers': !exists(json, 'EnabledUsers') ? undefined : json['EnabledUsers'], + }; +} + +export function LiveTvInfoToJSON(value?: LiveTvInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Services': value.services === undefined ? undefined : ((value.services as Array).map(LiveTvServiceInfoToJSON)), + 'IsEnabled': value.isEnabled, + 'EnabledUsers': value.enabledUsers, + }; +} + diff --git a/server/jellyfin/models/LiveTvOptions.ts b/server/jellyfin/models/LiveTvOptions.ts new file mode 100644 index 0000000..6998f1a --- /dev/null +++ b/server/jellyfin/models/LiveTvOptions.ts @@ -0,0 +1,174 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ListingsProviderInfo } from './ListingsProviderInfo'; +import { + ListingsProviderInfoFromJSON, + ListingsProviderInfoFromJSONTyped, + ListingsProviderInfoToJSON, +} from './ListingsProviderInfo'; +import type { TunerHostInfo } from './TunerHostInfo'; +import { + TunerHostInfoFromJSON, + TunerHostInfoFromJSONTyped, + TunerHostInfoToJSON, +} from './TunerHostInfo'; + +/** + * + * @export + * @interface LiveTvOptions + */ +export interface LiveTvOptions { + /** + * + * @type {number} + * @memberof LiveTvOptions + */ + guideDays?: number | null; + /** + * + * @type {string} + * @memberof LiveTvOptions + */ + recordingPath?: string | null; + /** + * + * @type {string} + * @memberof LiveTvOptions + */ + movieRecordingPath?: string | null; + /** + * + * @type {string} + * @memberof LiveTvOptions + */ + seriesRecordingPath?: string | null; + /** + * + * @type {boolean} + * @memberof LiveTvOptions + */ + enableRecordingSubfolders?: boolean; + /** + * + * @type {boolean} + * @memberof LiveTvOptions + */ + enableOriginalAudioWithEncodedRecordings?: boolean; + /** + * + * @type {Array} + * @memberof LiveTvOptions + */ + tunerHosts?: Array | null; + /** + * + * @type {Array} + * @memberof LiveTvOptions + */ + listingProviders?: Array | null; + /** + * + * @type {number} + * @memberof LiveTvOptions + */ + prePaddingSeconds?: number; + /** + * + * @type {number} + * @memberof LiveTvOptions + */ + postPaddingSeconds?: number; + /** + * + * @type {Array} + * @memberof LiveTvOptions + */ + mediaLocationsCreated?: Array | null; + /** + * + * @type {string} + * @memberof LiveTvOptions + */ + recordingPostProcessor?: string | null; + /** + * + * @type {string} + * @memberof LiveTvOptions + */ + recordingPostProcessorArguments?: string | null; +} + +/** + * Check if a given object implements the LiveTvOptions interface. + */ +export function instanceOfLiveTvOptions(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function LiveTvOptionsFromJSON(json: any): LiveTvOptions { + return LiveTvOptionsFromJSONTyped(json, false); +} + +export function LiveTvOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): LiveTvOptions { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'guideDays': !exists(json, 'GuideDays') ? undefined : json['GuideDays'], + 'recordingPath': !exists(json, 'RecordingPath') ? undefined : json['RecordingPath'], + 'movieRecordingPath': !exists(json, 'MovieRecordingPath') ? undefined : json['MovieRecordingPath'], + 'seriesRecordingPath': !exists(json, 'SeriesRecordingPath') ? undefined : json['SeriesRecordingPath'], + 'enableRecordingSubfolders': !exists(json, 'EnableRecordingSubfolders') ? undefined : json['EnableRecordingSubfolders'], + 'enableOriginalAudioWithEncodedRecordings': !exists(json, 'EnableOriginalAudioWithEncodedRecordings') ? undefined : json['EnableOriginalAudioWithEncodedRecordings'], + 'tunerHosts': !exists(json, 'TunerHosts') ? undefined : (json['TunerHosts'] === null ? null : (json['TunerHosts'] as Array).map(TunerHostInfoFromJSON)), + 'listingProviders': !exists(json, 'ListingProviders') ? undefined : (json['ListingProviders'] === null ? null : (json['ListingProviders'] as Array).map(ListingsProviderInfoFromJSON)), + 'prePaddingSeconds': !exists(json, 'PrePaddingSeconds') ? undefined : json['PrePaddingSeconds'], + 'postPaddingSeconds': !exists(json, 'PostPaddingSeconds') ? undefined : json['PostPaddingSeconds'], + 'mediaLocationsCreated': !exists(json, 'MediaLocationsCreated') ? undefined : json['MediaLocationsCreated'], + 'recordingPostProcessor': !exists(json, 'RecordingPostProcessor') ? undefined : json['RecordingPostProcessor'], + 'recordingPostProcessorArguments': !exists(json, 'RecordingPostProcessorArguments') ? undefined : json['RecordingPostProcessorArguments'], + }; +} + +export function LiveTvOptionsToJSON(value?: LiveTvOptions | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'GuideDays': value.guideDays, + 'RecordingPath': value.recordingPath, + 'MovieRecordingPath': value.movieRecordingPath, + 'SeriesRecordingPath': value.seriesRecordingPath, + 'EnableRecordingSubfolders': value.enableRecordingSubfolders, + 'EnableOriginalAudioWithEncodedRecordings': value.enableOriginalAudioWithEncodedRecordings, + 'TunerHosts': value.tunerHosts === undefined ? undefined : (value.tunerHosts === null ? null : (value.tunerHosts as Array).map(TunerHostInfoToJSON)), + 'ListingProviders': value.listingProviders === undefined ? undefined : (value.listingProviders === null ? null : (value.listingProviders as Array).map(ListingsProviderInfoToJSON)), + 'PrePaddingSeconds': value.prePaddingSeconds, + 'PostPaddingSeconds': value.postPaddingSeconds, + 'MediaLocationsCreated': value.mediaLocationsCreated, + 'RecordingPostProcessor': value.recordingPostProcessor, + 'RecordingPostProcessorArguments': value.recordingPostProcessorArguments, + }; +} + diff --git a/server/jellyfin/models/LiveTvServiceInfo.ts b/server/jellyfin/models/LiveTvServiceInfo.ts new file mode 100644 index 0000000..13ad8ee --- /dev/null +++ b/server/jellyfin/models/LiveTvServiceInfo.ts @@ -0,0 +1,128 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { LiveTvServiceStatus } from './LiveTvServiceStatus'; +import { + LiveTvServiceStatusFromJSON, + LiveTvServiceStatusFromJSONTyped, + LiveTvServiceStatusToJSON, +} from './LiveTvServiceStatus'; + +/** + * Class ServiceInfo. + * @export + * @interface LiveTvServiceInfo + */ +export interface LiveTvServiceInfo { + /** + * Gets or sets the name. + * @type {string} + * @memberof LiveTvServiceInfo + */ + name?: string | null; + /** + * Gets or sets the home page URL. + * @type {string} + * @memberof LiveTvServiceInfo + */ + homePageUrl?: string | null; + /** + * + * @type {LiveTvServiceStatus} + * @memberof LiveTvServiceInfo + */ + status?: LiveTvServiceStatus; + /** + * Gets or sets the status message. + * @type {string} + * @memberof LiveTvServiceInfo + */ + statusMessage?: string | null; + /** + * Gets or sets the version. + * @type {string} + * @memberof LiveTvServiceInfo + */ + version?: string | null; + /** + * Gets or sets a value indicating whether this instance has update available. + * @type {boolean} + * @memberof LiveTvServiceInfo + */ + hasUpdateAvailable?: boolean; + /** + * Gets or sets a value indicating whether this instance is visible. + * @type {boolean} + * @memberof LiveTvServiceInfo + */ + isVisible?: boolean; + /** + * + * @type {Array} + * @memberof LiveTvServiceInfo + */ + tuners?: Array | null; +} + +/** + * Check if a given object implements the LiveTvServiceInfo interface. + */ +export function instanceOfLiveTvServiceInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function LiveTvServiceInfoFromJSON(json: any): LiveTvServiceInfo { + return LiveTvServiceInfoFromJSONTyped(json, false); +} + +export function LiveTvServiceInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): LiveTvServiceInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'homePageUrl': !exists(json, 'HomePageUrl') ? undefined : json['HomePageUrl'], + 'status': !exists(json, 'Status') ? undefined : LiveTvServiceStatusFromJSON(json['Status']), + 'statusMessage': !exists(json, 'StatusMessage') ? undefined : json['StatusMessage'], + 'version': !exists(json, 'Version') ? undefined : json['Version'], + 'hasUpdateAvailable': !exists(json, 'HasUpdateAvailable') ? undefined : json['HasUpdateAvailable'], + 'isVisible': !exists(json, 'IsVisible') ? undefined : json['IsVisible'], + 'tuners': !exists(json, 'Tuners') ? undefined : json['Tuners'], + }; +} + +export function LiveTvServiceInfoToJSON(value?: LiveTvServiceInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'HomePageUrl': value.homePageUrl, + 'Status': LiveTvServiceStatusToJSON(value.status), + 'StatusMessage': value.statusMessage, + 'Version': value.version, + 'HasUpdateAvailable': value.hasUpdateAvailable, + 'IsVisible': value.isVisible, + 'Tuners': value.tuners, + }; +} + diff --git a/server/jellyfin/models/LiveTvServiceStatus.ts b/server/jellyfin/models/LiveTvServiceStatus.ts new file mode 100644 index 0000000..9d5604a --- /dev/null +++ b/server/jellyfin/models/LiveTvServiceStatus.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const LiveTvServiceStatus = { + Ok: 'Ok', + Unavailable: 'Unavailable' +} as const; +export type LiveTvServiceStatus = typeof LiveTvServiceStatus[keyof typeof LiveTvServiceStatus]; + + +export function LiveTvServiceStatusFromJSON(json: any): LiveTvServiceStatus { + return LiveTvServiceStatusFromJSONTyped(json, false); +} + +export function LiveTvServiceStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): LiveTvServiceStatus { + return json as LiveTvServiceStatus; +} + +export function LiveTvServiceStatusToJSON(value?: LiveTvServiceStatus | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/LocalizationOption.ts b/server/jellyfin/models/LocalizationOption.ts new file mode 100644 index 0000000..5c1b824 --- /dev/null +++ b/server/jellyfin/models/LocalizationOption.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface LocalizationOption + */ +export interface LocalizationOption { + /** + * + * @type {string} + * @memberof LocalizationOption + */ + name?: string | null; + /** + * + * @type {string} + * @memberof LocalizationOption + */ + value?: string | null; +} + +/** + * Check if a given object implements the LocalizationOption interface. + */ +export function instanceOfLocalizationOption(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function LocalizationOptionFromJSON(json: any): LocalizationOption { + return LocalizationOptionFromJSONTyped(json, false); +} + +export function LocalizationOptionFromJSONTyped(json: any, ignoreDiscriminator: boolean): LocalizationOption { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'value': !exists(json, 'Value') ? undefined : json['Value'], + }; +} + +export function LocalizationOptionToJSON(value?: LocalizationOption | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Value': value.value, + }; +} + diff --git a/server/jellyfin/models/LocationType.ts b/server/jellyfin/models/LocationType.ts new file mode 100644 index 0000000..1808bce --- /dev/null +++ b/server/jellyfin/models/LocationType.ts @@ -0,0 +1,40 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Enum LocationType. + * @export + */ +export const LocationType = { + FileSystem: 'FileSystem', + Remote: 'Remote', + Virtual: 'Virtual', + Offline: 'Offline' +} as const; +export type LocationType = typeof LocationType[keyof typeof LocationType]; + + +export function LocationTypeFromJSON(json: any): LocationType { + return LocationTypeFromJSONTyped(json, false); +} + +export function LocationTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): LocationType { + return json as LocationType; +} + +export function LocationTypeToJSON(value?: LocationType | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/LogFile.ts b/server/jellyfin/models/LogFile.ts new file mode 100644 index 0000000..32ef5bf --- /dev/null +++ b/server/jellyfin/models/LogFile.ts @@ -0,0 +1,89 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface LogFile + */ +export interface LogFile { + /** + * Gets or sets the date created. + * @type {Date} + * @memberof LogFile + */ + dateCreated?: Date; + /** + * Gets or sets the date modified. + * @type {Date} + * @memberof LogFile + */ + dateModified?: Date; + /** + * Gets or sets the size. + * @type {number} + * @memberof LogFile + */ + size?: number; + /** + * Gets or sets the name. + * @type {string} + * @memberof LogFile + */ + name?: string | null; +} + +/** + * Check if a given object implements the LogFile interface. + */ +export function instanceOfLogFile(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function LogFileFromJSON(json: any): LogFile { + return LogFileFromJSONTyped(json, false); +} + +export function LogFileFromJSONTyped(json: any, ignoreDiscriminator: boolean): LogFile { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'dateCreated': !exists(json, 'DateCreated') ? undefined : (new Date(json['DateCreated'])), + 'dateModified': !exists(json, 'DateModified') ? undefined : (new Date(json['DateModified'])), + 'size': !exists(json, 'Size') ? undefined : json['Size'], + 'name': !exists(json, 'Name') ? undefined : json['Name'], + }; +} + +export function LogFileToJSON(value?: LogFile | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'DateCreated': value.dateCreated === undefined ? undefined : (value.dateCreated.toISOString()), + 'DateModified': value.dateModified === undefined ? undefined : (value.dateModified.toISOString()), + 'Size': value.size, + 'Name': value.name, + }; +} + diff --git a/server/jellyfin/models/LogLevel.ts b/server/jellyfin/models/LogLevel.ts new file mode 100644 index 0000000..e34ab94 --- /dev/null +++ b/server/jellyfin/models/LogLevel.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const LogLevel = { + Trace: 'Trace', + Debug: 'Debug', + Information: 'Information', + Warning: 'Warning', + Error: 'Error', + Critical: 'Critical', + None: 'None' +} as const; +export type LogLevel = typeof LogLevel[keyof typeof LogLevel]; + + +export function LogLevelFromJSON(json: any): LogLevel { + return LogLevelFromJSONTyped(json, false); +} + +export function LogLevelFromJSONTyped(json: any, ignoreDiscriminator: boolean): LogLevel { + return json as LogLevel; +} + +export function LogLevelToJSON(value?: LogLevel | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/MediaAttachment.ts b/server/jellyfin/models/MediaAttachment.ts new file mode 100644 index 0000000..30257f1 --- /dev/null +++ b/server/jellyfin/models/MediaAttachment.ts @@ -0,0 +1,113 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class MediaAttachment. + * @export + * @interface MediaAttachment + */ +export interface MediaAttachment { + /** + * Gets or sets the codec. + * @type {string} + * @memberof MediaAttachment + */ + codec?: string | null; + /** + * Gets or sets the codec tag. + * @type {string} + * @memberof MediaAttachment + */ + codecTag?: string | null; + /** + * Gets or sets the comment. + * @type {string} + * @memberof MediaAttachment + */ + comment?: string | null; + /** + * Gets or sets the index. + * @type {number} + * @memberof MediaAttachment + */ + index?: number; + /** + * Gets or sets the filename. + * @type {string} + * @memberof MediaAttachment + */ + fileName?: string | null; + /** + * Gets or sets the MIME type. + * @type {string} + * @memberof MediaAttachment + */ + mimeType?: string | null; + /** + * Gets or sets the delivery URL. + * @type {string} + * @memberof MediaAttachment + */ + deliveryUrl?: string | null; +} + +/** + * Check if a given object implements the MediaAttachment interface. + */ +export function instanceOfMediaAttachment(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function MediaAttachmentFromJSON(json: any): MediaAttachment { + return MediaAttachmentFromJSONTyped(json, false); +} + +export function MediaAttachmentFromJSONTyped(json: any, ignoreDiscriminator: boolean): MediaAttachment { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'codec': !exists(json, 'Codec') ? undefined : json['Codec'], + 'codecTag': !exists(json, 'CodecTag') ? undefined : json['CodecTag'], + 'comment': !exists(json, 'Comment') ? undefined : json['Comment'], + 'index': !exists(json, 'Index') ? undefined : json['Index'], + 'fileName': !exists(json, 'FileName') ? undefined : json['FileName'], + 'mimeType': !exists(json, 'MimeType') ? undefined : json['MimeType'], + 'deliveryUrl': !exists(json, 'DeliveryUrl') ? undefined : json['DeliveryUrl'], + }; +} + +export function MediaAttachmentToJSON(value?: MediaAttachment | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Codec': value.codec, + 'CodecTag': value.codecTag, + 'Comment': value.comment, + 'Index': value.index, + 'FileName': value.fileName, + 'MimeType': value.mimeType, + 'DeliveryUrl': value.deliveryUrl, + }; +} + diff --git a/server/jellyfin/models/MediaEncoderPathDto.ts b/server/jellyfin/models/MediaEncoderPathDto.ts new file mode 100644 index 0000000..e27bbe2 --- /dev/null +++ b/server/jellyfin/models/MediaEncoderPathDto.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Media Encoder Path Dto. + * @export + * @interface MediaEncoderPathDto + */ +export interface MediaEncoderPathDto { + /** + * Gets or sets media encoder path. + * @type {string} + * @memberof MediaEncoderPathDto + */ + path?: string; + /** + * Gets or sets media encoder path type. + * @type {string} + * @memberof MediaEncoderPathDto + */ + pathType?: string; +} + +/** + * Check if a given object implements the MediaEncoderPathDto interface. + */ +export function instanceOfMediaEncoderPathDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function MediaEncoderPathDtoFromJSON(json: any): MediaEncoderPathDto { + return MediaEncoderPathDtoFromJSONTyped(json, false); +} + +export function MediaEncoderPathDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): MediaEncoderPathDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'pathType': !exists(json, 'PathType') ? undefined : json['PathType'], + }; +} + +export function MediaEncoderPathDtoToJSON(value?: MediaEncoderPathDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Path': value.path, + 'PathType': value.pathType, + }; +} + diff --git a/server/jellyfin/models/MediaPathDto.ts b/server/jellyfin/models/MediaPathDto.ts new file mode 100644 index 0000000..cdfcbcc --- /dev/null +++ b/server/jellyfin/models/MediaPathDto.ts @@ -0,0 +1,89 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { MediaPathDtoPathInfo } from './MediaPathDtoPathInfo'; +import { + MediaPathDtoPathInfoFromJSON, + MediaPathDtoPathInfoFromJSONTyped, + MediaPathDtoPathInfoToJSON, +} from './MediaPathDtoPathInfo'; + +/** + * Media Path dto. + * @export + * @interface MediaPathDto + */ +export interface MediaPathDto { + /** + * Gets or sets the name of the library. + * @type {string} + * @memberof MediaPathDto + */ + name: string; + /** + * Gets or sets the path to add. + * @type {string} + * @memberof MediaPathDto + */ + path?: string | null; + /** + * + * @type {MediaPathDtoPathInfo} + * @memberof MediaPathDto + */ + pathInfo?: MediaPathDtoPathInfo | null; +} + +/** + * Check if a given object implements the MediaPathDto interface. + */ +export function instanceOfMediaPathDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "name" in value; + + return isInstance; +} + +export function MediaPathDtoFromJSON(json: any): MediaPathDto { + return MediaPathDtoFromJSONTyped(json, false); +} + +export function MediaPathDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): MediaPathDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': json['Name'], + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'pathInfo': !exists(json, 'PathInfo') ? undefined : MediaPathDtoPathInfoFromJSON(json['PathInfo']), + }; +} + +export function MediaPathDtoToJSON(value?: MediaPathDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Path': value.path, + 'PathInfo': MediaPathDtoPathInfoToJSON(value.pathInfo), + }; +} + diff --git a/server/jellyfin/models/MediaPathDtoPathInfo.ts b/server/jellyfin/models/MediaPathDtoPathInfo.ts new file mode 100644 index 0000000..5ffd496 --- /dev/null +++ b/server/jellyfin/models/MediaPathDtoPathInfo.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Gets or sets the path info. + * @export + * @interface MediaPathDtoPathInfo + */ +export interface MediaPathDtoPathInfo { + /** + * + * @type {string} + * @memberof MediaPathDtoPathInfo + */ + path?: string; + /** + * + * @type {string} + * @memberof MediaPathDtoPathInfo + */ + networkPath?: string | null; +} + +/** + * Check if a given object implements the MediaPathDtoPathInfo interface. + */ +export function instanceOfMediaPathDtoPathInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function MediaPathDtoPathInfoFromJSON(json: any): MediaPathDtoPathInfo { + return MediaPathDtoPathInfoFromJSONTyped(json, false); +} + +export function MediaPathDtoPathInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): MediaPathDtoPathInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'networkPath': !exists(json, 'NetworkPath') ? undefined : json['NetworkPath'], + }; +} + +export function MediaPathDtoPathInfoToJSON(value?: MediaPathDtoPathInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Path': value.path, + 'NetworkPath': value.networkPath, + }; +} + diff --git a/server/jellyfin/models/MediaPathInfo.ts b/server/jellyfin/models/MediaPathInfo.ts new file mode 100644 index 0000000..dc793af --- /dev/null +++ b/server/jellyfin/models/MediaPathInfo.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface MediaPathInfo + */ +export interface MediaPathInfo { + /** + * + * @type {string} + * @memberof MediaPathInfo + */ + path?: string; + /** + * + * @type {string} + * @memberof MediaPathInfo + */ + networkPath?: string | null; +} + +/** + * Check if a given object implements the MediaPathInfo interface. + */ +export function instanceOfMediaPathInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function MediaPathInfoFromJSON(json: any): MediaPathInfo { + return MediaPathInfoFromJSONTyped(json, false); +} + +export function MediaPathInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): MediaPathInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'networkPath': !exists(json, 'NetworkPath') ? undefined : json['NetworkPath'], + }; +} + +export function MediaPathInfoToJSON(value?: MediaPathInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Path': value.path, + 'NetworkPath': value.networkPath, + }; +} + diff --git a/server/jellyfin/models/MediaProtocol.ts b/server/jellyfin/models/MediaProtocol.ts new file mode 100644 index 0000000..a577d4c --- /dev/null +++ b/server/jellyfin/models/MediaProtocol.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const MediaProtocol = { + File: 'File', + Http: 'Http', + Rtmp: 'Rtmp', + Rtsp: 'Rtsp', + Udp: 'Udp', + Rtp: 'Rtp', + Ftp: 'Ftp' +} as const; +export type MediaProtocol = typeof MediaProtocol[keyof typeof MediaProtocol]; + + +export function MediaProtocolFromJSON(json: any): MediaProtocol { + return MediaProtocolFromJSONTyped(json, false); +} + +export function MediaProtocolFromJSONTyped(json: any, ignoreDiscriminator: boolean): MediaProtocol { + return json as MediaProtocol; +} + +export function MediaProtocolToJSON(value?: MediaProtocol | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/MediaSourceInfo.ts b/server/jellyfin/models/MediaSourceInfo.ts new file mode 100644 index 0000000..5fb0b8d --- /dev/null +++ b/server/jellyfin/models/MediaSourceInfo.ts @@ -0,0 +1,443 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { IsoType } from './IsoType'; +import { + IsoTypeFromJSON, + IsoTypeFromJSONTyped, + IsoTypeToJSON, +} from './IsoType'; +import type { MediaAttachment } from './MediaAttachment'; +import { + MediaAttachmentFromJSON, + MediaAttachmentFromJSONTyped, + MediaAttachmentToJSON, +} from './MediaAttachment'; +import type { MediaProtocol } from './MediaProtocol'; +import { + MediaProtocolFromJSON, + MediaProtocolFromJSONTyped, + MediaProtocolToJSON, +} from './MediaProtocol'; +import type { MediaSourceType } from './MediaSourceType'; +import { + MediaSourceTypeFromJSON, + MediaSourceTypeFromJSONTyped, + MediaSourceTypeToJSON, +} from './MediaSourceType'; +import type { MediaStream } from './MediaStream'; +import { + MediaStreamFromJSON, + MediaStreamFromJSONTyped, + MediaStreamToJSON, +} from './MediaStream'; +import type { TransportStreamTimestamp } from './TransportStreamTimestamp'; +import { + TransportStreamTimestampFromJSON, + TransportStreamTimestampFromJSONTyped, + TransportStreamTimestampToJSON, +} from './TransportStreamTimestamp'; +import type { Video3DFormat } from './Video3DFormat'; +import { + Video3DFormatFromJSON, + Video3DFormatFromJSONTyped, + Video3DFormatToJSON, +} from './Video3DFormat'; +import type { VideoType } from './VideoType'; +import { + VideoTypeFromJSON, + VideoTypeFromJSONTyped, + VideoTypeToJSON, +} from './VideoType'; + +/** + * + * @export + * @interface MediaSourceInfo + */ +export interface MediaSourceInfo { + /** + * + * @type {MediaProtocol} + * @memberof MediaSourceInfo + */ + protocol?: MediaProtocol; + /** + * + * @type {string} + * @memberof MediaSourceInfo + */ + id?: string | null; + /** + * + * @type {string} + * @memberof MediaSourceInfo + */ + path?: string | null; + /** + * + * @type {string} + * @memberof MediaSourceInfo + */ + encoderPath?: string | null; + /** + * + * @type {MediaProtocol} + * @memberof MediaSourceInfo + */ + encoderProtocol?: MediaProtocol | null; + /** + * + * @type {MediaSourceType} + * @memberof MediaSourceInfo + */ + type?: MediaSourceType; + /** + * + * @type {string} + * @memberof MediaSourceInfo + */ + container?: string | null; + /** + * + * @type {number} + * @memberof MediaSourceInfo + */ + size?: number | null; + /** + * + * @type {string} + * @memberof MediaSourceInfo + */ + name?: string | null; + /** + * Gets or sets a value indicating whether the media is remote. + * Differentiate internet url vs local network. + * @type {boolean} + * @memberof MediaSourceInfo + */ + isRemote?: boolean; + /** + * + * @type {string} + * @memberof MediaSourceInfo + */ + eTag?: string | null; + /** + * + * @type {number} + * @memberof MediaSourceInfo + */ + runTimeTicks?: number | null; + /** + * + * @type {boolean} + * @memberof MediaSourceInfo + */ + readAtNativeFramerate?: boolean; + /** + * + * @type {boolean} + * @memberof MediaSourceInfo + */ + ignoreDts?: boolean; + /** + * + * @type {boolean} + * @memberof MediaSourceInfo + */ + ignoreIndex?: boolean; + /** + * + * @type {boolean} + * @memberof MediaSourceInfo + */ + genPtsInput?: boolean; + /** + * + * @type {boolean} + * @memberof MediaSourceInfo + */ + supportsTranscoding?: boolean; + /** + * + * @type {boolean} + * @memberof MediaSourceInfo + */ + supportsDirectStream?: boolean; + /** + * + * @type {boolean} + * @memberof MediaSourceInfo + */ + supportsDirectPlay?: boolean; + /** + * + * @type {boolean} + * @memberof MediaSourceInfo + */ + isInfiniteStream?: boolean; + /** + * + * @type {boolean} + * @memberof MediaSourceInfo + */ + requiresOpening?: boolean; + /** + * + * @type {string} + * @memberof MediaSourceInfo + */ + openToken?: string | null; + /** + * + * @type {boolean} + * @memberof MediaSourceInfo + */ + requiresClosing?: boolean; + /** + * + * @type {string} + * @memberof MediaSourceInfo + */ + liveStreamId?: string | null; + /** + * + * @type {number} + * @memberof MediaSourceInfo + */ + bufferMs?: number | null; + /** + * + * @type {boolean} + * @memberof MediaSourceInfo + */ + requiresLooping?: boolean; + /** + * + * @type {boolean} + * @memberof MediaSourceInfo + */ + supportsProbing?: boolean; + /** + * + * @type {VideoType} + * @memberof MediaSourceInfo + */ + videoType?: VideoType | null; + /** + * + * @type {IsoType} + * @memberof MediaSourceInfo + */ + isoType?: IsoType | null; + /** + * + * @type {Video3DFormat} + * @memberof MediaSourceInfo + */ + video3DFormat?: Video3DFormat | null; + /** + * + * @type {Array} + * @memberof MediaSourceInfo + */ + mediaStreams?: Array | null; + /** + * + * @type {Array} + * @memberof MediaSourceInfo + */ + mediaAttachments?: Array | null; + /** + * + * @type {Array} + * @memberof MediaSourceInfo + */ + formats?: Array | null; + /** + * + * @type {number} + * @memberof MediaSourceInfo + */ + bitrate?: number | null; + /** + * + * @type {TransportStreamTimestamp} + * @memberof MediaSourceInfo + */ + timestamp?: TransportStreamTimestamp | null; + /** + * + * @type {{ [key: string]: string; }} + * @memberof MediaSourceInfo + */ + requiredHttpHeaders?: { [key: string]: string; } | null; + /** + * + * @type {string} + * @memberof MediaSourceInfo + */ + transcodingUrl?: string | null; + /** + * + * @type {string} + * @memberof MediaSourceInfo + */ + transcodingSubProtocol?: string | null; + /** + * + * @type {string} + * @memberof MediaSourceInfo + */ + transcodingContainer?: string | null; + /** + * + * @type {number} + * @memberof MediaSourceInfo + */ + analyzeDurationMs?: number | null; + /** + * + * @type {number} + * @memberof MediaSourceInfo + */ + defaultAudioStreamIndex?: number | null; + /** + * + * @type {number} + * @memberof MediaSourceInfo + */ + defaultSubtitleStreamIndex?: number | null; +} + +/** + * Check if a given object implements the MediaSourceInfo interface. + */ +export function instanceOfMediaSourceInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function MediaSourceInfoFromJSON(json: any): MediaSourceInfo { + return MediaSourceInfoFromJSONTyped(json, false); +} + +export function MediaSourceInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): MediaSourceInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'protocol': !exists(json, 'Protocol') ? undefined : MediaProtocolFromJSON(json['Protocol']), + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'encoderPath': !exists(json, 'EncoderPath') ? undefined : json['EncoderPath'], + 'encoderProtocol': !exists(json, 'EncoderProtocol') ? undefined : MediaProtocolFromJSON(json['EncoderProtocol']), + 'type': !exists(json, 'Type') ? undefined : MediaSourceTypeFromJSON(json['Type']), + 'container': !exists(json, 'Container') ? undefined : json['Container'], + 'size': !exists(json, 'Size') ? undefined : json['Size'], + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'isRemote': !exists(json, 'IsRemote') ? undefined : json['IsRemote'], + 'eTag': !exists(json, 'ETag') ? undefined : json['ETag'], + 'runTimeTicks': !exists(json, 'RunTimeTicks') ? undefined : json['RunTimeTicks'], + 'readAtNativeFramerate': !exists(json, 'ReadAtNativeFramerate') ? undefined : json['ReadAtNativeFramerate'], + 'ignoreDts': !exists(json, 'IgnoreDts') ? undefined : json['IgnoreDts'], + 'ignoreIndex': !exists(json, 'IgnoreIndex') ? undefined : json['IgnoreIndex'], + 'genPtsInput': !exists(json, 'GenPtsInput') ? undefined : json['GenPtsInput'], + 'supportsTranscoding': !exists(json, 'SupportsTranscoding') ? undefined : json['SupportsTranscoding'], + 'supportsDirectStream': !exists(json, 'SupportsDirectStream') ? undefined : json['SupportsDirectStream'], + 'supportsDirectPlay': !exists(json, 'SupportsDirectPlay') ? undefined : json['SupportsDirectPlay'], + 'isInfiniteStream': !exists(json, 'IsInfiniteStream') ? undefined : json['IsInfiniteStream'], + 'requiresOpening': !exists(json, 'RequiresOpening') ? undefined : json['RequiresOpening'], + 'openToken': !exists(json, 'OpenToken') ? undefined : json['OpenToken'], + 'requiresClosing': !exists(json, 'RequiresClosing') ? undefined : json['RequiresClosing'], + 'liveStreamId': !exists(json, 'LiveStreamId') ? undefined : json['LiveStreamId'], + 'bufferMs': !exists(json, 'BufferMs') ? undefined : json['BufferMs'], + 'requiresLooping': !exists(json, 'RequiresLooping') ? undefined : json['RequiresLooping'], + 'supportsProbing': !exists(json, 'SupportsProbing') ? undefined : json['SupportsProbing'], + 'videoType': !exists(json, 'VideoType') ? undefined : VideoTypeFromJSON(json['VideoType']), + 'isoType': !exists(json, 'IsoType') ? undefined : IsoTypeFromJSON(json['IsoType']), + 'video3DFormat': !exists(json, 'Video3DFormat') ? undefined : Video3DFormatFromJSON(json['Video3DFormat']), + 'mediaStreams': !exists(json, 'MediaStreams') ? undefined : (json['MediaStreams'] === null ? null : (json['MediaStreams'] as Array).map(MediaStreamFromJSON)), + 'mediaAttachments': !exists(json, 'MediaAttachments') ? undefined : (json['MediaAttachments'] === null ? null : (json['MediaAttachments'] as Array).map(MediaAttachmentFromJSON)), + 'formats': !exists(json, 'Formats') ? undefined : json['Formats'], + 'bitrate': !exists(json, 'Bitrate') ? undefined : json['Bitrate'], + 'timestamp': !exists(json, 'Timestamp') ? undefined : TransportStreamTimestampFromJSON(json['Timestamp']), + 'requiredHttpHeaders': !exists(json, 'RequiredHttpHeaders') ? undefined : json['RequiredHttpHeaders'], + 'transcodingUrl': !exists(json, 'TranscodingUrl') ? undefined : json['TranscodingUrl'], + 'transcodingSubProtocol': !exists(json, 'TranscodingSubProtocol') ? undefined : json['TranscodingSubProtocol'], + 'transcodingContainer': !exists(json, 'TranscodingContainer') ? undefined : json['TranscodingContainer'], + 'analyzeDurationMs': !exists(json, 'AnalyzeDurationMs') ? undefined : json['AnalyzeDurationMs'], + 'defaultAudioStreamIndex': !exists(json, 'DefaultAudioStreamIndex') ? undefined : json['DefaultAudioStreamIndex'], + 'defaultSubtitleStreamIndex': !exists(json, 'DefaultSubtitleStreamIndex') ? undefined : json['DefaultSubtitleStreamIndex'], + }; +} + +export function MediaSourceInfoToJSON(value?: MediaSourceInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Protocol': MediaProtocolToJSON(value.protocol), + 'Id': value.id, + 'Path': value.path, + 'EncoderPath': value.encoderPath, + 'EncoderProtocol': MediaProtocolToJSON(value.encoderProtocol), + 'Type': MediaSourceTypeToJSON(value.type), + 'Container': value.container, + 'Size': value.size, + 'Name': value.name, + 'IsRemote': value.isRemote, + 'ETag': value.eTag, + 'RunTimeTicks': value.runTimeTicks, + 'ReadAtNativeFramerate': value.readAtNativeFramerate, + 'IgnoreDts': value.ignoreDts, + 'IgnoreIndex': value.ignoreIndex, + 'GenPtsInput': value.genPtsInput, + 'SupportsTranscoding': value.supportsTranscoding, + 'SupportsDirectStream': value.supportsDirectStream, + 'SupportsDirectPlay': value.supportsDirectPlay, + 'IsInfiniteStream': value.isInfiniteStream, + 'RequiresOpening': value.requiresOpening, + 'OpenToken': value.openToken, + 'RequiresClosing': value.requiresClosing, + 'LiveStreamId': value.liveStreamId, + 'BufferMs': value.bufferMs, + 'RequiresLooping': value.requiresLooping, + 'SupportsProbing': value.supportsProbing, + 'VideoType': VideoTypeToJSON(value.videoType), + 'IsoType': IsoTypeToJSON(value.isoType), + 'Video3DFormat': Video3DFormatToJSON(value.video3DFormat), + 'MediaStreams': value.mediaStreams === undefined ? undefined : (value.mediaStreams === null ? null : (value.mediaStreams as Array).map(MediaStreamToJSON)), + 'MediaAttachments': value.mediaAttachments === undefined ? undefined : (value.mediaAttachments === null ? null : (value.mediaAttachments as Array).map(MediaAttachmentToJSON)), + 'Formats': value.formats, + 'Bitrate': value.bitrate, + 'Timestamp': TransportStreamTimestampToJSON(value.timestamp), + 'RequiredHttpHeaders': value.requiredHttpHeaders, + 'TranscodingUrl': value.transcodingUrl, + 'TranscodingSubProtocol': value.transcodingSubProtocol, + 'TranscodingContainer': value.transcodingContainer, + 'AnalyzeDurationMs': value.analyzeDurationMs, + 'DefaultAudioStreamIndex': value.defaultAudioStreamIndex, + 'DefaultSubtitleStreamIndex': value.defaultSubtitleStreamIndex, + }; +} + diff --git a/server/jellyfin/models/MediaSourceType.ts b/server/jellyfin/models/MediaSourceType.ts new file mode 100644 index 0000000..8582416 --- /dev/null +++ b/server/jellyfin/models/MediaSourceType.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const MediaSourceType = { + Default: 'Default', + Grouping: 'Grouping', + Placeholder: 'Placeholder' +} as const; +export type MediaSourceType = typeof MediaSourceType[keyof typeof MediaSourceType]; + + +export function MediaSourceTypeFromJSON(json: any): MediaSourceType { + return MediaSourceTypeFromJSONTyped(json, false); +} + +export function MediaSourceTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): MediaSourceType { + return json as MediaSourceType; +} + +export function MediaSourceTypeToJSON(value?: MediaSourceType | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/MediaStream.ts b/server/jellyfin/models/MediaStream.ts new file mode 100644 index 0000000..bbe99bd --- /dev/null +++ b/server/jellyfin/models/MediaStream.ts @@ -0,0 +1,529 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { MediaStreamType } from './MediaStreamType'; +import { + MediaStreamTypeFromJSON, + MediaStreamTypeFromJSONTyped, + MediaStreamTypeToJSON, +} from './MediaStreamType'; +import type { SubtitleDeliveryMethod } from './SubtitleDeliveryMethod'; +import { + SubtitleDeliveryMethodFromJSON, + SubtitleDeliveryMethodFromJSONTyped, + SubtitleDeliveryMethodToJSON, +} from './SubtitleDeliveryMethod'; + +/** + * Class MediaStream. + * @export + * @interface MediaStream + */ +export interface MediaStream { + /** + * Gets or sets the codec. + * @type {string} + * @memberof MediaStream + */ + codec?: string | null; + /** + * Gets or sets the codec tag. + * @type {string} + * @memberof MediaStream + */ + codecTag?: string | null; + /** + * Gets or sets the language. + * @type {string} + * @memberof MediaStream + */ + language?: string | null; + /** + * Gets or sets the color range. + * @type {string} + * @memberof MediaStream + */ + colorRange?: string | null; + /** + * Gets or sets the color space. + * @type {string} + * @memberof MediaStream + */ + colorSpace?: string | null; + /** + * Gets or sets the color transfer. + * @type {string} + * @memberof MediaStream + */ + colorTransfer?: string | null; + /** + * Gets or sets the color primaries. + * @type {string} + * @memberof MediaStream + */ + colorPrimaries?: string | null; + /** + * Gets or sets the Dolby Vision version major. + * @type {number} + * @memberof MediaStream + */ + dvVersionMajor?: number | null; + /** + * Gets or sets the Dolby Vision version minor. + * @type {number} + * @memberof MediaStream + */ + dvVersionMinor?: number | null; + /** + * Gets or sets the Dolby Vision profile. + * @type {number} + * @memberof MediaStream + */ + dvProfile?: number | null; + /** + * Gets or sets the Dolby Vision level. + * @type {number} + * @memberof MediaStream + */ + dvLevel?: number | null; + /** + * Gets or sets the Dolby Vision rpu present flag. + * @type {number} + * @memberof MediaStream + */ + rpuPresentFlag?: number | null; + /** + * Gets or sets the Dolby Vision el present flag. + * @type {number} + * @memberof MediaStream + */ + elPresentFlag?: number | null; + /** + * Gets or sets the Dolby Vision bl present flag. + * @type {number} + * @memberof MediaStream + */ + blPresentFlag?: number | null; + /** + * Gets or sets the Dolby Vision bl signal compatibility id. + * @type {number} + * @memberof MediaStream + */ + dvBlSignalCompatibilityId?: number | null; + /** + * Gets or sets the comment. + * @type {string} + * @memberof MediaStream + */ + comment?: string | null; + /** + * Gets or sets the time base. + * @type {string} + * @memberof MediaStream + */ + timeBase?: string | null; + /** + * Gets or sets the codec time base. + * @type {string} + * @memberof MediaStream + */ + codecTimeBase?: string | null; + /** + * Gets or sets the title. + * @type {string} + * @memberof MediaStream + */ + title?: string | null; + /** + * Gets the video range. + * @type {string} + * @memberof MediaStream + */ + readonly videoRange?: string | null; + /** + * Gets the video range type. + * @type {string} + * @memberof MediaStream + */ + readonly videoRangeType?: string | null; + /** + * Gets the video dovi title. + * @type {string} + * @memberof MediaStream + */ + readonly videoDoViTitle?: string | null; + /** + * + * @type {string} + * @memberof MediaStream + */ + localizedUndefined?: string | null; + /** + * + * @type {string} + * @memberof MediaStream + */ + localizedDefault?: string | null; + /** + * + * @type {string} + * @memberof MediaStream + */ + localizedForced?: string | null; + /** + * + * @type {string} + * @memberof MediaStream + */ + localizedExternal?: string | null; + /** + * + * @type {string} + * @memberof MediaStream + */ + readonly displayTitle?: string | null; + /** + * + * @type {string} + * @memberof MediaStream + */ + nalLengthSize?: string | null; + /** + * Gets or sets a value indicating whether this instance is interlaced. + * @type {boolean} + * @memberof MediaStream + */ + isInterlaced?: boolean; + /** + * + * @type {boolean} + * @memberof MediaStream + */ + isAVC?: boolean | null; + /** + * Gets or sets the channel layout. + * @type {string} + * @memberof MediaStream + */ + channelLayout?: string | null; + /** + * Gets or sets the bit rate. + * @type {number} + * @memberof MediaStream + */ + bitRate?: number | null; + /** + * Gets or sets the bit depth. + * @type {number} + * @memberof MediaStream + */ + bitDepth?: number | null; + /** + * Gets or sets the reference frames. + * @type {number} + * @memberof MediaStream + */ + refFrames?: number | null; + /** + * Gets or sets the length of the packet. + * @type {number} + * @memberof MediaStream + */ + packetLength?: number | null; + /** + * Gets or sets the channels. + * @type {number} + * @memberof MediaStream + */ + channels?: number | null; + /** + * Gets or sets the sample rate. + * @type {number} + * @memberof MediaStream + */ + sampleRate?: number | null; + /** + * Gets or sets a value indicating whether this instance is default. + * @type {boolean} + * @memberof MediaStream + */ + isDefault?: boolean; + /** + * Gets or sets a value indicating whether this instance is forced. + * @type {boolean} + * @memberof MediaStream + */ + isForced?: boolean; + /** + * Gets or sets the height. + * @type {number} + * @memberof MediaStream + */ + height?: number | null; + /** + * Gets or sets the width. + * @type {number} + * @memberof MediaStream + */ + width?: number | null; + /** + * Gets or sets the average frame rate. + * @type {number} + * @memberof MediaStream + */ + averageFrameRate?: number | null; + /** + * Gets or sets the real frame rate. + * @type {number} + * @memberof MediaStream + */ + realFrameRate?: number | null; + /** + * Gets or sets the profile. + * @type {string} + * @memberof MediaStream + */ + profile?: string | null; + /** + * + * @type {MediaStreamType} + * @memberof MediaStream + */ + type?: MediaStreamType; + /** + * Gets or sets the aspect ratio. + * @type {string} + * @memberof MediaStream + */ + aspectRatio?: string | null; + /** + * Gets or sets the index. + * @type {number} + * @memberof MediaStream + */ + index?: number; + /** + * Gets or sets the score. + * @type {number} + * @memberof MediaStream + */ + score?: number | null; + /** + * Gets or sets a value indicating whether this instance is external. + * @type {boolean} + * @memberof MediaStream + */ + isExternal?: boolean; + /** + * + * @type {SubtitleDeliveryMethod} + * @memberof MediaStream + */ + deliveryMethod?: SubtitleDeliveryMethod | null; + /** + * Gets or sets the delivery URL. + * @type {string} + * @memberof MediaStream + */ + deliveryUrl?: string | null; + /** + * Gets or sets a value indicating whether this instance is external URL. + * @type {boolean} + * @memberof MediaStream + */ + isExternalUrl?: boolean | null; + /** + * + * @type {boolean} + * @memberof MediaStream + */ + readonly isTextSubtitleStream?: boolean; + /** + * Gets or sets a value indicating whether [supports external stream]. + * @type {boolean} + * @memberof MediaStream + */ + supportsExternalStream?: boolean; + /** + * Gets or sets the filename. + * @type {string} + * @memberof MediaStream + */ + path?: string | null; + /** + * Gets or sets the pixel format. + * @type {string} + * @memberof MediaStream + */ + pixelFormat?: string | null; + /** + * Gets or sets the level. + * @type {number} + * @memberof MediaStream + */ + level?: number | null; + /** + * Gets or sets whether this instance is anamorphic. + * @type {boolean} + * @memberof MediaStream + */ + isAnamorphic?: boolean | null; +} + +/** + * Check if a given object implements the MediaStream interface. + */ +export function instanceOfMediaStream(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function MediaStreamFromJSON(json: any): MediaStream { + return MediaStreamFromJSONTyped(json, false); +} + +export function MediaStreamFromJSONTyped(json: any, ignoreDiscriminator: boolean): MediaStream { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'codec': !exists(json, 'Codec') ? undefined : json['Codec'], + 'codecTag': !exists(json, 'CodecTag') ? undefined : json['CodecTag'], + 'language': !exists(json, 'Language') ? undefined : json['Language'], + 'colorRange': !exists(json, 'ColorRange') ? undefined : json['ColorRange'], + 'colorSpace': !exists(json, 'ColorSpace') ? undefined : json['ColorSpace'], + 'colorTransfer': !exists(json, 'ColorTransfer') ? undefined : json['ColorTransfer'], + 'colorPrimaries': !exists(json, 'ColorPrimaries') ? undefined : json['ColorPrimaries'], + 'dvVersionMajor': !exists(json, 'DvVersionMajor') ? undefined : json['DvVersionMajor'], + 'dvVersionMinor': !exists(json, 'DvVersionMinor') ? undefined : json['DvVersionMinor'], + 'dvProfile': !exists(json, 'DvProfile') ? undefined : json['DvProfile'], + 'dvLevel': !exists(json, 'DvLevel') ? undefined : json['DvLevel'], + 'rpuPresentFlag': !exists(json, 'RpuPresentFlag') ? undefined : json['RpuPresentFlag'], + 'elPresentFlag': !exists(json, 'ElPresentFlag') ? undefined : json['ElPresentFlag'], + 'blPresentFlag': !exists(json, 'BlPresentFlag') ? undefined : json['BlPresentFlag'], + 'dvBlSignalCompatibilityId': !exists(json, 'DvBlSignalCompatibilityId') ? undefined : json['DvBlSignalCompatibilityId'], + 'comment': !exists(json, 'Comment') ? undefined : json['Comment'], + 'timeBase': !exists(json, 'TimeBase') ? undefined : json['TimeBase'], + 'codecTimeBase': !exists(json, 'CodecTimeBase') ? undefined : json['CodecTimeBase'], + 'title': !exists(json, 'Title') ? undefined : json['Title'], + 'videoRange': !exists(json, 'VideoRange') ? undefined : json['VideoRange'], + 'videoRangeType': !exists(json, 'VideoRangeType') ? undefined : json['VideoRangeType'], + 'videoDoViTitle': !exists(json, 'VideoDoViTitle') ? undefined : json['VideoDoViTitle'], + 'localizedUndefined': !exists(json, 'LocalizedUndefined') ? undefined : json['LocalizedUndefined'], + 'localizedDefault': !exists(json, 'LocalizedDefault') ? undefined : json['LocalizedDefault'], + 'localizedForced': !exists(json, 'LocalizedForced') ? undefined : json['LocalizedForced'], + 'localizedExternal': !exists(json, 'LocalizedExternal') ? undefined : json['LocalizedExternal'], + 'displayTitle': !exists(json, 'DisplayTitle') ? undefined : json['DisplayTitle'], + 'nalLengthSize': !exists(json, 'NalLengthSize') ? undefined : json['NalLengthSize'], + 'isInterlaced': !exists(json, 'IsInterlaced') ? undefined : json['IsInterlaced'], + 'isAVC': !exists(json, 'IsAVC') ? undefined : json['IsAVC'], + 'channelLayout': !exists(json, 'ChannelLayout') ? undefined : json['ChannelLayout'], + 'bitRate': !exists(json, 'BitRate') ? undefined : json['BitRate'], + 'bitDepth': !exists(json, 'BitDepth') ? undefined : json['BitDepth'], + 'refFrames': !exists(json, 'RefFrames') ? undefined : json['RefFrames'], + 'packetLength': !exists(json, 'PacketLength') ? undefined : json['PacketLength'], + 'channels': !exists(json, 'Channels') ? undefined : json['Channels'], + 'sampleRate': !exists(json, 'SampleRate') ? undefined : json['SampleRate'], + 'isDefault': !exists(json, 'IsDefault') ? undefined : json['IsDefault'], + 'isForced': !exists(json, 'IsForced') ? undefined : json['IsForced'], + 'height': !exists(json, 'Height') ? undefined : json['Height'], + 'width': !exists(json, 'Width') ? undefined : json['Width'], + 'averageFrameRate': !exists(json, 'AverageFrameRate') ? undefined : json['AverageFrameRate'], + 'realFrameRate': !exists(json, 'RealFrameRate') ? undefined : json['RealFrameRate'], + 'profile': !exists(json, 'Profile') ? undefined : json['Profile'], + 'type': !exists(json, 'Type') ? undefined : MediaStreamTypeFromJSON(json['Type']), + 'aspectRatio': !exists(json, 'AspectRatio') ? undefined : json['AspectRatio'], + 'index': !exists(json, 'Index') ? undefined : json['Index'], + 'score': !exists(json, 'Score') ? undefined : json['Score'], + 'isExternal': !exists(json, 'IsExternal') ? undefined : json['IsExternal'], + 'deliveryMethod': !exists(json, 'DeliveryMethod') ? undefined : SubtitleDeliveryMethodFromJSON(json['DeliveryMethod']), + 'deliveryUrl': !exists(json, 'DeliveryUrl') ? undefined : json['DeliveryUrl'], + 'isExternalUrl': !exists(json, 'IsExternalUrl') ? undefined : json['IsExternalUrl'], + 'isTextSubtitleStream': !exists(json, 'IsTextSubtitleStream') ? undefined : json['IsTextSubtitleStream'], + 'supportsExternalStream': !exists(json, 'SupportsExternalStream') ? undefined : json['SupportsExternalStream'], + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'pixelFormat': !exists(json, 'PixelFormat') ? undefined : json['PixelFormat'], + 'level': !exists(json, 'Level') ? undefined : json['Level'], + 'isAnamorphic': !exists(json, 'IsAnamorphic') ? undefined : json['IsAnamorphic'], + }; +} + +export function MediaStreamToJSON(value?: MediaStream | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Codec': value.codec, + 'CodecTag': value.codecTag, + 'Language': value.language, + 'ColorRange': value.colorRange, + 'ColorSpace': value.colorSpace, + 'ColorTransfer': value.colorTransfer, + 'ColorPrimaries': value.colorPrimaries, + 'DvVersionMajor': value.dvVersionMajor, + 'DvVersionMinor': value.dvVersionMinor, + 'DvProfile': value.dvProfile, + 'DvLevel': value.dvLevel, + 'RpuPresentFlag': value.rpuPresentFlag, + 'ElPresentFlag': value.elPresentFlag, + 'BlPresentFlag': value.blPresentFlag, + 'DvBlSignalCompatibilityId': value.dvBlSignalCompatibilityId, + 'Comment': value.comment, + 'TimeBase': value.timeBase, + 'CodecTimeBase': value.codecTimeBase, + 'Title': value.title, + 'LocalizedUndefined': value.localizedUndefined, + 'LocalizedDefault': value.localizedDefault, + 'LocalizedForced': value.localizedForced, + 'LocalizedExternal': value.localizedExternal, + 'NalLengthSize': value.nalLengthSize, + 'IsInterlaced': value.isInterlaced, + 'IsAVC': value.isAVC, + 'ChannelLayout': value.channelLayout, + 'BitRate': value.bitRate, + 'BitDepth': value.bitDepth, + 'RefFrames': value.refFrames, + 'PacketLength': value.packetLength, + 'Channels': value.channels, + 'SampleRate': value.sampleRate, + 'IsDefault': value.isDefault, + 'IsForced': value.isForced, + 'Height': value.height, + 'Width': value.width, + 'AverageFrameRate': value.averageFrameRate, + 'RealFrameRate': value.realFrameRate, + 'Profile': value.profile, + 'Type': MediaStreamTypeToJSON(value.type), + 'AspectRatio': value.aspectRatio, + 'Index': value.index, + 'Score': value.score, + 'IsExternal': value.isExternal, + 'DeliveryMethod': SubtitleDeliveryMethodToJSON(value.deliveryMethod), + 'DeliveryUrl': value.deliveryUrl, + 'IsExternalUrl': value.isExternalUrl, + 'SupportsExternalStream': value.supportsExternalStream, + 'Path': value.path, + 'PixelFormat': value.pixelFormat, + 'Level': value.level, + 'IsAnamorphic': value.isAnamorphic, + }; +} + diff --git a/server/jellyfin/models/MediaStreamType.ts b/server/jellyfin/models/MediaStreamType.ts new file mode 100644 index 0000000..1552204 --- /dev/null +++ b/server/jellyfin/models/MediaStreamType.ts @@ -0,0 +1,41 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Enum MediaStreamType. + * @export + */ +export const MediaStreamType = { + Audio: 'Audio', + Video: 'Video', + Subtitle: 'Subtitle', + EmbeddedImage: 'EmbeddedImage', + Data: 'Data' +} as const; +export type MediaStreamType = typeof MediaStreamType[keyof typeof MediaStreamType]; + + +export function MediaStreamTypeFromJSON(json: any): MediaStreamType { + return MediaStreamTypeFromJSONTyped(json, false); +} + +export function MediaStreamTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): MediaStreamType { + return json as MediaStreamType; +} + +export function MediaStreamTypeToJSON(value?: MediaStreamType | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/MediaUpdateInfoDto.ts b/server/jellyfin/models/MediaUpdateInfoDto.ts new file mode 100644 index 0000000..d4ffe75 --- /dev/null +++ b/server/jellyfin/models/MediaUpdateInfoDto.ts @@ -0,0 +1,72 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { MediaUpdateInfoPathDto } from './MediaUpdateInfoPathDto'; +import { + MediaUpdateInfoPathDtoFromJSON, + MediaUpdateInfoPathDtoFromJSONTyped, + MediaUpdateInfoPathDtoToJSON, +} from './MediaUpdateInfoPathDto'; + +/** + * Media Update Info Dto. + * @export + * @interface MediaUpdateInfoDto + */ +export interface MediaUpdateInfoDto { + /** + * Gets or sets the list of updates. + * @type {Array} + * @memberof MediaUpdateInfoDto + */ + updates?: Array; +} + +/** + * Check if a given object implements the MediaUpdateInfoDto interface. + */ +export function instanceOfMediaUpdateInfoDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function MediaUpdateInfoDtoFromJSON(json: any): MediaUpdateInfoDto { + return MediaUpdateInfoDtoFromJSONTyped(json, false); +} + +export function MediaUpdateInfoDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): MediaUpdateInfoDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'updates': !exists(json, 'Updates') ? undefined : ((json['Updates'] as Array).map(MediaUpdateInfoPathDtoFromJSON)), + }; +} + +export function MediaUpdateInfoDtoToJSON(value?: MediaUpdateInfoDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Updates': value.updates === undefined ? undefined : ((value.updates as Array).map(MediaUpdateInfoPathDtoToJSON)), + }; +} + diff --git a/server/jellyfin/models/MediaUpdateInfoPathDto.ts b/server/jellyfin/models/MediaUpdateInfoPathDto.ts new file mode 100644 index 0000000..f54a1a4 --- /dev/null +++ b/server/jellyfin/models/MediaUpdateInfoPathDto.ts @@ -0,0 +1,74 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * The media update info path. + * @export + * @interface MediaUpdateInfoPathDto + */ +export interface MediaUpdateInfoPathDto { + /** + * Gets or sets media path. + * @type {string} + * @memberof MediaUpdateInfoPathDto + */ + path?: string | null; + /** + * Gets or sets media update type. + * Created, Modified, Deleted. + * @type {string} + * @memberof MediaUpdateInfoPathDto + */ + updateType?: string | null; +} + +/** + * Check if a given object implements the MediaUpdateInfoPathDto interface. + */ +export function instanceOfMediaUpdateInfoPathDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function MediaUpdateInfoPathDtoFromJSON(json: any): MediaUpdateInfoPathDto { + return MediaUpdateInfoPathDtoFromJSONTyped(json, false); +} + +export function MediaUpdateInfoPathDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): MediaUpdateInfoPathDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'updateType': !exists(json, 'UpdateType') ? undefined : json['UpdateType'], + }; +} + +export function MediaUpdateInfoPathDtoToJSON(value?: MediaUpdateInfoPathDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Path': value.path, + 'UpdateType': value.updateType, + }; +} + diff --git a/server/jellyfin/models/MediaUrl.ts b/server/jellyfin/models/MediaUrl.ts new file mode 100644 index 0000000..1c2d0c7 --- /dev/null +++ b/server/jellyfin/models/MediaUrl.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface MediaUrl + */ +export interface MediaUrl { + /** + * + * @type {string} + * @memberof MediaUrl + */ + url?: string | null; + /** + * + * @type {string} + * @memberof MediaUrl + */ + name?: string | null; +} + +/** + * Check if a given object implements the MediaUrl interface. + */ +export function instanceOfMediaUrl(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function MediaUrlFromJSON(json: any): MediaUrl { + return MediaUrlFromJSONTyped(json, false); +} + +export function MediaUrlFromJSONTyped(json: any, ignoreDiscriminator: boolean): MediaUrl { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'url': !exists(json, 'Url') ? undefined : json['Url'], + 'name': !exists(json, 'Name') ? undefined : json['Name'], + }; +} + +export function MediaUrlToJSON(value?: MediaUrl | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Url': value.url, + 'Name': value.name, + }; +} + diff --git a/server/jellyfin/models/MessageCommand.ts b/server/jellyfin/models/MessageCommand.ts new file mode 100644 index 0000000..e646a52 --- /dev/null +++ b/server/jellyfin/models/MessageCommand.ts @@ -0,0 +1,82 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface MessageCommand + */ +export interface MessageCommand { + /** + * + * @type {string} + * @memberof MessageCommand + */ + header?: string | null; + /** + * + * @type {string} + * @memberof MessageCommand + */ + text: string; + /** + * + * @type {number} + * @memberof MessageCommand + */ + timeoutMs?: number | null; +} + +/** + * Check if a given object implements the MessageCommand interface. + */ +export function instanceOfMessageCommand(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "text" in value; + + return isInstance; +} + +export function MessageCommandFromJSON(json: any): MessageCommand { + return MessageCommandFromJSONTyped(json, false); +} + +export function MessageCommandFromJSONTyped(json: any, ignoreDiscriminator: boolean): MessageCommand { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'header': !exists(json, 'Header') ? undefined : json['Header'], + 'text': json['Text'], + 'timeoutMs': !exists(json, 'TimeoutMs') ? undefined : json['TimeoutMs'], + }; +} + +export function MessageCommandToJSON(value?: MessageCommand | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Header': value.header, + 'Text': value.text, + 'TimeoutMs': value.timeoutMs, + }; +} + diff --git a/server/jellyfin/models/MetadataConfiguration.ts b/server/jellyfin/models/MetadataConfiguration.ts new file mode 100644 index 0000000..f61eba5 --- /dev/null +++ b/server/jellyfin/models/MetadataConfiguration.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface MetadataConfiguration + */ +export interface MetadataConfiguration { + /** + * + * @type {boolean} + * @memberof MetadataConfiguration + */ + useFileCreationTimeForDateAdded?: boolean; +} + +/** + * Check if a given object implements the MetadataConfiguration interface. + */ +export function instanceOfMetadataConfiguration(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function MetadataConfigurationFromJSON(json: any): MetadataConfiguration { + return MetadataConfigurationFromJSONTyped(json, false); +} + +export function MetadataConfigurationFromJSONTyped(json: any, ignoreDiscriminator: boolean): MetadataConfiguration { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'useFileCreationTimeForDateAdded': !exists(json, 'UseFileCreationTimeForDateAdded') ? undefined : json['UseFileCreationTimeForDateAdded'], + }; +} + +export function MetadataConfigurationToJSON(value?: MetadataConfiguration | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'UseFileCreationTimeForDateAdded': value.useFileCreationTimeForDateAdded, + }; +} + diff --git a/server/jellyfin/models/MetadataEditorInfo.ts b/server/jellyfin/models/MetadataEditorInfo.ts new file mode 100644 index 0000000..cf2f6b9 --- /dev/null +++ b/server/jellyfin/models/MetadataEditorInfo.ts @@ -0,0 +1,136 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { CountryInfo } from './CountryInfo'; +import { + CountryInfoFromJSON, + CountryInfoFromJSONTyped, + CountryInfoToJSON, +} from './CountryInfo'; +import type { CultureDto } from './CultureDto'; +import { + CultureDtoFromJSON, + CultureDtoFromJSONTyped, + CultureDtoToJSON, +} from './CultureDto'; +import type { ExternalIdInfo } from './ExternalIdInfo'; +import { + ExternalIdInfoFromJSON, + ExternalIdInfoFromJSONTyped, + ExternalIdInfoToJSON, +} from './ExternalIdInfo'; +import type { NameValuePair } from './NameValuePair'; +import { + NameValuePairFromJSON, + NameValuePairFromJSONTyped, + NameValuePairToJSON, +} from './NameValuePair'; +import type { ParentalRating } from './ParentalRating'; +import { + ParentalRatingFromJSON, + ParentalRatingFromJSONTyped, + ParentalRatingToJSON, +} from './ParentalRating'; + +/** + * + * @export + * @interface MetadataEditorInfo + */ +export interface MetadataEditorInfo { + /** + * + * @type {Array} + * @memberof MetadataEditorInfo + */ + parentalRatingOptions?: Array; + /** + * + * @type {Array} + * @memberof MetadataEditorInfo + */ + countries?: Array; + /** + * + * @type {Array} + * @memberof MetadataEditorInfo + */ + cultures?: Array; + /** + * + * @type {Array} + * @memberof MetadataEditorInfo + */ + externalIdInfos?: Array; + /** + * + * @type {string} + * @memberof MetadataEditorInfo + */ + contentType?: string | null; + /** + * + * @type {Array} + * @memberof MetadataEditorInfo + */ + contentTypeOptions?: Array; +} + +/** + * Check if a given object implements the MetadataEditorInfo interface. + */ +export function instanceOfMetadataEditorInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function MetadataEditorInfoFromJSON(json: any): MetadataEditorInfo { + return MetadataEditorInfoFromJSONTyped(json, false); +} + +export function MetadataEditorInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): MetadataEditorInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'parentalRatingOptions': !exists(json, 'ParentalRatingOptions') ? undefined : ((json['ParentalRatingOptions'] as Array).map(ParentalRatingFromJSON)), + 'countries': !exists(json, 'Countries') ? undefined : ((json['Countries'] as Array).map(CountryInfoFromJSON)), + 'cultures': !exists(json, 'Cultures') ? undefined : ((json['Cultures'] as Array).map(CultureDtoFromJSON)), + 'externalIdInfos': !exists(json, 'ExternalIdInfos') ? undefined : ((json['ExternalIdInfos'] as Array).map(ExternalIdInfoFromJSON)), + 'contentType': !exists(json, 'ContentType') ? undefined : json['ContentType'], + 'contentTypeOptions': !exists(json, 'ContentTypeOptions') ? undefined : ((json['ContentTypeOptions'] as Array).map(NameValuePairFromJSON)), + }; +} + +export function MetadataEditorInfoToJSON(value?: MetadataEditorInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'ParentalRatingOptions': value.parentalRatingOptions === undefined ? undefined : ((value.parentalRatingOptions as Array).map(ParentalRatingToJSON)), + 'Countries': value.countries === undefined ? undefined : ((value.countries as Array).map(CountryInfoToJSON)), + 'Cultures': value.cultures === undefined ? undefined : ((value.cultures as Array).map(CultureDtoToJSON)), + 'ExternalIdInfos': value.externalIdInfos === undefined ? undefined : ((value.externalIdInfos as Array).map(ExternalIdInfoToJSON)), + 'ContentType': value.contentType, + 'ContentTypeOptions': value.contentTypeOptions === undefined ? undefined : ((value.contentTypeOptions as Array).map(NameValuePairToJSON)), + }; +} + diff --git a/server/jellyfin/models/MetadataField.ts b/server/jellyfin/models/MetadataField.ts new file mode 100644 index 0000000..378a26a --- /dev/null +++ b/server/jellyfin/models/MetadataField.ts @@ -0,0 +1,45 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Enum MetadataFields. + * @export + */ +export const MetadataField = { + Cast: 'Cast', + Genres: 'Genres', + ProductionLocations: 'ProductionLocations', + Studios: 'Studios', + Tags: 'Tags', + Name: 'Name', + Overview: 'Overview', + Runtime: 'Runtime', + OfficialRating: 'OfficialRating' +} as const; +export type MetadataField = typeof MetadataField[keyof typeof MetadataField]; + + +export function MetadataFieldFromJSON(json: any): MetadataField { + return MetadataFieldFromJSONTyped(json, false); +} + +export function MetadataFieldFromJSONTyped(json: any, ignoreDiscriminator: boolean): MetadataField { + return json as MetadataField; +} + +export function MetadataFieldToJSON(value?: MetadataField | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/MetadataOptions.ts b/server/jellyfin/models/MetadataOptions.ts new file mode 100644 index 0000000..6be10b6 --- /dev/null +++ b/server/jellyfin/models/MetadataOptions.ts @@ -0,0 +1,113 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class MetadataOptions. + * @export + * @interface MetadataOptions + */ +export interface MetadataOptions { + /** + * + * @type {string} + * @memberof MetadataOptions + */ + itemType?: string | null; + /** + * + * @type {Array} + * @memberof MetadataOptions + */ + disabledMetadataSavers?: Array | null; + /** + * + * @type {Array} + * @memberof MetadataOptions + */ + localMetadataReaderOrder?: Array | null; + /** + * + * @type {Array} + * @memberof MetadataOptions + */ + disabledMetadataFetchers?: Array | null; + /** + * + * @type {Array} + * @memberof MetadataOptions + */ + metadataFetcherOrder?: Array | null; + /** + * + * @type {Array} + * @memberof MetadataOptions + */ + disabledImageFetchers?: Array | null; + /** + * + * @type {Array} + * @memberof MetadataOptions + */ + imageFetcherOrder?: Array | null; +} + +/** + * Check if a given object implements the MetadataOptions interface. + */ +export function instanceOfMetadataOptions(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function MetadataOptionsFromJSON(json: any): MetadataOptions { + return MetadataOptionsFromJSONTyped(json, false); +} + +export function MetadataOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): MetadataOptions { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'itemType': !exists(json, 'ItemType') ? undefined : json['ItemType'], + 'disabledMetadataSavers': !exists(json, 'DisabledMetadataSavers') ? undefined : json['DisabledMetadataSavers'], + 'localMetadataReaderOrder': !exists(json, 'LocalMetadataReaderOrder') ? undefined : json['LocalMetadataReaderOrder'], + 'disabledMetadataFetchers': !exists(json, 'DisabledMetadataFetchers') ? undefined : json['DisabledMetadataFetchers'], + 'metadataFetcherOrder': !exists(json, 'MetadataFetcherOrder') ? undefined : json['MetadataFetcherOrder'], + 'disabledImageFetchers': !exists(json, 'DisabledImageFetchers') ? undefined : json['DisabledImageFetchers'], + 'imageFetcherOrder': !exists(json, 'ImageFetcherOrder') ? undefined : json['ImageFetcherOrder'], + }; +} + +export function MetadataOptionsToJSON(value?: MetadataOptions | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'ItemType': value.itemType, + 'DisabledMetadataSavers': value.disabledMetadataSavers, + 'LocalMetadataReaderOrder': value.localMetadataReaderOrder, + 'DisabledMetadataFetchers': value.disabledMetadataFetchers, + 'MetadataFetcherOrder': value.metadataFetcherOrder, + 'DisabledImageFetchers': value.disabledImageFetchers, + 'ImageFetcherOrder': value.imageFetcherOrder, + }; +} + diff --git a/server/jellyfin/models/MetadataRefreshMode.ts b/server/jellyfin/models/MetadataRefreshMode.ts new file mode 100644 index 0000000..be69312 --- /dev/null +++ b/server/jellyfin/models/MetadataRefreshMode.ts @@ -0,0 +1,40 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const MetadataRefreshMode = { + None: 'None', + ValidationOnly: 'ValidationOnly', + Default: 'Default', + FullRefresh: 'FullRefresh' +} as const; +export type MetadataRefreshMode = typeof MetadataRefreshMode[keyof typeof MetadataRefreshMode]; + + +export function MetadataRefreshModeFromJSON(json: any): MetadataRefreshMode { + return MetadataRefreshModeFromJSONTyped(json, false); +} + +export function MetadataRefreshModeFromJSONTyped(json: any, ignoreDiscriminator: boolean): MetadataRefreshMode { + return json as MetadataRefreshMode; +} + +export function MetadataRefreshModeToJSON(value?: MetadataRefreshMode | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/MovePlaylistItemRequestDto.ts b/server/jellyfin/models/MovePlaylistItemRequestDto.ts new file mode 100644 index 0000000..dc7e92c --- /dev/null +++ b/server/jellyfin/models/MovePlaylistItemRequestDto.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class MovePlaylistItemRequestDto. + * @export + * @interface MovePlaylistItemRequestDto + */ +export interface MovePlaylistItemRequestDto { + /** + * Gets or sets the playlist identifier of the item. + * @type {string} + * @memberof MovePlaylistItemRequestDto + */ + playlistItemId?: string; + /** + * Gets or sets the new position. + * @type {number} + * @memberof MovePlaylistItemRequestDto + */ + newIndex?: number; +} + +/** + * Check if a given object implements the MovePlaylistItemRequestDto interface. + */ +export function instanceOfMovePlaylistItemRequestDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function MovePlaylistItemRequestDtoFromJSON(json: any): MovePlaylistItemRequestDto { + return MovePlaylistItemRequestDtoFromJSONTyped(json, false); +} + +export function MovePlaylistItemRequestDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): MovePlaylistItemRequestDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + 'newIndex': !exists(json, 'NewIndex') ? undefined : json['NewIndex'], + }; +} + +export function MovePlaylistItemRequestDtoToJSON(value?: MovePlaylistItemRequestDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'PlaylistItemId': value.playlistItemId, + 'NewIndex': value.newIndex, + }; +} + diff --git a/server/jellyfin/models/MovieInfo.ts b/server/jellyfin/models/MovieInfo.ts new file mode 100644 index 0000000..7d3bc46 --- /dev/null +++ b/server/jellyfin/models/MovieInfo.ts @@ -0,0 +1,145 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface MovieInfo + */ +export interface MovieInfo { + /** + * Gets or sets the name. + * @type {string} + * @memberof MovieInfo + */ + name?: string | null; + /** + * Gets or sets the original title. + * @type {string} + * @memberof MovieInfo + */ + originalTitle?: string | null; + /** + * Gets or sets the path. + * @type {string} + * @memberof MovieInfo + */ + path?: string | null; + /** + * Gets or sets the metadata language. + * @type {string} + * @memberof MovieInfo + */ + metadataLanguage?: string | null; + /** + * Gets or sets the metadata country code. + * @type {string} + * @memberof MovieInfo + */ + metadataCountryCode?: string | null; + /** + * Gets or sets the provider ids. + * @type {{ [key: string]: string; }} + * @memberof MovieInfo + */ + providerIds?: { [key: string]: string; } | null; + /** + * Gets or sets the year. + * @type {number} + * @memberof MovieInfo + */ + year?: number | null; + /** + * + * @type {number} + * @memberof MovieInfo + */ + indexNumber?: number | null; + /** + * + * @type {number} + * @memberof MovieInfo + */ + parentIndexNumber?: number | null; + /** + * + * @type {Date} + * @memberof MovieInfo + */ + premiereDate?: Date | null; + /** + * + * @type {boolean} + * @memberof MovieInfo + */ + isAutomated?: boolean; +} + +/** + * Check if a given object implements the MovieInfo interface. + */ +export function instanceOfMovieInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function MovieInfoFromJSON(json: any): MovieInfo { + return MovieInfoFromJSONTyped(json, false); +} + +export function MovieInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): MovieInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'originalTitle': !exists(json, 'OriginalTitle') ? undefined : json['OriginalTitle'], + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'metadataLanguage': !exists(json, 'MetadataLanguage') ? undefined : json['MetadataLanguage'], + 'metadataCountryCode': !exists(json, 'MetadataCountryCode') ? undefined : json['MetadataCountryCode'], + 'providerIds': !exists(json, 'ProviderIds') ? undefined : json['ProviderIds'], + 'year': !exists(json, 'Year') ? undefined : json['Year'], + 'indexNumber': !exists(json, 'IndexNumber') ? undefined : json['IndexNumber'], + 'parentIndexNumber': !exists(json, 'ParentIndexNumber') ? undefined : json['ParentIndexNumber'], + 'premiereDate': !exists(json, 'PremiereDate') ? undefined : (json['PremiereDate'] === null ? null : new Date(json['PremiereDate'])), + 'isAutomated': !exists(json, 'IsAutomated') ? undefined : json['IsAutomated'], + }; +} + +export function MovieInfoToJSON(value?: MovieInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'OriginalTitle': value.originalTitle, + 'Path': value.path, + 'MetadataLanguage': value.metadataLanguage, + 'MetadataCountryCode': value.metadataCountryCode, + 'ProviderIds': value.providerIds, + 'Year': value.year, + 'IndexNumber': value.indexNumber, + 'ParentIndexNumber': value.parentIndexNumber, + 'PremiereDate': value.premiereDate === undefined ? undefined : (value.premiereDate === null ? null : value.premiereDate.toISOString()), + 'IsAutomated': value.isAutomated, + }; +} + diff --git a/server/jellyfin/models/MovieInfoRemoteSearchQuery.ts b/server/jellyfin/models/MovieInfoRemoteSearchQuery.ts new file mode 100644 index 0000000..30700a4 --- /dev/null +++ b/server/jellyfin/models/MovieInfoRemoteSearchQuery.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { MovieInfo } from './MovieInfo'; +import { + MovieInfoFromJSON, + MovieInfoFromJSONTyped, + MovieInfoToJSON, +} from './MovieInfo'; + +/** + * + * @export + * @interface MovieInfoRemoteSearchQuery + */ +export interface MovieInfoRemoteSearchQuery { + /** + * + * @type {MovieInfo} + * @memberof MovieInfoRemoteSearchQuery + */ + searchInfo?: MovieInfo | null; + /** + * + * @type {string} + * @memberof MovieInfoRemoteSearchQuery + */ + itemId?: string; + /** + * Gets or sets the provider name to search within if set. + * @type {string} + * @memberof MovieInfoRemoteSearchQuery + */ + searchProviderName?: string | null; + /** + * Gets or sets a value indicating whether disabled providers should be included. + * @type {boolean} + * @memberof MovieInfoRemoteSearchQuery + */ + includeDisabledProviders?: boolean; +} + +/** + * Check if a given object implements the MovieInfoRemoteSearchQuery interface. + */ +export function instanceOfMovieInfoRemoteSearchQuery(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function MovieInfoRemoteSearchQueryFromJSON(json: any): MovieInfoRemoteSearchQuery { + return MovieInfoRemoteSearchQueryFromJSONTyped(json, false); +} + +export function MovieInfoRemoteSearchQueryFromJSONTyped(json: any, ignoreDiscriminator: boolean): MovieInfoRemoteSearchQuery { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'searchInfo': !exists(json, 'SearchInfo') ? undefined : MovieInfoFromJSON(json['SearchInfo']), + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'searchProviderName': !exists(json, 'SearchProviderName') ? undefined : json['SearchProviderName'], + 'includeDisabledProviders': !exists(json, 'IncludeDisabledProviders') ? undefined : json['IncludeDisabledProviders'], + }; +} + +export function MovieInfoRemoteSearchQueryToJSON(value?: MovieInfoRemoteSearchQuery | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'SearchInfo': MovieInfoToJSON(value.searchInfo), + 'ItemId': value.itemId, + 'SearchProviderName': value.searchProviderName, + 'IncludeDisabledProviders': value.includeDisabledProviders, + }; +} + diff --git a/server/jellyfin/models/MusicVideoInfo.ts b/server/jellyfin/models/MusicVideoInfo.ts new file mode 100644 index 0000000..c473e0b --- /dev/null +++ b/server/jellyfin/models/MusicVideoInfo.ts @@ -0,0 +1,153 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface MusicVideoInfo + */ +export interface MusicVideoInfo { + /** + * Gets or sets the name. + * @type {string} + * @memberof MusicVideoInfo + */ + name?: string | null; + /** + * Gets or sets the original title. + * @type {string} + * @memberof MusicVideoInfo + */ + originalTitle?: string | null; + /** + * Gets or sets the path. + * @type {string} + * @memberof MusicVideoInfo + */ + path?: string | null; + /** + * Gets or sets the metadata language. + * @type {string} + * @memberof MusicVideoInfo + */ + metadataLanguage?: string | null; + /** + * Gets or sets the metadata country code. + * @type {string} + * @memberof MusicVideoInfo + */ + metadataCountryCode?: string | null; + /** + * Gets or sets the provider ids. + * @type {{ [key: string]: string; }} + * @memberof MusicVideoInfo + */ + providerIds?: { [key: string]: string; } | null; + /** + * Gets or sets the year. + * @type {number} + * @memberof MusicVideoInfo + */ + year?: number | null; + /** + * + * @type {number} + * @memberof MusicVideoInfo + */ + indexNumber?: number | null; + /** + * + * @type {number} + * @memberof MusicVideoInfo + */ + parentIndexNumber?: number | null; + /** + * + * @type {Date} + * @memberof MusicVideoInfo + */ + premiereDate?: Date | null; + /** + * + * @type {boolean} + * @memberof MusicVideoInfo + */ + isAutomated?: boolean; + /** + * + * @type {Array} + * @memberof MusicVideoInfo + */ + artists?: Array | null; +} + +/** + * Check if a given object implements the MusicVideoInfo interface. + */ +export function instanceOfMusicVideoInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function MusicVideoInfoFromJSON(json: any): MusicVideoInfo { + return MusicVideoInfoFromJSONTyped(json, false); +} + +export function MusicVideoInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): MusicVideoInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'originalTitle': !exists(json, 'OriginalTitle') ? undefined : json['OriginalTitle'], + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'metadataLanguage': !exists(json, 'MetadataLanguage') ? undefined : json['MetadataLanguage'], + 'metadataCountryCode': !exists(json, 'MetadataCountryCode') ? undefined : json['MetadataCountryCode'], + 'providerIds': !exists(json, 'ProviderIds') ? undefined : json['ProviderIds'], + 'year': !exists(json, 'Year') ? undefined : json['Year'], + 'indexNumber': !exists(json, 'IndexNumber') ? undefined : json['IndexNumber'], + 'parentIndexNumber': !exists(json, 'ParentIndexNumber') ? undefined : json['ParentIndexNumber'], + 'premiereDate': !exists(json, 'PremiereDate') ? undefined : (json['PremiereDate'] === null ? null : new Date(json['PremiereDate'])), + 'isAutomated': !exists(json, 'IsAutomated') ? undefined : json['IsAutomated'], + 'artists': !exists(json, 'Artists') ? undefined : json['Artists'], + }; +} + +export function MusicVideoInfoToJSON(value?: MusicVideoInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'OriginalTitle': value.originalTitle, + 'Path': value.path, + 'MetadataLanguage': value.metadataLanguage, + 'MetadataCountryCode': value.metadataCountryCode, + 'ProviderIds': value.providerIds, + 'Year': value.year, + 'IndexNumber': value.indexNumber, + 'ParentIndexNumber': value.parentIndexNumber, + 'PremiereDate': value.premiereDate === undefined ? undefined : (value.premiereDate === null ? null : value.premiereDate.toISOString()), + 'IsAutomated': value.isAutomated, + 'Artists': value.artists, + }; +} + diff --git a/server/jellyfin/models/MusicVideoInfoRemoteSearchQuery.ts b/server/jellyfin/models/MusicVideoInfoRemoteSearchQuery.ts new file mode 100644 index 0000000..2cc1877 --- /dev/null +++ b/server/jellyfin/models/MusicVideoInfoRemoteSearchQuery.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { MusicVideoInfo } from './MusicVideoInfo'; +import { + MusicVideoInfoFromJSON, + MusicVideoInfoFromJSONTyped, + MusicVideoInfoToJSON, +} from './MusicVideoInfo'; + +/** + * + * @export + * @interface MusicVideoInfoRemoteSearchQuery + */ +export interface MusicVideoInfoRemoteSearchQuery { + /** + * + * @type {MusicVideoInfo} + * @memberof MusicVideoInfoRemoteSearchQuery + */ + searchInfo?: MusicVideoInfo | null; + /** + * + * @type {string} + * @memberof MusicVideoInfoRemoteSearchQuery + */ + itemId?: string; + /** + * Gets or sets the provider name to search within if set. + * @type {string} + * @memberof MusicVideoInfoRemoteSearchQuery + */ + searchProviderName?: string | null; + /** + * Gets or sets a value indicating whether disabled providers should be included. + * @type {boolean} + * @memberof MusicVideoInfoRemoteSearchQuery + */ + includeDisabledProviders?: boolean; +} + +/** + * Check if a given object implements the MusicVideoInfoRemoteSearchQuery interface. + */ +export function instanceOfMusicVideoInfoRemoteSearchQuery(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function MusicVideoInfoRemoteSearchQueryFromJSON(json: any): MusicVideoInfoRemoteSearchQuery { + return MusicVideoInfoRemoteSearchQueryFromJSONTyped(json, false); +} + +export function MusicVideoInfoRemoteSearchQueryFromJSONTyped(json: any, ignoreDiscriminator: boolean): MusicVideoInfoRemoteSearchQuery { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'searchInfo': !exists(json, 'SearchInfo') ? undefined : MusicVideoInfoFromJSON(json['SearchInfo']), + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'searchProviderName': !exists(json, 'SearchProviderName') ? undefined : json['SearchProviderName'], + 'includeDisabledProviders': !exists(json, 'IncludeDisabledProviders') ? undefined : json['IncludeDisabledProviders'], + }; +} + +export function MusicVideoInfoRemoteSearchQueryToJSON(value?: MusicVideoInfoRemoteSearchQuery | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'SearchInfo': MusicVideoInfoToJSON(value.searchInfo), + 'ItemId': value.itemId, + 'SearchProviderName': value.searchProviderName, + 'IncludeDisabledProviders': value.includeDisabledProviders, + }; +} + diff --git a/server/jellyfin/models/NameGuidPair.ts b/server/jellyfin/models/NameGuidPair.ts new file mode 100644 index 0000000..c74ea83 --- /dev/null +++ b/server/jellyfin/models/NameGuidPair.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface NameGuidPair + */ +export interface NameGuidPair { + /** + * + * @type {string} + * @memberof NameGuidPair + */ + name?: string | null; + /** + * + * @type {string} + * @memberof NameGuidPair + */ + id?: string; +} + +/** + * Check if a given object implements the NameGuidPair interface. + */ +export function instanceOfNameGuidPair(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function NameGuidPairFromJSON(json: any): NameGuidPair { + return NameGuidPairFromJSONTyped(json, false); +} + +export function NameGuidPairFromJSONTyped(json: any, ignoreDiscriminator: boolean): NameGuidPair { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + }; +} + +export function NameGuidPairToJSON(value?: NameGuidPair | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Id': value.id, + }; +} + diff --git a/server/jellyfin/models/NameIdPair.ts b/server/jellyfin/models/NameIdPair.ts new file mode 100644 index 0000000..2ec6a44 --- /dev/null +++ b/server/jellyfin/models/NameIdPair.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface NameIdPair + */ +export interface NameIdPair { + /** + * Gets or sets the name. + * @type {string} + * @memberof NameIdPair + */ + name?: string | null; + /** + * Gets or sets the identifier. + * @type {string} + * @memberof NameIdPair + */ + id?: string | null; +} + +/** + * Check if a given object implements the NameIdPair interface. + */ +export function instanceOfNameIdPair(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function NameIdPairFromJSON(json: any): NameIdPair { + return NameIdPairFromJSONTyped(json, false); +} + +export function NameIdPairFromJSONTyped(json: any, ignoreDiscriminator: boolean): NameIdPair { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + }; +} + +export function NameIdPairToJSON(value?: NameIdPair | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Id': value.id, + }; +} + diff --git a/server/jellyfin/models/NameValuePair.ts b/server/jellyfin/models/NameValuePair.ts new file mode 100644 index 0000000..b0ad985 --- /dev/null +++ b/server/jellyfin/models/NameValuePair.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface NameValuePair + */ +export interface NameValuePair { + /** + * Gets or sets the name. + * @type {string} + * @memberof NameValuePair + */ + name?: string | null; + /** + * Gets or sets the value. + * @type {string} + * @memberof NameValuePair + */ + value?: string | null; +} + +/** + * Check if a given object implements the NameValuePair interface. + */ +export function instanceOfNameValuePair(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function NameValuePairFromJSON(json: any): NameValuePair { + return NameValuePairFromJSONTyped(json, false); +} + +export function NameValuePairFromJSONTyped(json: any, ignoreDiscriminator: boolean): NameValuePair { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'value': !exists(json, 'Value') ? undefined : json['Value'], + }; +} + +export function NameValuePairToJSON(value?: NameValuePair | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Value': value.value, + }; +} + diff --git a/server/jellyfin/models/NetworkConfiguration.ts b/server/jellyfin/models/NetworkConfiguration.ts new file mode 100644 index 0000000..b2b938a --- /dev/null +++ b/server/jellyfin/models/NetworkConfiguration.ts @@ -0,0 +1,333 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Defines the Jellyfin.Networking.Configuration.NetworkConfiguration. + * @export + * @interface NetworkConfiguration + */ +export interface NetworkConfiguration { + /** + * Gets or sets a value indicating whether the server should force connections over HTTPS. + * @type {boolean} + * @memberof NetworkConfiguration + */ + requireHttps?: boolean; + /** + * Gets or sets the filesystem path of an X.509 certificate to use for SSL. + * @type {string} + * @memberof NetworkConfiguration + */ + certificatePath?: string; + /** + * Gets or sets the password required to access the X.509 certificate data in the file specified by Jellyfin.Networking.Configuration.NetworkConfiguration.CertificatePath. + * @type {string} + * @memberof NetworkConfiguration + */ + certificatePassword?: string; + /** + * Gets or sets a value used to specify the URL prefix that your Jellyfin instance can be accessed at. + * @type {string} + * @memberof NetworkConfiguration + */ + baseUrl?: string; + /** + * Gets or sets the public HTTPS port. + * @type {number} + * @memberof NetworkConfiguration + */ + publicHttpsPort?: number; + /** + * Gets or sets the HTTP server port number. + * @type {number} + * @memberof NetworkConfiguration + */ + httpServerPortNumber?: number; + /** + * Gets or sets the HTTPS server port number. + * @type {number} + * @memberof NetworkConfiguration + */ + httpsPortNumber?: number; + /** + * Gets or sets a value indicating whether to use HTTPS. + * @type {boolean} + * @memberof NetworkConfiguration + */ + enableHttps?: boolean; + /** + * Gets or sets the public mapped port. + * @type {number} + * @memberof NetworkConfiguration + */ + publicPort?: number; + /** + * Gets or sets a value indicating whether the http port should be mapped as part of UPnP automatic port forwarding. + * @type {boolean} + * @memberof NetworkConfiguration + */ + uPnPCreateHttpPortMap?: boolean; + /** + * Gets or sets the UDPPortRange. + * @type {string} + * @memberof NetworkConfiguration + */ + uDPPortRange?: string; + /** + * Gets or sets a value indicating whether gets or sets IPV6 capability. + * @type {boolean} + * @memberof NetworkConfiguration + */ + enableIPV6?: boolean; + /** + * Gets or sets a value indicating whether gets or sets IPV4 capability. + * @type {boolean} + * @memberof NetworkConfiguration + */ + enableIPV4?: boolean; + /** + * Gets or sets a value indicating whether detailed SSDP logs are sent to the console/log. + * "Emby.Dlna": "Debug" must be set in logging.default.json for this property to have any effect. + * @type {boolean} + * @memberof NetworkConfiguration + */ + enableSSDPTracing?: boolean; + /** + * Gets or sets the SSDPTracingFilter + * Gets or sets a value indicating whether an IP address is to be used to filter the detailed ssdp logs that are being sent to the console/log. + * If the setting "Emby.Dlna": "Debug" msut be set in logging.default.json for this property to work. + * @type {string} + * @memberof NetworkConfiguration + */ + sSDPTracingFilter?: string; + /** + * Gets or sets the number of times SSDP UDP messages are sent. + * @type {number} + * @memberof NetworkConfiguration + */ + uDPSendCount?: number; + /** + * Gets or sets the delay between each groups of SSDP messages (in ms). + * @type {number} + * @memberof NetworkConfiguration + */ + uDPSendDelay?: number; + /** + * Gets or sets a value indicating whether address names that match Jellyfin.Networking.Configuration.NetworkConfiguration.VirtualInterfaceNames should be Ignore for the purposes of binding. + * @type {boolean} + * @memberof NetworkConfiguration + */ + ignoreVirtualInterfaces?: boolean; + /** + * Gets or sets a value indicating the interfaces that should be ignored. The list can be comma separated. . + * @type {string} + * @memberof NetworkConfiguration + */ + virtualInterfaceNames?: string; + /** + * Gets or sets the time (in seconds) between the pings of SSDP gateway monitor. + * @type {number} + * @memberof NetworkConfiguration + */ + gatewayMonitorPeriod?: number; + /** + * Gets a value indicating whether multi-socket binding is available. + * @type {boolean} + * @memberof NetworkConfiguration + */ + readonly enableMultiSocketBinding?: boolean; + /** + * Gets or sets a value indicating whether all IPv6 interfaces should be treated as on the internal network. + * Depending on the address range implemented ULA ranges might not be used. + * @type {boolean} + * @memberof NetworkConfiguration + */ + trustAllIP6Interfaces?: boolean; + /** + * Gets or sets the ports that HDHomerun uses. + * @type {string} + * @memberof NetworkConfiguration + */ + hDHomerunPortRange?: string; + /** + * Gets or sets the PublishedServerUriBySubnet + * Gets or sets PublishedServerUri to advertise for specific subnets. + * @type {Array} + * @memberof NetworkConfiguration + */ + publishedServerUriBySubnet?: Array; + /** + * Gets or sets a value indicating whether Autodiscovery tracing is enabled. + * @type {boolean} + * @memberof NetworkConfiguration + */ + autoDiscoveryTracing?: boolean; + /** + * Gets or sets a value indicating whether Autodiscovery is enabled. + * @type {boolean} + * @memberof NetworkConfiguration + */ + autoDiscovery?: boolean; + /** + * Gets or sets the filter for remote IP connectivity. Used in conjuntion with . + * @type {Array} + * @memberof NetworkConfiguration + */ + remoteIPFilter?: Array; + /** + * Gets or sets a value indicating whether contains a blacklist or a whitelist. Default is a whitelist. + * @type {boolean} + * @memberof NetworkConfiguration + */ + isRemoteIPFilterBlacklist?: boolean; + /** + * Gets or sets a value indicating whether to enable automatic port forwarding. + * @type {boolean} + * @memberof NetworkConfiguration + */ + enableUPnP?: boolean; + /** + * Gets or sets a value indicating whether access outside of the LAN is permitted. + * @type {boolean} + * @memberof NetworkConfiguration + */ + enableRemoteAccess?: boolean; + /** + * Gets or sets the subnets that are deemed to make up the LAN. + * @type {Array} + * @memberof NetworkConfiguration + */ + localNetworkSubnets?: Array; + /** + * Gets or sets the interface addresses which Jellyfin will bind to. If empty, all interfaces will be used. + * @type {Array} + * @memberof NetworkConfiguration + */ + localNetworkAddresses?: Array; + /** + * Gets or sets the known proxies. If the proxy is a network, it's added to the KnownNetworks. + * @type {Array} + * @memberof NetworkConfiguration + */ + knownProxies?: Array; + /** + * Gets or sets a value indicating whether the published server uri is based on information in HTTP requests. + * @type {boolean} + * @memberof NetworkConfiguration + */ + enablePublishedServerUriByRequest?: boolean; +} + +/** + * Check if a given object implements the NetworkConfiguration interface. + */ +export function instanceOfNetworkConfiguration(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function NetworkConfigurationFromJSON(json: any): NetworkConfiguration { + return NetworkConfigurationFromJSONTyped(json, false); +} + +export function NetworkConfigurationFromJSONTyped(json: any, ignoreDiscriminator: boolean): NetworkConfiguration { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'requireHttps': !exists(json, 'RequireHttps') ? undefined : json['RequireHttps'], + 'certificatePath': !exists(json, 'CertificatePath') ? undefined : json['CertificatePath'], + 'certificatePassword': !exists(json, 'CertificatePassword') ? undefined : json['CertificatePassword'], + 'baseUrl': !exists(json, 'BaseUrl') ? undefined : json['BaseUrl'], + 'publicHttpsPort': !exists(json, 'PublicHttpsPort') ? undefined : json['PublicHttpsPort'], + 'httpServerPortNumber': !exists(json, 'HttpServerPortNumber') ? undefined : json['HttpServerPortNumber'], + 'httpsPortNumber': !exists(json, 'HttpsPortNumber') ? undefined : json['HttpsPortNumber'], + 'enableHttps': !exists(json, 'EnableHttps') ? undefined : json['EnableHttps'], + 'publicPort': !exists(json, 'PublicPort') ? undefined : json['PublicPort'], + 'uPnPCreateHttpPortMap': !exists(json, 'UPnPCreateHttpPortMap') ? undefined : json['UPnPCreateHttpPortMap'], + 'uDPPortRange': !exists(json, 'UDPPortRange') ? undefined : json['UDPPortRange'], + 'enableIPV6': !exists(json, 'EnableIPV6') ? undefined : json['EnableIPV6'], + 'enableIPV4': !exists(json, 'EnableIPV4') ? undefined : json['EnableIPV4'], + 'enableSSDPTracing': !exists(json, 'EnableSSDPTracing') ? undefined : json['EnableSSDPTracing'], + 'sSDPTracingFilter': !exists(json, 'SSDPTracingFilter') ? undefined : json['SSDPTracingFilter'], + 'uDPSendCount': !exists(json, 'UDPSendCount') ? undefined : json['UDPSendCount'], + 'uDPSendDelay': !exists(json, 'UDPSendDelay') ? undefined : json['UDPSendDelay'], + 'ignoreVirtualInterfaces': !exists(json, 'IgnoreVirtualInterfaces') ? undefined : json['IgnoreVirtualInterfaces'], + 'virtualInterfaceNames': !exists(json, 'VirtualInterfaceNames') ? undefined : json['VirtualInterfaceNames'], + 'gatewayMonitorPeriod': !exists(json, 'GatewayMonitorPeriod') ? undefined : json['GatewayMonitorPeriod'], + 'enableMultiSocketBinding': !exists(json, 'EnableMultiSocketBinding') ? undefined : json['EnableMultiSocketBinding'], + 'trustAllIP6Interfaces': !exists(json, 'TrustAllIP6Interfaces') ? undefined : json['TrustAllIP6Interfaces'], + 'hDHomerunPortRange': !exists(json, 'HDHomerunPortRange') ? undefined : json['HDHomerunPortRange'], + 'publishedServerUriBySubnet': !exists(json, 'PublishedServerUriBySubnet') ? undefined : json['PublishedServerUriBySubnet'], + 'autoDiscoveryTracing': !exists(json, 'AutoDiscoveryTracing') ? undefined : json['AutoDiscoveryTracing'], + 'autoDiscovery': !exists(json, 'AutoDiscovery') ? undefined : json['AutoDiscovery'], + 'remoteIPFilter': !exists(json, 'RemoteIPFilter') ? undefined : json['RemoteIPFilter'], + 'isRemoteIPFilterBlacklist': !exists(json, 'IsRemoteIPFilterBlacklist') ? undefined : json['IsRemoteIPFilterBlacklist'], + 'enableUPnP': !exists(json, 'EnableUPnP') ? undefined : json['EnableUPnP'], + 'enableRemoteAccess': !exists(json, 'EnableRemoteAccess') ? undefined : json['EnableRemoteAccess'], + 'localNetworkSubnets': !exists(json, 'LocalNetworkSubnets') ? undefined : json['LocalNetworkSubnets'], + 'localNetworkAddresses': !exists(json, 'LocalNetworkAddresses') ? undefined : json['LocalNetworkAddresses'], + 'knownProxies': !exists(json, 'KnownProxies') ? undefined : json['KnownProxies'], + 'enablePublishedServerUriByRequest': !exists(json, 'EnablePublishedServerUriByRequest') ? undefined : json['EnablePublishedServerUriByRequest'], + }; +} + +export function NetworkConfigurationToJSON(value?: NetworkConfiguration | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'RequireHttps': value.requireHttps, + 'CertificatePath': value.certificatePath, + 'CertificatePassword': value.certificatePassword, + 'BaseUrl': value.baseUrl, + 'PublicHttpsPort': value.publicHttpsPort, + 'HttpServerPortNumber': value.httpServerPortNumber, + 'HttpsPortNumber': value.httpsPortNumber, + 'EnableHttps': value.enableHttps, + 'PublicPort': value.publicPort, + 'UPnPCreateHttpPortMap': value.uPnPCreateHttpPortMap, + 'UDPPortRange': value.uDPPortRange, + 'EnableIPV6': value.enableIPV6, + 'EnableIPV4': value.enableIPV4, + 'EnableSSDPTracing': value.enableSSDPTracing, + 'SSDPTracingFilter': value.sSDPTracingFilter, + 'UDPSendCount': value.uDPSendCount, + 'UDPSendDelay': value.uDPSendDelay, + 'IgnoreVirtualInterfaces': value.ignoreVirtualInterfaces, + 'VirtualInterfaceNames': value.virtualInterfaceNames, + 'GatewayMonitorPeriod': value.gatewayMonitorPeriod, + 'TrustAllIP6Interfaces': value.trustAllIP6Interfaces, + 'HDHomerunPortRange': value.hDHomerunPortRange, + 'PublishedServerUriBySubnet': value.publishedServerUriBySubnet, + 'AutoDiscoveryTracing': value.autoDiscoveryTracing, + 'AutoDiscovery': value.autoDiscovery, + 'RemoteIPFilter': value.remoteIPFilter, + 'IsRemoteIPFilterBlacklist': value.isRemoteIPFilterBlacklist, + 'EnableUPnP': value.enableUPnP, + 'EnableRemoteAccess': value.enableRemoteAccess, + 'LocalNetworkSubnets': value.localNetworkSubnets, + 'LocalNetworkAddresses': value.localNetworkAddresses, + 'KnownProxies': value.knownProxies, + 'EnablePublishedServerUriByRequest': value.enablePublishedServerUriByRequest, + }; +} + diff --git a/server/jellyfin/models/NewGroupRequestDto.ts b/server/jellyfin/models/NewGroupRequestDto.ts new file mode 100644 index 0000000..abf0847 --- /dev/null +++ b/server/jellyfin/models/NewGroupRequestDto.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class NewGroupRequestDto. + * @export + * @interface NewGroupRequestDto + */ +export interface NewGroupRequestDto { + /** + * Gets or sets the group name. + * @type {string} + * @memberof NewGroupRequestDto + */ + groupName?: string; +} + +/** + * Check if a given object implements the NewGroupRequestDto interface. + */ +export function instanceOfNewGroupRequestDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function NewGroupRequestDtoFromJSON(json: any): NewGroupRequestDto { + return NewGroupRequestDtoFromJSONTyped(json, false); +} + +export function NewGroupRequestDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): NewGroupRequestDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'groupName': !exists(json, 'GroupName') ? undefined : json['GroupName'], + }; +} + +export function NewGroupRequestDtoToJSON(value?: NewGroupRequestDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'GroupName': value.groupName, + }; +} + diff --git a/server/jellyfin/models/NextItemRequestDto.ts b/server/jellyfin/models/NextItemRequestDto.ts new file mode 100644 index 0000000..ee1011e --- /dev/null +++ b/server/jellyfin/models/NextItemRequestDto.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class NextItemRequestDto. + * @export + * @interface NextItemRequestDto + */ +export interface NextItemRequestDto { + /** + * Gets or sets the playing item identifier. + * @type {string} + * @memberof NextItemRequestDto + */ + playlistItemId?: string; +} + +/** + * Check if a given object implements the NextItemRequestDto interface. + */ +export function instanceOfNextItemRequestDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function NextItemRequestDtoFromJSON(json: any): NextItemRequestDto { + return NextItemRequestDtoFromJSONTyped(json, false); +} + +export function NextItemRequestDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): NextItemRequestDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + }; +} + +export function NextItemRequestDtoToJSON(value?: NextItemRequestDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'PlaylistItemId': value.playlistItemId, + }; +} + diff --git a/server/jellyfin/models/NotificationDto.ts b/server/jellyfin/models/NotificationDto.ts new file mode 100644 index 0000000..65078f6 --- /dev/null +++ b/server/jellyfin/models/NotificationDto.ts @@ -0,0 +1,128 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { NotificationLevel } from './NotificationLevel'; +import { + NotificationLevelFromJSON, + NotificationLevelFromJSONTyped, + NotificationLevelToJSON, +} from './NotificationLevel'; + +/** + * The notification DTO. + * @export + * @interface NotificationDto + */ +export interface NotificationDto { + /** + * Gets or sets the notification ID. Defaults to an empty string. + * @type {string} + * @memberof NotificationDto + */ + id?: string; + /** + * Gets or sets the notification's user ID. Defaults to an empty string. + * @type {string} + * @memberof NotificationDto + */ + userId?: string; + /** + * Gets or sets the notification date. + * @type {Date} + * @memberof NotificationDto + */ + date?: Date; + /** + * Gets or sets a value indicating whether the notification has been read. Defaults to false. + * @type {boolean} + * @memberof NotificationDto + */ + isRead?: boolean; + /** + * Gets or sets the notification's name. Defaults to an empty string. + * @type {string} + * @memberof NotificationDto + */ + name?: string; + /** + * Gets or sets the notification's description. Defaults to an empty string. + * @type {string} + * @memberof NotificationDto + */ + description?: string; + /** + * Gets or sets the notification's URL. Defaults to an empty string. + * @type {string} + * @memberof NotificationDto + */ + url?: string; + /** + * + * @type {NotificationLevel} + * @memberof NotificationDto + */ + level?: NotificationLevel; +} + +/** + * Check if a given object implements the NotificationDto interface. + */ +export function instanceOfNotificationDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function NotificationDtoFromJSON(json: any): NotificationDto { + return NotificationDtoFromJSONTyped(json, false); +} + +export function NotificationDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): NotificationDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'userId': !exists(json, 'UserId') ? undefined : json['UserId'], + 'date': !exists(json, 'Date') ? undefined : (new Date(json['Date'])), + 'isRead': !exists(json, 'IsRead') ? undefined : json['IsRead'], + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'description': !exists(json, 'Description') ? undefined : json['Description'], + 'url': !exists(json, 'Url') ? undefined : json['Url'], + 'level': !exists(json, 'Level') ? undefined : NotificationLevelFromJSON(json['Level']), + }; +} + +export function NotificationDtoToJSON(value?: NotificationDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Id': value.id, + 'UserId': value.userId, + 'Date': value.date === undefined ? undefined : (value.date.toISOString()), + 'IsRead': value.isRead, + 'Name': value.name, + 'Description': value.description, + 'Url': value.url, + 'Level': NotificationLevelToJSON(value.level), + }; +} + diff --git a/server/jellyfin/models/NotificationLevel.ts b/server/jellyfin/models/NotificationLevel.ts new file mode 100644 index 0000000..30935c2 --- /dev/null +++ b/server/jellyfin/models/NotificationLevel.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const NotificationLevel = { + Normal: 'Normal', + Warning: 'Warning', + Error: 'Error' +} as const; +export type NotificationLevel = typeof NotificationLevel[keyof typeof NotificationLevel]; + + +export function NotificationLevelFromJSON(json: any): NotificationLevel { + return NotificationLevelFromJSONTyped(json, false); +} + +export function NotificationLevelFromJSONTyped(json: any, ignoreDiscriminator: boolean): NotificationLevel { + return json as NotificationLevel; +} + +export function NotificationLevelToJSON(value?: NotificationLevel | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/NotificationOption.ts b/server/jellyfin/models/NotificationOption.ts new file mode 100644 index 0000000..13c2f77 --- /dev/null +++ b/server/jellyfin/models/NotificationOption.ts @@ -0,0 +1,112 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { SendToUserType } from './SendToUserType'; +import { + SendToUserTypeFromJSON, + SendToUserTypeFromJSONTyped, + SendToUserTypeToJSON, +} from './SendToUserType'; + +/** + * + * @export + * @interface NotificationOption + */ +export interface NotificationOption { + /** + * + * @type {string} + * @memberof NotificationOption + */ + type?: string | null; + /** + * Gets or sets user Ids to not monitor (it's opt out). + * @type {Array} + * @memberof NotificationOption + */ + disabledMonitorUsers?: Array; + /** + * Gets or sets user Ids to send to (if SendToUserMode == Custom). + * @type {Array} + * @memberof NotificationOption + */ + sendToUsers?: Array; + /** + * Gets or sets a value indicating whether this MediaBrowser.Model.Notifications.NotificationOption is enabled. + * @type {boolean} + * @memberof NotificationOption + */ + enabled?: boolean; + /** + * Gets or sets the disabled services. + * @type {Array} + * @memberof NotificationOption + */ + disabledServices?: Array; + /** + * + * @type {SendToUserType} + * @memberof NotificationOption + */ + sendToUserMode?: SendToUserType; +} + +/** + * Check if a given object implements the NotificationOption interface. + */ +export function instanceOfNotificationOption(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function NotificationOptionFromJSON(json: any): NotificationOption { + return NotificationOptionFromJSONTyped(json, false); +} + +export function NotificationOptionFromJSONTyped(json: any, ignoreDiscriminator: boolean): NotificationOption { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'type': !exists(json, 'Type') ? undefined : json['Type'], + 'disabledMonitorUsers': !exists(json, 'DisabledMonitorUsers') ? undefined : json['DisabledMonitorUsers'], + 'sendToUsers': !exists(json, 'SendToUsers') ? undefined : json['SendToUsers'], + 'enabled': !exists(json, 'Enabled') ? undefined : json['Enabled'], + 'disabledServices': !exists(json, 'DisabledServices') ? undefined : json['DisabledServices'], + 'sendToUserMode': !exists(json, 'SendToUserMode') ? undefined : SendToUserTypeFromJSON(json['SendToUserMode']), + }; +} + +export function NotificationOptionToJSON(value?: NotificationOption | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Type': value.type, + 'DisabledMonitorUsers': value.disabledMonitorUsers, + 'SendToUsers': value.sendToUsers, + 'Enabled': value.enabled, + 'DisabledServices': value.disabledServices, + 'SendToUserMode': SendToUserTypeToJSON(value.sendToUserMode), + }; +} + diff --git a/server/jellyfin/models/NotificationOptions.ts b/server/jellyfin/models/NotificationOptions.ts new file mode 100644 index 0000000..60de791 --- /dev/null +++ b/server/jellyfin/models/NotificationOptions.ts @@ -0,0 +1,72 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { NotificationOption } from './NotificationOption'; +import { + NotificationOptionFromJSON, + NotificationOptionFromJSONTyped, + NotificationOptionToJSON, +} from './NotificationOption'; + +/** + * + * @export + * @interface NotificationOptions + */ +export interface NotificationOptions { + /** + * + * @type {Array} + * @memberof NotificationOptions + */ + options?: Array | null; +} + +/** + * Check if a given object implements the NotificationOptions interface. + */ +export function instanceOfNotificationOptions(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function NotificationOptionsFromJSON(json: any): NotificationOptions { + return NotificationOptionsFromJSONTyped(json, false); +} + +export function NotificationOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): NotificationOptions { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'options': !exists(json, 'Options') ? undefined : (json['Options'] === null ? null : (json['Options'] as Array).map(NotificationOptionFromJSON)), + }; +} + +export function NotificationOptionsToJSON(value?: NotificationOptions | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Options': value.options === undefined ? undefined : (value.options === null ? null : (value.options as Array).map(NotificationOptionToJSON)), + }; +} + diff --git a/server/jellyfin/models/NotificationResultDto.ts b/server/jellyfin/models/NotificationResultDto.ts new file mode 100644 index 0000000..d9b0ce2 --- /dev/null +++ b/server/jellyfin/models/NotificationResultDto.ts @@ -0,0 +1,80 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { NotificationDto } from './NotificationDto'; +import { + NotificationDtoFromJSON, + NotificationDtoFromJSONTyped, + NotificationDtoToJSON, +} from './NotificationDto'; + +/** + * A list of notifications with the total record count for pagination. + * @export + * @interface NotificationResultDto + */ +export interface NotificationResultDto { + /** + * Gets or sets the current page of notifications. + * @type {Array} + * @memberof NotificationResultDto + */ + notifications?: Array; + /** + * Gets or sets the total number of notifications. + * @type {number} + * @memberof NotificationResultDto + */ + totalRecordCount?: number; +} + +/** + * Check if a given object implements the NotificationResultDto interface. + */ +export function instanceOfNotificationResultDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function NotificationResultDtoFromJSON(json: any): NotificationResultDto { + return NotificationResultDtoFromJSONTyped(json, false); +} + +export function NotificationResultDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): NotificationResultDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'notifications': !exists(json, 'Notifications') ? undefined : ((json['Notifications'] as Array).map(NotificationDtoFromJSON)), + 'totalRecordCount': !exists(json, 'TotalRecordCount') ? undefined : json['TotalRecordCount'], + }; +} + +export function NotificationResultDtoToJSON(value?: NotificationResultDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Notifications': value.notifications === undefined ? undefined : ((value.notifications as Array).map(NotificationDtoToJSON)), + 'TotalRecordCount': value.totalRecordCount, + }; +} + diff --git a/server/jellyfin/models/NotificationTypeInfo.ts b/server/jellyfin/models/NotificationTypeInfo.ts new file mode 100644 index 0000000..0098bb6 --- /dev/null +++ b/server/jellyfin/models/NotificationTypeInfo.ts @@ -0,0 +1,97 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface NotificationTypeInfo + */ +export interface NotificationTypeInfo { + /** + * + * @type {string} + * @memberof NotificationTypeInfo + */ + type?: string | null; + /** + * + * @type {string} + * @memberof NotificationTypeInfo + */ + name?: string | null; + /** + * + * @type {boolean} + * @memberof NotificationTypeInfo + */ + enabled?: boolean; + /** + * + * @type {string} + * @memberof NotificationTypeInfo + */ + category?: string | null; + /** + * + * @type {boolean} + * @memberof NotificationTypeInfo + */ + isBasedOnUserEvent?: boolean; +} + +/** + * Check if a given object implements the NotificationTypeInfo interface. + */ +export function instanceOfNotificationTypeInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function NotificationTypeInfoFromJSON(json: any): NotificationTypeInfo { + return NotificationTypeInfoFromJSONTyped(json, false); +} + +export function NotificationTypeInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): NotificationTypeInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'type': !exists(json, 'Type') ? undefined : json['Type'], + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'enabled': !exists(json, 'Enabled') ? undefined : json['Enabled'], + 'category': !exists(json, 'Category') ? undefined : json['Category'], + 'isBasedOnUserEvent': !exists(json, 'IsBasedOnUserEvent') ? undefined : json['IsBasedOnUserEvent'], + }; +} + +export function NotificationTypeInfoToJSON(value?: NotificationTypeInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Type': value.type, + 'Name': value.name, + 'Enabled': value.enabled, + 'Category': value.category, + 'IsBasedOnUserEvent': value.isBasedOnUserEvent, + }; +} + diff --git a/server/jellyfin/models/NotificationsSummaryDto.ts b/server/jellyfin/models/NotificationsSummaryDto.ts new file mode 100644 index 0000000..9981241 --- /dev/null +++ b/server/jellyfin/models/NotificationsSummaryDto.ts @@ -0,0 +1,80 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { NotificationLevel } from './NotificationLevel'; +import { + NotificationLevelFromJSON, + NotificationLevelFromJSONTyped, + NotificationLevelToJSON, +} from './NotificationLevel'; + +/** + * The notification summary DTO. + * @export + * @interface NotificationsSummaryDto + */ +export interface NotificationsSummaryDto { + /** + * Gets or sets the number of unread notifications. + * @type {number} + * @memberof NotificationsSummaryDto + */ + unreadCount?: number; + /** + * + * @type {NotificationLevel} + * @memberof NotificationsSummaryDto + */ + maxUnreadNotificationLevel?: NotificationLevel | null; +} + +/** + * Check if a given object implements the NotificationsSummaryDto interface. + */ +export function instanceOfNotificationsSummaryDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function NotificationsSummaryDtoFromJSON(json: any): NotificationsSummaryDto { + return NotificationsSummaryDtoFromJSONTyped(json, false); +} + +export function NotificationsSummaryDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): NotificationsSummaryDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'unreadCount': !exists(json, 'UnreadCount') ? undefined : json['UnreadCount'], + 'maxUnreadNotificationLevel': !exists(json, 'MaxUnreadNotificationLevel') ? undefined : NotificationLevelFromJSON(json['MaxUnreadNotificationLevel']), + }; +} + +export function NotificationsSummaryDtoToJSON(value?: NotificationsSummaryDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'UnreadCount': value.unreadCount, + 'MaxUnreadNotificationLevel': NotificationLevelToJSON(value.maxUnreadNotificationLevel), + }; +} + diff --git a/server/jellyfin/models/ObjectGroupUpdate.ts b/server/jellyfin/models/ObjectGroupUpdate.ts new file mode 100644 index 0000000..a9738ab --- /dev/null +++ b/server/jellyfin/models/ObjectGroupUpdate.ts @@ -0,0 +1,88 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { GroupUpdateType } from './GroupUpdateType'; +import { + GroupUpdateTypeFromJSON, + GroupUpdateTypeFromJSONTyped, + GroupUpdateTypeToJSON, +} from './GroupUpdateType'; + +/** + * Class GroupUpdate. + * @export + * @interface ObjectGroupUpdate + */ +export interface ObjectGroupUpdate { + /** + * Gets the group identifier. + * @type {string} + * @memberof ObjectGroupUpdate + */ + groupId?: string; + /** + * + * @type {GroupUpdateType} + * @memberof ObjectGroupUpdate + */ + type?: GroupUpdateType; + /** + * Gets the update data. + * @type {any} + * @memberof ObjectGroupUpdate + */ + data?: any | null; +} + +/** + * Check if a given object implements the ObjectGroupUpdate interface. + */ +export function instanceOfObjectGroupUpdate(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ObjectGroupUpdateFromJSON(json: any): ObjectGroupUpdate { + return ObjectGroupUpdateFromJSONTyped(json, false); +} + +export function ObjectGroupUpdateFromJSONTyped(json: any, ignoreDiscriminator: boolean): ObjectGroupUpdate { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'groupId': !exists(json, 'GroupId') ? undefined : json['GroupId'], + 'type': !exists(json, 'Type') ? undefined : GroupUpdateTypeFromJSON(json['Type']), + 'data': !exists(json, 'Data') ? undefined : json['Data'], + }; +} + +export function ObjectGroupUpdateToJSON(value?: ObjectGroupUpdate | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'GroupId': value.groupId, + 'Type': GroupUpdateTypeToJSON(value.type), + 'Data': value.data, + }; +} + diff --git a/server/jellyfin/models/OpenLiveStreamDto.ts b/server/jellyfin/models/OpenLiveStreamDto.ts new file mode 100644 index 0000000..d8d05af --- /dev/null +++ b/server/jellyfin/models/OpenLiveStreamDto.ts @@ -0,0 +1,174 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ClientCapabilitiesDtoDeviceProfile } from './ClientCapabilitiesDtoDeviceProfile'; +import { + ClientCapabilitiesDtoDeviceProfileFromJSON, + ClientCapabilitiesDtoDeviceProfileFromJSONTyped, + ClientCapabilitiesDtoDeviceProfileToJSON, +} from './ClientCapabilitiesDtoDeviceProfile'; +import type { MediaProtocol } from './MediaProtocol'; +import { + MediaProtocolFromJSON, + MediaProtocolFromJSONTyped, + MediaProtocolToJSON, +} from './MediaProtocol'; + +/** + * Open live stream dto. + * @export + * @interface OpenLiveStreamDto + */ +export interface OpenLiveStreamDto { + /** + * Gets or sets the open token. + * @type {string} + * @memberof OpenLiveStreamDto + */ + openToken?: string | null; + /** + * Gets or sets the user id. + * @type {string} + * @memberof OpenLiveStreamDto + */ + userId?: string | null; + /** + * Gets or sets the play session id. + * @type {string} + * @memberof OpenLiveStreamDto + */ + playSessionId?: string | null; + /** + * Gets or sets the max streaming bitrate. + * @type {number} + * @memberof OpenLiveStreamDto + */ + maxStreamingBitrate?: number | null; + /** + * Gets or sets the start time in ticks. + * @type {number} + * @memberof OpenLiveStreamDto + */ + startTimeTicks?: number | null; + /** + * Gets or sets the audio stream index. + * @type {number} + * @memberof OpenLiveStreamDto + */ + audioStreamIndex?: number | null; + /** + * Gets or sets the subtitle stream index. + * @type {number} + * @memberof OpenLiveStreamDto + */ + subtitleStreamIndex?: number | null; + /** + * Gets or sets the max audio channels. + * @type {number} + * @memberof OpenLiveStreamDto + */ + maxAudioChannels?: number | null; + /** + * Gets or sets the item id. + * @type {string} + * @memberof OpenLiveStreamDto + */ + itemId?: string | null; + /** + * Gets or sets a value indicating whether to enable direct play. + * @type {boolean} + * @memberof OpenLiveStreamDto + */ + enableDirectPlay?: boolean | null; + /** + * Gets or sets a value indicating whether to enale direct stream. + * @type {boolean} + * @memberof OpenLiveStreamDto + */ + enableDirectStream?: boolean | null; + /** + * + * @type {ClientCapabilitiesDtoDeviceProfile} + * @memberof OpenLiveStreamDto + */ + deviceProfile?: ClientCapabilitiesDtoDeviceProfile | null; + /** + * Gets or sets the device play protocols. + * @type {Array} + * @memberof OpenLiveStreamDto + */ + directPlayProtocols?: Array; +} + +/** + * Check if a given object implements the OpenLiveStreamDto interface. + */ +export function instanceOfOpenLiveStreamDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function OpenLiveStreamDtoFromJSON(json: any): OpenLiveStreamDto { + return OpenLiveStreamDtoFromJSONTyped(json, false); +} + +export function OpenLiveStreamDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): OpenLiveStreamDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'openToken': !exists(json, 'OpenToken') ? undefined : json['OpenToken'], + 'userId': !exists(json, 'UserId') ? undefined : json['UserId'], + 'playSessionId': !exists(json, 'PlaySessionId') ? undefined : json['PlaySessionId'], + 'maxStreamingBitrate': !exists(json, 'MaxStreamingBitrate') ? undefined : json['MaxStreamingBitrate'], + 'startTimeTicks': !exists(json, 'StartTimeTicks') ? undefined : json['StartTimeTicks'], + 'audioStreamIndex': !exists(json, 'AudioStreamIndex') ? undefined : json['AudioStreamIndex'], + 'subtitleStreamIndex': !exists(json, 'SubtitleStreamIndex') ? undefined : json['SubtitleStreamIndex'], + 'maxAudioChannels': !exists(json, 'MaxAudioChannels') ? undefined : json['MaxAudioChannels'], + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'enableDirectPlay': !exists(json, 'EnableDirectPlay') ? undefined : json['EnableDirectPlay'], + 'enableDirectStream': !exists(json, 'EnableDirectStream') ? undefined : json['EnableDirectStream'], + 'deviceProfile': !exists(json, 'DeviceProfile') ? undefined : ClientCapabilitiesDtoDeviceProfileFromJSON(json['DeviceProfile']), + 'directPlayProtocols': !exists(json, 'DirectPlayProtocols') ? undefined : ((json['DirectPlayProtocols'] as Array).map(MediaProtocolFromJSON)), + }; +} + +export function OpenLiveStreamDtoToJSON(value?: OpenLiveStreamDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'OpenToken': value.openToken, + 'UserId': value.userId, + 'PlaySessionId': value.playSessionId, + 'MaxStreamingBitrate': value.maxStreamingBitrate, + 'StartTimeTicks': value.startTimeTicks, + 'AudioStreamIndex': value.audioStreamIndex, + 'SubtitleStreamIndex': value.subtitleStreamIndex, + 'MaxAudioChannels': value.maxAudioChannels, + 'ItemId': value.itemId, + 'EnableDirectPlay': value.enableDirectPlay, + 'EnableDirectStream': value.enableDirectStream, + 'DeviceProfile': ClientCapabilitiesDtoDeviceProfileToJSON(value.deviceProfile), + 'DirectPlayProtocols': value.directPlayProtocols === undefined ? undefined : ((value.directPlayProtocols as Array).map(MediaProtocolToJSON)), + }; +} + diff --git a/server/jellyfin/models/OpenLiveStreamRequest.ts b/server/jellyfin/models/OpenLiveStreamRequest.ts new file mode 100644 index 0000000..bae08b8 --- /dev/null +++ b/server/jellyfin/models/OpenLiveStreamRequest.ts @@ -0,0 +1,174 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ClientCapabilitiesDtoDeviceProfile } from './ClientCapabilitiesDtoDeviceProfile'; +import { + ClientCapabilitiesDtoDeviceProfileFromJSON, + ClientCapabilitiesDtoDeviceProfileFromJSONTyped, + ClientCapabilitiesDtoDeviceProfileToJSON, +} from './ClientCapabilitiesDtoDeviceProfile'; +import type { MediaProtocol } from './MediaProtocol'; +import { + MediaProtocolFromJSON, + MediaProtocolFromJSONTyped, + MediaProtocolToJSON, +} from './MediaProtocol'; + +/** + * Open live stream dto. + * @export + * @interface OpenLiveStreamRequest + */ +export interface OpenLiveStreamRequest { + /** + * Gets or sets the open token. + * @type {string} + * @memberof OpenLiveStreamRequest + */ + openToken?: string | null; + /** + * Gets or sets the user id. + * @type {string} + * @memberof OpenLiveStreamRequest + */ + userId?: string | null; + /** + * Gets or sets the play session id. + * @type {string} + * @memberof OpenLiveStreamRequest + */ + playSessionId?: string | null; + /** + * Gets or sets the max streaming bitrate. + * @type {number} + * @memberof OpenLiveStreamRequest + */ + maxStreamingBitrate?: number | null; + /** + * Gets or sets the start time in ticks. + * @type {number} + * @memberof OpenLiveStreamRequest + */ + startTimeTicks?: number | null; + /** + * Gets or sets the audio stream index. + * @type {number} + * @memberof OpenLiveStreamRequest + */ + audioStreamIndex?: number | null; + /** + * Gets or sets the subtitle stream index. + * @type {number} + * @memberof OpenLiveStreamRequest + */ + subtitleStreamIndex?: number | null; + /** + * Gets or sets the max audio channels. + * @type {number} + * @memberof OpenLiveStreamRequest + */ + maxAudioChannels?: number | null; + /** + * Gets or sets the item id. + * @type {string} + * @memberof OpenLiveStreamRequest + */ + itemId?: string | null; + /** + * Gets or sets a value indicating whether to enable direct play. + * @type {boolean} + * @memberof OpenLiveStreamRequest + */ + enableDirectPlay?: boolean | null; + /** + * Gets or sets a value indicating whether to enale direct stream. + * @type {boolean} + * @memberof OpenLiveStreamRequest + */ + enableDirectStream?: boolean | null; + /** + * + * @type {ClientCapabilitiesDtoDeviceProfile} + * @memberof OpenLiveStreamRequest + */ + deviceProfile?: ClientCapabilitiesDtoDeviceProfile | null; + /** + * Gets or sets the device play protocols. + * @type {Array} + * @memberof OpenLiveStreamRequest + */ + directPlayProtocols?: Array; +} + +/** + * Check if a given object implements the OpenLiveStreamRequest interface. + */ +export function instanceOfOpenLiveStreamRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function OpenLiveStreamRequestFromJSON(json: any): OpenLiveStreamRequest { + return OpenLiveStreamRequestFromJSONTyped(json, false); +} + +export function OpenLiveStreamRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): OpenLiveStreamRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'openToken': !exists(json, 'OpenToken') ? undefined : json['OpenToken'], + 'userId': !exists(json, 'UserId') ? undefined : json['UserId'], + 'playSessionId': !exists(json, 'PlaySessionId') ? undefined : json['PlaySessionId'], + 'maxStreamingBitrate': !exists(json, 'MaxStreamingBitrate') ? undefined : json['MaxStreamingBitrate'], + 'startTimeTicks': !exists(json, 'StartTimeTicks') ? undefined : json['StartTimeTicks'], + 'audioStreamIndex': !exists(json, 'AudioStreamIndex') ? undefined : json['AudioStreamIndex'], + 'subtitleStreamIndex': !exists(json, 'SubtitleStreamIndex') ? undefined : json['SubtitleStreamIndex'], + 'maxAudioChannels': !exists(json, 'MaxAudioChannels') ? undefined : json['MaxAudioChannels'], + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'enableDirectPlay': !exists(json, 'EnableDirectPlay') ? undefined : json['EnableDirectPlay'], + 'enableDirectStream': !exists(json, 'EnableDirectStream') ? undefined : json['EnableDirectStream'], + 'deviceProfile': !exists(json, 'DeviceProfile') ? undefined : ClientCapabilitiesDtoDeviceProfileFromJSON(json['DeviceProfile']), + 'directPlayProtocols': !exists(json, 'DirectPlayProtocols') ? undefined : ((json['DirectPlayProtocols'] as Array).map(MediaProtocolFromJSON)), + }; +} + +export function OpenLiveStreamRequestToJSON(value?: OpenLiveStreamRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'OpenToken': value.openToken, + 'UserId': value.userId, + 'PlaySessionId': value.playSessionId, + 'MaxStreamingBitrate': value.maxStreamingBitrate, + 'StartTimeTicks': value.startTimeTicks, + 'AudioStreamIndex': value.audioStreamIndex, + 'SubtitleStreamIndex': value.subtitleStreamIndex, + 'MaxAudioChannels': value.maxAudioChannels, + 'ItemId': value.itemId, + 'EnableDirectPlay': value.enableDirectPlay, + 'EnableDirectStream': value.enableDirectStream, + 'DeviceProfile': ClientCapabilitiesDtoDeviceProfileToJSON(value.deviceProfile), + 'DirectPlayProtocols': value.directPlayProtocols === undefined ? undefined : ((value.directPlayProtocols as Array).map(MediaProtocolToJSON)), + }; +} + diff --git a/server/jellyfin/models/PackageInfo.ts b/server/jellyfin/models/PackageInfo.ts new file mode 100644 index 0000000..4cfbf99 --- /dev/null +++ b/server/jellyfin/models/PackageInfo.ts @@ -0,0 +1,129 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { VersionInfo } from './VersionInfo'; +import { + VersionInfoFromJSON, + VersionInfoFromJSONTyped, + VersionInfoToJSON, +} from './VersionInfo'; + +/** + * Class PackageInfo. + * @export + * @interface PackageInfo + */ +export interface PackageInfo { + /** + * Gets or sets the name. + * @type {string} + * @memberof PackageInfo + */ + name?: string; + /** + * Gets or sets a long description of the plugin containing features or helpful explanations. + * @type {string} + * @memberof PackageInfo + */ + description?: string; + /** + * Gets or sets a short overview of what the plugin does. + * @type {string} + * @memberof PackageInfo + */ + overview?: string; + /** + * Gets or sets the owner. + * @type {string} + * @memberof PackageInfo + */ + owner?: string; + /** + * Gets or sets the category. + * @type {string} + * @memberof PackageInfo + */ + category?: string; + /** + * Gets or sets the guid of the assembly associated with this plugin. + * This is used to identify the proper item for automatic updates. + * @type {string} + * @memberof PackageInfo + */ + guid?: string; + /** + * Gets or sets the versions. + * @type {Array} + * @memberof PackageInfo + */ + versions?: Array; + /** + * Gets or sets the image url for the package. + * @type {string} + * @memberof PackageInfo + */ + imageUrl?: string | null; +} + +/** + * Check if a given object implements the PackageInfo interface. + */ +export function instanceOfPackageInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PackageInfoFromJSON(json: any): PackageInfo { + return PackageInfoFromJSONTyped(json, false); +} + +export function PackageInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): PackageInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'name') ? undefined : json['name'], + 'description': !exists(json, 'description') ? undefined : json['description'], + 'overview': !exists(json, 'overview') ? undefined : json['overview'], + 'owner': !exists(json, 'owner') ? undefined : json['owner'], + 'category': !exists(json, 'category') ? undefined : json['category'], + 'guid': !exists(json, 'guid') ? undefined : json['guid'], + 'versions': !exists(json, 'versions') ? undefined : ((json['versions'] as Array).map(VersionInfoFromJSON)), + 'imageUrl': !exists(json, 'imageUrl') ? undefined : json['imageUrl'], + }; +} + +export function PackageInfoToJSON(value?: PackageInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'description': value.description, + 'overview': value.overview, + 'owner': value.owner, + 'category': value.category, + 'guid': value.guid, + 'versions': value.versions === undefined ? undefined : ((value.versions as Array).map(VersionInfoToJSON)), + 'imageUrl': value.imageUrl, + }; +} + diff --git a/server/jellyfin/models/ParentalRating.ts b/server/jellyfin/models/ParentalRating.ts new file mode 100644 index 0000000..01a835c --- /dev/null +++ b/server/jellyfin/models/ParentalRating.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class ParentalRating. + * @export + * @interface ParentalRating + */ +export interface ParentalRating { + /** + * Gets or sets the name. + * @type {string} + * @memberof ParentalRating + */ + name?: string | null; + /** + * Gets or sets the value. + * @type {number} + * @memberof ParentalRating + */ + value?: number; +} + +/** + * Check if a given object implements the ParentalRating interface. + */ +export function instanceOfParentalRating(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ParentalRatingFromJSON(json: any): ParentalRating { + return ParentalRatingFromJSONTyped(json, false); +} + +export function ParentalRatingFromJSONTyped(json: any, ignoreDiscriminator: boolean): ParentalRating { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'value': !exists(json, 'Value') ? undefined : json['Value'], + }; +} + +export function ParentalRatingToJSON(value?: ParentalRating | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Value': value.value, + }; +} + diff --git a/server/jellyfin/models/PathSubstitution.ts b/server/jellyfin/models/PathSubstitution.ts new file mode 100644 index 0000000..5514f65 --- /dev/null +++ b/server/jellyfin/models/PathSubstitution.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Defines the MediaBrowser.Model.Configuration.PathSubstitution. + * @export + * @interface PathSubstitution + */ +export interface PathSubstitution { + /** + * Gets or sets the value to substitute. + * @type {string} + * @memberof PathSubstitution + */ + from?: string; + /** + * Gets or sets the value to substitution with. + * @type {string} + * @memberof PathSubstitution + */ + to?: string; +} + +/** + * Check if a given object implements the PathSubstitution interface. + */ +export function instanceOfPathSubstitution(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PathSubstitutionFromJSON(json: any): PathSubstitution { + return PathSubstitutionFromJSONTyped(json, false); +} + +export function PathSubstitutionFromJSONTyped(json: any, ignoreDiscriminator: boolean): PathSubstitution { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'from': !exists(json, 'From') ? undefined : json['From'], + 'to': !exists(json, 'To') ? undefined : json['To'], + }; +} + +export function PathSubstitutionToJSON(value?: PathSubstitution | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'From': value.from, + 'To': value.to, + }; +} + diff --git a/server/jellyfin/models/PersonLookupInfo.ts b/server/jellyfin/models/PersonLookupInfo.ts new file mode 100644 index 0000000..2412654 --- /dev/null +++ b/server/jellyfin/models/PersonLookupInfo.ts @@ -0,0 +1,145 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface PersonLookupInfo + */ +export interface PersonLookupInfo { + /** + * Gets or sets the name. + * @type {string} + * @memberof PersonLookupInfo + */ + name?: string | null; + /** + * Gets or sets the original title. + * @type {string} + * @memberof PersonLookupInfo + */ + originalTitle?: string | null; + /** + * Gets or sets the path. + * @type {string} + * @memberof PersonLookupInfo + */ + path?: string | null; + /** + * Gets or sets the metadata language. + * @type {string} + * @memberof PersonLookupInfo + */ + metadataLanguage?: string | null; + /** + * Gets or sets the metadata country code. + * @type {string} + * @memberof PersonLookupInfo + */ + metadataCountryCode?: string | null; + /** + * Gets or sets the provider ids. + * @type {{ [key: string]: string; }} + * @memberof PersonLookupInfo + */ + providerIds?: { [key: string]: string; } | null; + /** + * Gets or sets the year. + * @type {number} + * @memberof PersonLookupInfo + */ + year?: number | null; + /** + * + * @type {number} + * @memberof PersonLookupInfo + */ + indexNumber?: number | null; + /** + * + * @type {number} + * @memberof PersonLookupInfo + */ + parentIndexNumber?: number | null; + /** + * + * @type {Date} + * @memberof PersonLookupInfo + */ + premiereDate?: Date | null; + /** + * + * @type {boolean} + * @memberof PersonLookupInfo + */ + isAutomated?: boolean; +} + +/** + * Check if a given object implements the PersonLookupInfo interface. + */ +export function instanceOfPersonLookupInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PersonLookupInfoFromJSON(json: any): PersonLookupInfo { + return PersonLookupInfoFromJSONTyped(json, false); +} + +export function PersonLookupInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): PersonLookupInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'originalTitle': !exists(json, 'OriginalTitle') ? undefined : json['OriginalTitle'], + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'metadataLanguage': !exists(json, 'MetadataLanguage') ? undefined : json['MetadataLanguage'], + 'metadataCountryCode': !exists(json, 'MetadataCountryCode') ? undefined : json['MetadataCountryCode'], + 'providerIds': !exists(json, 'ProviderIds') ? undefined : json['ProviderIds'], + 'year': !exists(json, 'Year') ? undefined : json['Year'], + 'indexNumber': !exists(json, 'IndexNumber') ? undefined : json['IndexNumber'], + 'parentIndexNumber': !exists(json, 'ParentIndexNumber') ? undefined : json['ParentIndexNumber'], + 'premiereDate': !exists(json, 'PremiereDate') ? undefined : (json['PremiereDate'] === null ? null : new Date(json['PremiereDate'])), + 'isAutomated': !exists(json, 'IsAutomated') ? undefined : json['IsAutomated'], + }; +} + +export function PersonLookupInfoToJSON(value?: PersonLookupInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'OriginalTitle': value.originalTitle, + 'Path': value.path, + 'MetadataLanguage': value.metadataLanguage, + 'MetadataCountryCode': value.metadataCountryCode, + 'ProviderIds': value.providerIds, + 'Year': value.year, + 'IndexNumber': value.indexNumber, + 'ParentIndexNumber': value.parentIndexNumber, + 'PremiereDate': value.premiereDate === undefined ? undefined : (value.premiereDate === null ? null : value.premiereDate.toISOString()), + 'IsAutomated': value.isAutomated, + }; +} + diff --git a/server/jellyfin/models/PersonLookupInfoRemoteSearchQuery.ts b/server/jellyfin/models/PersonLookupInfoRemoteSearchQuery.ts new file mode 100644 index 0000000..f5bc1d5 --- /dev/null +++ b/server/jellyfin/models/PersonLookupInfoRemoteSearchQuery.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { PersonLookupInfo } from './PersonLookupInfo'; +import { + PersonLookupInfoFromJSON, + PersonLookupInfoFromJSONTyped, + PersonLookupInfoToJSON, +} from './PersonLookupInfo'; + +/** + * + * @export + * @interface PersonLookupInfoRemoteSearchQuery + */ +export interface PersonLookupInfoRemoteSearchQuery { + /** + * + * @type {PersonLookupInfo} + * @memberof PersonLookupInfoRemoteSearchQuery + */ + searchInfo?: PersonLookupInfo | null; + /** + * + * @type {string} + * @memberof PersonLookupInfoRemoteSearchQuery + */ + itemId?: string; + /** + * Gets or sets the provider name to search within if set. + * @type {string} + * @memberof PersonLookupInfoRemoteSearchQuery + */ + searchProviderName?: string | null; + /** + * Gets or sets a value indicating whether disabled providers should be included. + * @type {boolean} + * @memberof PersonLookupInfoRemoteSearchQuery + */ + includeDisabledProviders?: boolean; +} + +/** + * Check if a given object implements the PersonLookupInfoRemoteSearchQuery interface. + */ +export function instanceOfPersonLookupInfoRemoteSearchQuery(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PersonLookupInfoRemoteSearchQueryFromJSON(json: any): PersonLookupInfoRemoteSearchQuery { + return PersonLookupInfoRemoteSearchQueryFromJSONTyped(json, false); +} + +export function PersonLookupInfoRemoteSearchQueryFromJSONTyped(json: any, ignoreDiscriminator: boolean): PersonLookupInfoRemoteSearchQuery { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'searchInfo': !exists(json, 'SearchInfo') ? undefined : PersonLookupInfoFromJSON(json['SearchInfo']), + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'searchProviderName': !exists(json, 'SearchProviderName') ? undefined : json['SearchProviderName'], + 'includeDisabledProviders': !exists(json, 'IncludeDisabledProviders') ? undefined : json['IncludeDisabledProviders'], + }; +} + +export function PersonLookupInfoRemoteSearchQueryToJSON(value?: PersonLookupInfoRemoteSearchQuery | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'SearchInfo': PersonLookupInfoToJSON(value.searchInfo), + 'ItemId': value.itemId, + 'SearchProviderName': value.searchProviderName, + 'IncludeDisabledProviders': value.includeDisabledProviders, + }; +} + diff --git a/server/jellyfin/models/PinRedeemResult.ts b/server/jellyfin/models/PinRedeemResult.ts new file mode 100644 index 0000000..fb1eed1 --- /dev/null +++ b/server/jellyfin/models/PinRedeemResult.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface PinRedeemResult + */ +export interface PinRedeemResult { + /** + * Gets or sets a value indicating whether this MediaBrowser.Model.Users.PinRedeemResult is success. + * @type {boolean} + * @memberof PinRedeemResult + */ + success?: boolean; + /** + * Gets or sets the users reset. + * @type {Array} + * @memberof PinRedeemResult + */ + usersReset?: Array; +} + +/** + * Check if a given object implements the PinRedeemResult interface. + */ +export function instanceOfPinRedeemResult(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PinRedeemResultFromJSON(json: any): PinRedeemResult { + return PinRedeemResultFromJSONTyped(json, false); +} + +export function PinRedeemResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): PinRedeemResult { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'success': !exists(json, 'Success') ? undefined : json['Success'], + 'usersReset': !exists(json, 'UsersReset') ? undefined : json['UsersReset'], + }; +} + +export function PinRedeemResultToJSON(value?: PinRedeemResult | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Success': value.success, + 'UsersReset': value.usersReset, + }; +} + diff --git a/server/jellyfin/models/PingRequestDto.ts b/server/jellyfin/models/PingRequestDto.ts new file mode 100644 index 0000000..0d2b452 --- /dev/null +++ b/server/jellyfin/models/PingRequestDto.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class PingRequestDto. + * @export + * @interface PingRequestDto + */ +export interface PingRequestDto { + /** + * Gets or sets the ping time. + * @type {number} + * @memberof PingRequestDto + */ + ping?: number; +} + +/** + * Check if a given object implements the PingRequestDto interface. + */ +export function instanceOfPingRequestDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PingRequestDtoFromJSON(json: any): PingRequestDto { + return PingRequestDtoFromJSONTyped(json, false); +} + +export function PingRequestDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): PingRequestDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'ping': !exists(json, 'Ping') ? undefined : json['Ping'], + }; +} + +export function PingRequestDtoToJSON(value?: PingRequestDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Ping': value.ping, + }; +} + diff --git a/server/jellyfin/models/PlayAccess.ts b/server/jellyfin/models/PlayAccess.ts new file mode 100644 index 0000000..281f538 --- /dev/null +++ b/server/jellyfin/models/PlayAccess.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const PlayAccess = { + Full: 'Full', + None: 'None' +} as const; +export type PlayAccess = typeof PlayAccess[keyof typeof PlayAccess]; + + +export function PlayAccessFromJSON(json: any): PlayAccess { + return PlayAccessFromJSONTyped(json, false); +} + +export function PlayAccessFromJSONTyped(json: any, ignoreDiscriminator: boolean): PlayAccess { + return json as PlayAccess; +} + +export function PlayAccessToJSON(value?: PlayAccess | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/PlayCommand.ts b/server/jellyfin/models/PlayCommand.ts new file mode 100644 index 0000000..82ef9f7 --- /dev/null +++ b/server/jellyfin/models/PlayCommand.ts @@ -0,0 +1,41 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Enum PlayCommand. + * @export + */ +export const PlayCommand = { + PlayNow: 'PlayNow', + PlayNext: 'PlayNext', + PlayLast: 'PlayLast', + PlayInstantMix: 'PlayInstantMix', + PlayShuffle: 'PlayShuffle' +} as const; +export type PlayCommand = typeof PlayCommand[keyof typeof PlayCommand]; + + +export function PlayCommandFromJSON(json: any): PlayCommand { + return PlayCommandFromJSONTyped(json, false); +} + +export function PlayCommandFromJSONTyped(json: any, ignoreDiscriminator: boolean): PlayCommand { + return json as PlayCommand; +} + +export function PlayCommandToJSON(value?: PlayCommand | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/PlayMethod.ts b/server/jellyfin/models/PlayMethod.ts new file mode 100644 index 0000000..4e17097 --- /dev/null +++ b/server/jellyfin/models/PlayMethod.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const PlayMethod = { + Transcode: 'Transcode', + DirectStream: 'DirectStream', + DirectPlay: 'DirectPlay' +} as const; +export type PlayMethod = typeof PlayMethod[keyof typeof PlayMethod]; + + +export function PlayMethodFromJSON(json: any): PlayMethod { + return PlayMethodFromJSONTyped(json, false); +} + +export function PlayMethodFromJSONTyped(json: any, ignoreDiscriminator: boolean): PlayMethod { + return json as PlayMethod; +} + +export function PlayMethodToJSON(value?: PlayMethod | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/PlayRequest.ts b/server/jellyfin/models/PlayRequest.ts new file mode 100644 index 0000000..61459a5 --- /dev/null +++ b/server/jellyfin/models/PlayRequest.ts @@ -0,0 +1,128 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { PlayCommand } from './PlayCommand'; +import { + PlayCommandFromJSON, + PlayCommandFromJSONTyped, + PlayCommandToJSON, +} from './PlayCommand'; + +/** + * Class PlayRequest. + * @export + * @interface PlayRequest + */ +export interface PlayRequest { + /** + * Gets or sets the item ids. + * @type {Array} + * @memberof PlayRequest + */ + itemIds?: Array | null; + /** + * Gets or sets the start position ticks that the first item should be played at. + * @type {number} + * @memberof PlayRequest + */ + startPositionTicks?: number | null; + /** + * + * @type {PlayCommand} + * @memberof PlayRequest + */ + playCommand?: PlayCommand; + /** + * Gets or sets the controlling user identifier. + * @type {string} + * @memberof PlayRequest + */ + controllingUserId?: string; + /** + * + * @type {number} + * @memberof PlayRequest + */ + subtitleStreamIndex?: number | null; + /** + * + * @type {number} + * @memberof PlayRequest + */ + audioStreamIndex?: number | null; + /** + * + * @type {string} + * @memberof PlayRequest + */ + mediaSourceId?: string | null; + /** + * + * @type {number} + * @memberof PlayRequest + */ + startIndex?: number | null; +} + +/** + * Check if a given object implements the PlayRequest interface. + */ +export function instanceOfPlayRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PlayRequestFromJSON(json: any): PlayRequest { + return PlayRequestFromJSONTyped(json, false); +} + +export function PlayRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): PlayRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'itemIds': !exists(json, 'ItemIds') ? undefined : json['ItemIds'], + 'startPositionTicks': !exists(json, 'StartPositionTicks') ? undefined : json['StartPositionTicks'], + 'playCommand': !exists(json, 'PlayCommand') ? undefined : PlayCommandFromJSON(json['PlayCommand']), + 'controllingUserId': !exists(json, 'ControllingUserId') ? undefined : json['ControllingUserId'], + 'subtitleStreamIndex': !exists(json, 'SubtitleStreamIndex') ? undefined : json['SubtitleStreamIndex'], + 'audioStreamIndex': !exists(json, 'AudioStreamIndex') ? undefined : json['AudioStreamIndex'], + 'mediaSourceId': !exists(json, 'MediaSourceId') ? undefined : json['MediaSourceId'], + 'startIndex': !exists(json, 'StartIndex') ? undefined : json['StartIndex'], + }; +} + +export function PlayRequestToJSON(value?: PlayRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'ItemIds': value.itemIds, + 'StartPositionTicks': value.startPositionTicks, + 'PlayCommand': PlayCommandToJSON(value.playCommand), + 'ControllingUserId': value.controllingUserId, + 'SubtitleStreamIndex': value.subtitleStreamIndex, + 'AudioStreamIndex': value.audioStreamIndex, + 'MediaSourceId': value.mediaSourceId, + 'StartIndex': value.startIndex, + }; +} + diff --git a/server/jellyfin/models/PlayRequestDto.ts b/server/jellyfin/models/PlayRequestDto.ts new file mode 100644 index 0000000..a5d85cd --- /dev/null +++ b/server/jellyfin/models/PlayRequestDto.ts @@ -0,0 +1,81 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class PlayRequestDto. + * @export + * @interface PlayRequestDto + */ +export interface PlayRequestDto { + /** + * Gets or sets the playing queue. + * @type {Array} + * @memberof PlayRequestDto + */ + playingQueue?: Array; + /** + * Gets or sets the position of the playing item in the queue. + * @type {number} + * @memberof PlayRequestDto + */ + playingItemPosition?: number; + /** + * Gets or sets the start position ticks. + * @type {number} + * @memberof PlayRequestDto + */ + startPositionTicks?: number; +} + +/** + * Check if a given object implements the PlayRequestDto interface. + */ +export function instanceOfPlayRequestDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PlayRequestDtoFromJSON(json: any): PlayRequestDto { + return PlayRequestDtoFromJSONTyped(json, false); +} + +export function PlayRequestDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): PlayRequestDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'playingQueue': !exists(json, 'PlayingQueue') ? undefined : json['PlayingQueue'], + 'playingItemPosition': !exists(json, 'PlayingItemPosition') ? undefined : json['PlayingItemPosition'], + 'startPositionTicks': !exists(json, 'StartPositionTicks') ? undefined : json['StartPositionTicks'], + }; +} + +export function PlayRequestDtoToJSON(value?: PlayRequestDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'PlayingQueue': value.playingQueue, + 'PlayingItemPosition': value.playingItemPosition, + 'StartPositionTicks': value.startPositionTicks, + }; +} + diff --git a/server/jellyfin/models/PlaybackErrorCode.ts b/server/jellyfin/models/PlaybackErrorCode.ts new file mode 100644 index 0000000..b200b18 --- /dev/null +++ b/server/jellyfin/models/PlaybackErrorCode.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const PlaybackErrorCode = { + NotAllowed: 'NotAllowed', + NoCompatibleStream: 'NoCompatibleStream', + RateLimitExceeded: 'RateLimitExceeded' +} as const; +export type PlaybackErrorCode = typeof PlaybackErrorCode[keyof typeof PlaybackErrorCode]; + + +export function PlaybackErrorCodeFromJSON(json: any): PlaybackErrorCode { + return PlaybackErrorCodeFromJSONTyped(json, false); +} + +export function PlaybackErrorCodeFromJSONTyped(json: any, ignoreDiscriminator: boolean): PlaybackErrorCode { + return json as PlaybackErrorCode; +} + +export function PlaybackErrorCodeToJSON(value?: PlaybackErrorCode | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/PlaybackInfoDto.ts b/server/jellyfin/models/PlaybackInfoDto.ts new file mode 100644 index 0000000..efdb27c --- /dev/null +++ b/server/jellyfin/models/PlaybackInfoDto.ts @@ -0,0 +1,184 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ClientCapabilitiesDtoDeviceProfile } from './ClientCapabilitiesDtoDeviceProfile'; +import { + ClientCapabilitiesDtoDeviceProfileFromJSON, + ClientCapabilitiesDtoDeviceProfileFromJSONTyped, + ClientCapabilitiesDtoDeviceProfileToJSON, +} from './ClientCapabilitiesDtoDeviceProfile'; + +/** + * Plabyback info dto. + * @export + * @interface PlaybackInfoDto + */ +export interface PlaybackInfoDto { + /** + * Gets or sets the playback userId. + * @type {string} + * @memberof PlaybackInfoDto + */ + userId?: string | null; + /** + * Gets or sets the max streaming bitrate. + * @type {number} + * @memberof PlaybackInfoDto + */ + maxStreamingBitrate?: number | null; + /** + * Gets or sets the start time in ticks. + * @type {number} + * @memberof PlaybackInfoDto + */ + startTimeTicks?: number | null; + /** + * Gets or sets the audio stream index. + * @type {number} + * @memberof PlaybackInfoDto + */ + audioStreamIndex?: number | null; + /** + * Gets or sets the subtitle stream index. + * @type {number} + * @memberof PlaybackInfoDto + */ + subtitleStreamIndex?: number | null; + /** + * Gets or sets the max audio channels. + * @type {number} + * @memberof PlaybackInfoDto + */ + maxAudioChannels?: number | null; + /** + * Gets or sets the media source id. + * @type {string} + * @memberof PlaybackInfoDto + */ + mediaSourceId?: string | null; + /** + * Gets or sets the live stream id. + * @type {string} + * @memberof PlaybackInfoDto + */ + liveStreamId?: string | null; + /** + * + * @type {ClientCapabilitiesDtoDeviceProfile} + * @memberof PlaybackInfoDto + */ + deviceProfile?: ClientCapabilitiesDtoDeviceProfile | null; + /** + * Gets or sets a value indicating whether to enable direct play. + * @type {boolean} + * @memberof PlaybackInfoDto + */ + enableDirectPlay?: boolean | null; + /** + * Gets or sets a value indicating whether to enable direct stream. + * @type {boolean} + * @memberof PlaybackInfoDto + */ + enableDirectStream?: boolean | null; + /** + * Gets or sets a value indicating whether to enable transcoding. + * @type {boolean} + * @memberof PlaybackInfoDto + */ + enableTranscoding?: boolean | null; + /** + * Gets or sets a value indicating whether to enable video stream copy. + * @type {boolean} + * @memberof PlaybackInfoDto + */ + allowVideoStreamCopy?: boolean | null; + /** + * Gets or sets a value indicating whether to allow audio stream copy. + * @type {boolean} + * @memberof PlaybackInfoDto + */ + allowAudioStreamCopy?: boolean | null; + /** + * Gets or sets a value indicating whether to auto open the live stream. + * @type {boolean} + * @memberof PlaybackInfoDto + */ + autoOpenLiveStream?: boolean | null; +} + +/** + * Check if a given object implements the PlaybackInfoDto interface. + */ +export function instanceOfPlaybackInfoDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PlaybackInfoDtoFromJSON(json: any): PlaybackInfoDto { + return PlaybackInfoDtoFromJSONTyped(json, false); +} + +export function PlaybackInfoDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): PlaybackInfoDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'userId': !exists(json, 'UserId') ? undefined : json['UserId'], + 'maxStreamingBitrate': !exists(json, 'MaxStreamingBitrate') ? undefined : json['MaxStreamingBitrate'], + 'startTimeTicks': !exists(json, 'StartTimeTicks') ? undefined : json['StartTimeTicks'], + 'audioStreamIndex': !exists(json, 'AudioStreamIndex') ? undefined : json['AudioStreamIndex'], + 'subtitleStreamIndex': !exists(json, 'SubtitleStreamIndex') ? undefined : json['SubtitleStreamIndex'], + 'maxAudioChannels': !exists(json, 'MaxAudioChannels') ? undefined : json['MaxAudioChannels'], + 'mediaSourceId': !exists(json, 'MediaSourceId') ? undefined : json['MediaSourceId'], + 'liveStreamId': !exists(json, 'LiveStreamId') ? undefined : json['LiveStreamId'], + 'deviceProfile': !exists(json, 'DeviceProfile') ? undefined : ClientCapabilitiesDtoDeviceProfileFromJSON(json['DeviceProfile']), + 'enableDirectPlay': !exists(json, 'EnableDirectPlay') ? undefined : json['EnableDirectPlay'], + 'enableDirectStream': !exists(json, 'EnableDirectStream') ? undefined : json['EnableDirectStream'], + 'enableTranscoding': !exists(json, 'EnableTranscoding') ? undefined : json['EnableTranscoding'], + 'allowVideoStreamCopy': !exists(json, 'AllowVideoStreamCopy') ? undefined : json['AllowVideoStreamCopy'], + 'allowAudioStreamCopy': !exists(json, 'AllowAudioStreamCopy') ? undefined : json['AllowAudioStreamCopy'], + 'autoOpenLiveStream': !exists(json, 'AutoOpenLiveStream') ? undefined : json['AutoOpenLiveStream'], + }; +} + +export function PlaybackInfoDtoToJSON(value?: PlaybackInfoDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'UserId': value.userId, + 'MaxStreamingBitrate': value.maxStreamingBitrate, + 'StartTimeTicks': value.startTimeTicks, + 'AudioStreamIndex': value.audioStreamIndex, + 'SubtitleStreamIndex': value.subtitleStreamIndex, + 'MaxAudioChannels': value.maxAudioChannels, + 'MediaSourceId': value.mediaSourceId, + 'LiveStreamId': value.liveStreamId, + 'DeviceProfile': ClientCapabilitiesDtoDeviceProfileToJSON(value.deviceProfile), + 'EnableDirectPlay': value.enableDirectPlay, + 'EnableDirectStream': value.enableDirectStream, + 'EnableTranscoding': value.enableTranscoding, + 'AllowVideoStreamCopy': value.allowVideoStreamCopy, + 'AllowAudioStreamCopy': value.allowAudioStreamCopy, + 'AutoOpenLiveStream': value.autoOpenLiveStream, + }; +} + diff --git a/server/jellyfin/models/PlaybackInfoResponse.ts b/server/jellyfin/models/PlaybackInfoResponse.ts new file mode 100644 index 0000000..9c34fcb --- /dev/null +++ b/server/jellyfin/models/PlaybackInfoResponse.ts @@ -0,0 +1,94 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { MediaSourceInfo } from './MediaSourceInfo'; +import { + MediaSourceInfoFromJSON, + MediaSourceInfoFromJSONTyped, + MediaSourceInfoToJSON, +} from './MediaSourceInfo'; +import type { PlaybackErrorCode } from './PlaybackErrorCode'; +import { + PlaybackErrorCodeFromJSON, + PlaybackErrorCodeFromJSONTyped, + PlaybackErrorCodeToJSON, +} from './PlaybackErrorCode'; + +/** + * Class PlaybackInfoResponse. + * @export + * @interface PlaybackInfoResponse + */ +export interface PlaybackInfoResponse { + /** + * Gets or sets the media sources. + * @type {Array} + * @memberof PlaybackInfoResponse + */ + mediaSources?: Array; + /** + * Gets or sets the play session identifier. + * @type {string} + * @memberof PlaybackInfoResponse + */ + playSessionId?: string | null; + /** + * + * @type {PlaybackErrorCode} + * @memberof PlaybackInfoResponse + */ + errorCode?: PlaybackErrorCode | null; +} + +/** + * Check if a given object implements the PlaybackInfoResponse interface. + */ +export function instanceOfPlaybackInfoResponse(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PlaybackInfoResponseFromJSON(json: any): PlaybackInfoResponse { + return PlaybackInfoResponseFromJSONTyped(json, false); +} + +export function PlaybackInfoResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PlaybackInfoResponse { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'mediaSources': !exists(json, 'MediaSources') ? undefined : ((json['MediaSources'] as Array).map(MediaSourceInfoFromJSON)), + 'playSessionId': !exists(json, 'PlaySessionId') ? undefined : json['PlaySessionId'], + 'errorCode': !exists(json, 'ErrorCode') ? undefined : PlaybackErrorCodeFromJSON(json['ErrorCode']), + }; +} + +export function PlaybackInfoResponseToJSON(value?: PlaybackInfoResponse | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'MediaSources': value.mediaSources === undefined ? undefined : ((value.mediaSources as Array).map(MediaSourceInfoToJSON)), + 'PlaySessionId': value.playSessionId, + 'ErrorCode': PlaybackErrorCodeToJSON(value.errorCode), + }; +} + diff --git a/server/jellyfin/models/PlaybackProgressInfo.ts b/server/jellyfin/models/PlaybackProgressInfo.ts new file mode 100644 index 0000000..8d1b4e0 --- /dev/null +++ b/server/jellyfin/models/PlaybackProgressInfo.ts @@ -0,0 +1,242 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { PlayMethod } from './PlayMethod'; +import { + PlayMethodFromJSON, + PlayMethodFromJSONTyped, + PlayMethodToJSON, +} from './PlayMethod'; +import type { PlaybackProgressInfoItem } from './PlaybackProgressInfoItem'; +import { + PlaybackProgressInfoItemFromJSON, + PlaybackProgressInfoItemFromJSONTyped, + PlaybackProgressInfoItemToJSON, +} from './PlaybackProgressInfoItem'; +import type { QueueItem } from './QueueItem'; +import { + QueueItemFromJSON, + QueueItemFromJSONTyped, + QueueItemToJSON, +} from './QueueItem'; +import type { RepeatMode } from './RepeatMode'; +import { + RepeatModeFromJSON, + RepeatModeFromJSONTyped, + RepeatModeToJSON, +} from './RepeatMode'; + +/** + * Class PlaybackProgressInfo. + * @export + * @interface PlaybackProgressInfo + */ +export interface PlaybackProgressInfo { + /** + * Gets or sets a value indicating whether this instance can seek. + * @type {boolean} + * @memberof PlaybackProgressInfo + */ + canSeek?: boolean; + /** + * + * @type {PlaybackProgressInfoItem} + * @memberof PlaybackProgressInfo + */ + item?: PlaybackProgressInfoItem | null; + /** + * Gets or sets the item identifier. + * @type {string} + * @memberof PlaybackProgressInfo + */ + itemId?: string; + /** + * Gets or sets the session id. + * @type {string} + * @memberof PlaybackProgressInfo + */ + sessionId?: string | null; + /** + * Gets or sets the media version identifier. + * @type {string} + * @memberof PlaybackProgressInfo + */ + mediaSourceId?: string | null; + /** + * Gets or sets the index of the audio stream. + * @type {number} + * @memberof PlaybackProgressInfo + */ + audioStreamIndex?: number | null; + /** + * Gets or sets the index of the subtitle stream. + * @type {number} + * @memberof PlaybackProgressInfo + */ + subtitleStreamIndex?: number | null; + /** + * Gets or sets a value indicating whether this instance is paused. + * @type {boolean} + * @memberof PlaybackProgressInfo + */ + isPaused?: boolean; + /** + * Gets or sets a value indicating whether this instance is muted. + * @type {boolean} + * @memberof PlaybackProgressInfo + */ + isMuted?: boolean; + /** + * Gets or sets the position ticks. + * @type {number} + * @memberof PlaybackProgressInfo + */ + positionTicks?: number | null; + /** + * + * @type {number} + * @memberof PlaybackProgressInfo + */ + playbackStartTimeTicks?: number | null; + /** + * Gets or sets the volume level. + * @type {number} + * @memberof PlaybackProgressInfo + */ + volumeLevel?: number | null; + /** + * + * @type {number} + * @memberof PlaybackProgressInfo + */ + brightness?: number | null; + /** + * + * @type {string} + * @memberof PlaybackProgressInfo + */ + aspectRatio?: string | null; + /** + * + * @type {PlayMethod} + * @memberof PlaybackProgressInfo + */ + playMethod?: PlayMethod; + /** + * Gets or sets the live stream identifier. + * @type {string} + * @memberof PlaybackProgressInfo + */ + liveStreamId?: string | null; + /** + * Gets or sets the play session identifier. + * @type {string} + * @memberof PlaybackProgressInfo + */ + playSessionId?: string | null; + /** + * + * @type {RepeatMode} + * @memberof PlaybackProgressInfo + */ + repeatMode?: RepeatMode; + /** + * + * @type {Array} + * @memberof PlaybackProgressInfo + */ + nowPlayingQueue?: Array | null; + /** + * + * @type {string} + * @memberof PlaybackProgressInfo + */ + playlistItemId?: string | null; +} + +/** + * Check if a given object implements the PlaybackProgressInfo interface. + */ +export function instanceOfPlaybackProgressInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PlaybackProgressInfoFromJSON(json: any): PlaybackProgressInfo { + return PlaybackProgressInfoFromJSONTyped(json, false); +} + +export function PlaybackProgressInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): PlaybackProgressInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'canSeek': !exists(json, 'CanSeek') ? undefined : json['CanSeek'], + 'item': !exists(json, 'Item') ? undefined : PlaybackProgressInfoItemFromJSON(json['Item']), + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'sessionId': !exists(json, 'SessionId') ? undefined : json['SessionId'], + 'mediaSourceId': !exists(json, 'MediaSourceId') ? undefined : json['MediaSourceId'], + 'audioStreamIndex': !exists(json, 'AudioStreamIndex') ? undefined : json['AudioStreamIndex'], + 'subtitleStreamIndex': !exists(json, 'SubtitleStreamIndex') ? undefined : json['SubtitleStreamIndex'], + 'isPaused': !exists(json, 'IsPaused') ? undefined : json['IsPaused'], + 'isMuted': !exists(json, 'IsMuted') ? undefined : json['IsMuted'], + 'positionTicks': !exists(json, 'PositionTicks') ? undefined : json['PositionTicks'], + 'playbackStartTimeTicks': !exists(json, 'PlaybackStartTimeTicks') ? undefined : json['PlaybackStartTimeTicks'], + 'volumeLevel': !exists(json, 'VolumeLevel') ? undefined : json['VolumeLevel'], + 'brightness': !exists(json, 'Brightness') ? undefined : json['Brightness'], + 'aspectRatio': !exists(json, 'AspectRatio') ? undefined : json['AspectRatio'], + 'playMethod': !exists(json, 'PlayMethod') ? undefined : PlayMethodFromJSON(json['PlayMethod']), + 'liveStreamId': !exists(json, 'LiveStreamId') ? undefined : json['LiveStreamId'], + 'playSessionId': !exists(json, 'PlaySessionId') ? undefined : json['PlaySessionId'], + 'repeatMode': !exists(json, 'RepeatMode') ? undefined : RepeatModeFromJSON(json['RepeatMode']), + 'nowPlayingQueue': !exists(json, 'NowPlayingQueue') ? undefined : (json['NowPlayingQueue'] === null ? null : (json['NowPlayingQueue'] as Array).map(QueueItemFromJSON)), + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + }; +} + +export function PlaybackProgressInfoToJSON(value?: PlaybackProgressInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'CanSeek': value.canSeek, + 'Item': PlaybackProgressInfoItemToJSON(value.item), + 'ItemId': value.itemId, + 'SessionId': value.sessionId, + 'MediaSourceId': value.mediaSourceId, + 'AudioStreamIndex': value.audioStreamIndex, + 'SubtitleStreamIndex': value.subtitleStreamIndex, + 'IsPaused': value.isPaused, + 'IsMuted': value.isMuted, + 'PositionTicks': value.positionTicks, + 'PlaybackStartTimeTicks': value.playbackStartTimeTicks, + 'VolumeLevel': value.volumeLevel, + 'Brightness': value.brightness, + 'AspectRatio': value.aspectRatio, + 'PlayMethod': PlayMethodToJSON(value.playMethod), + 'LiveStreamId': value.liveStreamId, + 'PlaySessionId': value.playSessionId, + 'RepeatMode': RepeatModeToJSON(value.repeatMode), + 'NowPlayingQueue': value.nowPlayingQueue === undefined ? undefined : (value.nowPlayingQueue === null ? null : (value.nowPlayingQueue as Array).map(QueueItemToJSON)), + 'PlaylistItemId': value.playlistItemId, + }; +} + diff --git a/server/jellyfin/models/PlaybackProgressInfoItem.ts b/server/jellyfin/models/PlaybackProgressInfoItem.ts new file mode 100644 index 0000000..c46af43 --- /dev/null +++ b/server/jellyfin/models/PlaybackProgressInfoItem.ts @@ -0,0 +1,1392 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { BaseItemDtoCurrentProgram } from './BaseItemDtoCurrentProgram'; +import { + BaseItemDtoCurrentProgramFromJSON, + BaseItemDtoCurrentProgramFromJSONTyped, + BaseItemDtoCurrentProgramToJSON, +} from './BaseItemDtoCurrentProgram'; +import type { BaseItemDtoImageBlurHashes } from './BaseItemDtoImageBlurHashes'; +import { + BaseItemDtoImageBlurHashesFromJSON, + BaseItemDtoImageBlurHashesFromJSONTyped, + BaseItemDtoImageBlurHashesToJSON, +} from './BaseItemDtoImageBlurHashes'; +import type { BaseItemDtoUserData } from './BaseItemDtoUserData'; +import { + BaseItemDtoUserDataFromJSON, + BaseItemDtoUserDataFromJSONTyped, + BaseItemDtoUserDataToJSON, +} from './BaseItemDtoUserData'; +import type { BaseItemKind } from './BaseItemKind'; +import { + BaseItemKindFromJSON, + BaseItemKindFromJSONTyped, + BaseItemKindToJSON, +} from './BaseItemKind'; +import type { BaseItemPerson } from './BaseItemPerson'; +import { + BaseItemPersonFromJSON, + BaseItemPersonFromJSONTyped, + BaseItemPersonToJSON, +} from './BaseItemPerson'; +import type { ChannelType } from './ChannelType'; +import { + ChannelTypeFromJSON, + ChannelTypeFromJSONTyped, + ChannelTypeToJSON, +} from './ChannelType'; +import type { ChapterInfo } from './ChapterInfo'; +import { + ChapterInfoFromJSON, + ChapterInfoFromJSONTyped, + ChapterInfoToJSON, +} from './ChapterInfo'; +import type { DayOfWeek } from './DayOfWeek'; +import { + DayOfWeekFromJSON, + DayOfWeekFromJSONTyped, + DayOfWeekToJSON, +} from './DayOfWeek'; +import type { ExternalUrl } from './ExternalUrl'; +import { + ExternalUrlFromJSON, + ExternalUrlFromJSONTyped, + ExternalUrlToJSON, +} from './ExternalUrl'; +import type { ImageOrientation } from './ImageOrientation'; +import { + ImageOrientationFromJSON, + ImageOrientationFromJSONTyped, + ImageOrientationToJSON, +} from './ImageOrientation'; +import type { IsoType } from './IsoType'; +import { + IsoTypeFromJSON, + IsoTypeFromJSONTyped, + IsoTypeToJSON, +} from './IsoType'; +import type { LocationType } from './LocationType'; +import { + LocationTypeFromJSON, + LocationTypeFromJSONTyped, + LocationTypeToJSON, +} from './LocationType'; +import type { MediaSourceInfo } from './MediaSourceInfo'; +import { + MediaSourceInfoFromJSON, + MediaSourceInfoFromJSONTyped, + MediaSourceInfoToJSON, +} from './MediaSourceInfo'; +import type { MediaStream } from './MediaStream'; +import { + MediaStreamFromJSON, + MediaStreamFromJSONTyped, + MediaStreamToJSON, +} from './MediaStream'; +import type { MediaUrl } from './MediaUrl'; +import { + MediaUrlFromJSON, + MediaUrlFromJSONTyped, + MediaUrlToJSON, +} from './MediaUrl'; +import type { MetadataField } from './MetadataField'; +import { + MetadataFieldFromJSON, + MetadataFieldFromJSONTyped, + MetadataFieldToJSON, +} from './MetadataField'; +import type { NameGuidPair } from './NameGuidPair'; +import { + NameGuidPairFromJSON, + NameGuidPairFromJSONTyped, + NameGuidPairToJSON, +} from './NameGuidPair'; +import type { PlayAccess } from './PlayAccess'; +import { + PlayAccessFromJSON, + PlayAccessFromJSONTyped, + PlayAccessToJSON, +} from './PlayAccess'; +import type { ProgramAudio } from './ProgramAudio'; +import { + ProgramAudioFromJSON, + ProgramAudioFromJSONTyped, + ProgramAudioToJSON, +} from './ProgramAudio'; +import type { Video3DFormat } from './Video3DFormat'; +import { + Video3DFormatFromJSON, + Video3DFormatFromJSONTyped, + Video3DFormatToJSON, +} from './Video3DFormat'; +import type { VideoType } from './VideoType'; +import { + VideoTypeFromJSON, + VideoTypeFromJSONTyped, + VideoTypeToJSON, +} from './VideoType'; + +/** + * Gets or sets the item. + * @export + * @interface PlaybackProgressInfoItem + */ +export interface PlaybackProgressInfoItem { + /** + * Gets or sets the name. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + name?: string | null; + /** + * + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + originalTitle?: string | null; + /** + * Gets or sets the server identifier. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + serverId?: string | null; + /** + * Gets or sets the id. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + id?: string; + /** + * Gets or sets the etag. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + etag?: string | null; + /** + * Gets or sets the type of the source. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + sourceType?: string | null; + /** + * Gets or sets the playlist item identifier. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + playlistItemId?: string | null; + /** + * Gets or sets the date created. + * @type {Date} + * @memberof PlaybackProgressInfoItem + */ + dateCreated?: Date | null; + /** + * + * @type {Date} + * @memberof PlaybackProgressInfoItem + */ + dateLastMediaAdded?: Date | null; + /** + * + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + extraType?: string | null; + /** + * + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + airsBeforeSeasonNumber?: number | null; + /** + * + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + airsAfterSeasonNumber?: number | null; + /** + * + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + airsBeforeEpisodeNumber?: number | null; + /** + * + * @type {boolean} + * @memberof PlaybackProgressInfoItem + */ + canDelete?: boolean | null; + /** + * + * @type {boolean} + * @memberof PlaybackProgressInfoItem + */ + canDownload?: boolean | null; + /** + * + * @type {boolean} + * @memberof PlaybackProgressInfoItem + */ + hasSubtitles?: boolean | null; + /** + * + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + preferredMetadataLanguage?: string | null; + /** + * + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + preferredMetadataCountryCode?: string | null; + /** + * Gets or sets a value indicating whether [supports synchronize]. + * @type {boolean} + * @memberof PlaybackProgressInfoItem + */ + supportsSync?: boolean | null; + /** + * + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + container?: string | null; + /** + * Gets or sets the name of the sort. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + sortName?: string | null; + /** + * + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + forcedSortName?: string | null; + /** + * + * @type {Video3DFormat} + * @memberof PlaybackProgressInfoItem + */ + video3DFormat?: Video3DFormat | null; + /** + * Gets or sets the premiere date. + * @type {Date} + * @memberof PlaybackProgressInfoItem + */ + premiereDate?: Date | null; + /** + * Gets or sets the external urls. + * @type {Array} + * @memberof PlaybackProgressInfoItem + */ + externalUrls?: Array | null; + /** + * Gets or sets the media versions. + * @type {Array} + * @memberof PlaybackProgressInfoItem + */ + mediaSources?: Array | null; + /** + * Gets or sets the critic rating. + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + criticRating?: number | null; + /** + * + * @type {Array} + * @memberof PlaybackProgressInfoItem + */ + productionLocations?: Array | null; + /** + * Gets or sets the path. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + path?: string | null; + /** + * + * @type {boolean} + * @memberof PlaybackProgressInfoItem + */ + enableMediaSourceDisplay?: boolean | null; + /** + * Gets or sets the official rating. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + officialRating?: string | null; + /** + * Gets or sets the custom rating. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + customRating?: string | null; + /** + * Gets or sets the channel identifier. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + channelId?: string | null; + /** + * + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + channelName?: string | null; + /** + * Gets or sets the overview. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + overview?: string | null; + /** + * Gets or sets the taglines. + * @type {Array} + * @memberof PlaybackProgressInfoItem + */ + taglines?: Array | null; + /** + * Gets or sets the genres. + * @type {Array} + * @memberof PlaybackProgressInfoItem + */ + genres?: Array | null; + /** + * Gets or sets the community rating. + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + communityRating?: number | null; + /** + * Gets or sets the cumulative run time ticks. + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + cumulativeRunTimeTicks?: number | null; + /** + * Gets or sets the run time ticks. + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + runTimeTicks?: number | null; + /** + * + * @type {PlayAccess} + * @memberof PlaybackProgressInfoItem + */ + playAccess?: PlayAccess | null; + /** + * Gets or sets the aspect ratio. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + aspectRatio?: string | null; + /** + * Gets or sets the production year. + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + productionYear?: number | null; + /** + * Gets or sets a value indicating whether this instance is place holder. + * @type {boolean} + * @memberof PlaybackProgressInfoItem + */ + isPlaceHolder?: boolean | null; + /** + * Gets or sets the number. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + number?: string | null; + /** + * + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + channelNumber?: string | null; + /** + * Gets or sets the index number. + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + indexNumber?: number | null; + /** + * Gets or sets the index number end. + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + indexNumberEnd?: number | null; + /** + * Gets or sets the parent index number. + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + parentIndexNumber?: number | null; + /** + * Gets or sets the trailer urls. + * @type {Array} + * @memberof PlaybackProgressInfoItem + */ + remoteTrailers?: Array | null; + /** + * Gets or sets the provider ids. + * @type {{ [key: string]: string; }} + * @memberof PlaybackProgressInfoItem + */ + providerIds?: { [key: string]: string; } | null; + /** + * Gets or sets a value indicating whether this instance is HD. + * @type {boolean} + * @memberof PlaybackProgressInfoItem + */ + isHD?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is folder. + * @type {boolean} + * @memberof PlaybackProgressInfoItem + */ + isFolder?: boolean | null; + /** + * Gets or sets the parent id. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + parentId?: string | null; + /** + * + * @type {BaseItemKind} + * @memberof PlaybackProgressInfoItem + */ + type?: BaseItemKind; + /** + * Gets or sets the people. + * @type {Array} + * @memberof PlaybackProgressInfoItem + */ + people?: Array | null; + /** + * Gets or sets the studios. + * @type {Array} + * @memberof PlaybackProgressInfoItem + */ + studios?: Array | null; + /** + * + * @type {Array} + * @memberof PlaybackProgressInfoItem + */ + genreItems?: Array | null; + /** + * Gets or sets wether the item has a logo, this will hold the Id of the Parent that has one. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + parentLogoItemId?: string | null; + /** + * Gets or sets wether the item has any backdrops, this will hold the Id of the Parent that has one. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + parentBackdropItemId?: string | null; + /** + * Gets or sets the parent backdrop image tags. + * @type {Array} + * @memberof PlaybackProgressInfoItem + */ + parentBackdropImageTags?: Array | null; + /** + * Gets or sets the local trailer count. + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + localTrailerCount?: number | null; + /** + * + * @type {BaseItemDtoUserData} + * @memberof PlaybackProgressInfoItem + */ + userData?: BaseItemDtoUserData | null; + /** + * Gets or sets the recursive item count. + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + recursiveItemCount?: number | null; + /** + * Gets or sets the child count. + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + childCount?: number | null; + /** + * Gets or sets the name of the series. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + seriesName?: string | null; + /** + * Gets or sets the series id. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + seriesId?: string | null; + /** + * Gets or sets the season identifier. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + seasonId?: string | null; + /** + * Gets or sets the special feature count. + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + specialFeatureCount?: number | null; + /** + * Gets or sets the display preferences id. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + displayPreferencesId?: string | null; + /** + * Gets or sets the status. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + status?: string | null; + /** + * Gets or sets the air time. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + airTime?: string | null; + /** + * Gets or sets the air days. + * @type {Array} + * @memberof PlaybackProgressInfoItem + */ + airDays?: Array | null; + /** + * Gets or sets the tags. + * @type {Array} + * @memberof PlaybackProgressInfoItem + */ + tags?: Array | null; + /** + * Gets or sets the primary image aspect ratio, after image enhancements. + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + primaryImageAspectRatio?: number | null; + /** + * Gets or sets the artists. + * @type {Array} + * @memberof PlaybackProgressInfoItem + */ + artists?: Array | null; + /** + * Gets or sets the artist items. + * @type {Array} + * @memberof PlaybackProgressInfoItem + */ + artistItems?: Array | null; + /** + * Gets or sets the album. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + album?: string | null; + /** + * Gets or sets the type of the collection. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + collectionType?: string | null; + /** + * Gets or sets the display order. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + displayOrder?: string | null; + /** + * Gets or sets the album id. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + albumId?: string | null; + /** + * Gets or sets the album image tag. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + albumPrimaryImageTag?: string | null; + /** + * Gets or sets the series primary image tag. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + seriesPrimaryImageTag?: string | null; + /** + * Gets or sets the album artist. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + albumArtist?: string | null; + /** + * Gets or sets the album artists. + * @type {Array} + * @memberof PlaybackProgressInfoItem + */ + albumArtists?: Array | null; + /** + * Gets or sets the name of the season. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + seasonName?: string | null; + /** + * Gets or sets the media streams. + * @type {Array} + * @memberof PlaybackProgressInfoItem + */ + mediaStreams?: Array | null; + /** + * + * @type {VideoType} + * @memberof PlaybackProgressInfoItem + */ + videoType?: VideoType | null; + /** + * Gets or sets the part count. + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + partCount?: number | null; + /** + * + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + mediaSourceCount?: number | null; + /** + * Gets or sets the image tags. + * @type {{ [key: string]: string; }} + * @memberof PlaybackProgressInfoItem + */ + imageTags?: { [key: string]: string; } | null; + /** + * Gets or sets the backdrop image tags. + * @type {Array} + * @memberof PlaybackProgressInfoItem + */ + backdropImageTags?: Array | null; + /** + * Gets or sets the screenshot image tags. + * @type {Array} + * @memberof PlaybackProgressInfoItem + */ + screenshotImageTags?: Array | null; + /** + * Gets or sets the parent logo image tag. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + parentLogoImageTag?: string | null; + /** + * Gets or sets wether the item has fan art, this will hold the Id of the Parent that has one. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + parentArtItemId?: string | null; + /** + * Gets or sets the parent art image tag. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + parentArtImageTag?: string | null; + /** + * Gets or sets the series thumb image tag. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + seriesThumbImageTag?: string | null; + /** + * + * @type {BaseItemDtoImageBlurHashes} + * @memberof PlaybackProgressInfoItem + */ + imageBlurHashes?: BaseItemDtoImageBlurHashes | null; + /** + * Gets or sets the series studio. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + seriesStudio?: string | null; + /** + * Gets or sets the parent thumb item id. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + parentThumbItemId?: string | null; + /** + * Gets or sets the parent thumb image tag. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + parentThumbImageTag?: string | null; + /** + * Gets or sets the parent primary image item identifier. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + parentPrimaryImageItemId?: string | null; + /** + * Gets or sets the parent primary image tag. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + parentPrimaryImageTag?: string | null; + /** + * Gets or sets the chapters. + * @type {Array} + * @memberof PlaybackProgressInfoItem + */ + chapters?: Array | null; + /** + * + * @type {LocationType} + * @memberof PlaybackProgressInfoItem + */ + locationType?: LocationType | null; + /** + * + * @type {IsoType} + * @memberof PlaybackProgressInfoItem + */ + isoType?: IsoType | null; + /** + * Gets or sets the type of the media. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + mediaType?: string | null; + /** + * Gets or sets the end date. + * @type {Date} + * @memberof PlaybackProgressInfoItem + */ + endDate?: Date | null; + /** + * Gets or sets the locked fields. + * @type {Array} + * @memberof PlaybackProgressInfoItem + */ + lockedFields?: Array | null; + /** + * Gets or sets the trailer count. + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + trailerCount?: number | null; + /** + * Gets or sets the movie count. + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + movieCount?: number | null; + /** + * Gets or sets the series count. + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + seriesCount?: number | null; + /** + * + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + programCount?: number | null; + /** + * Gets or sets the episode count. + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + episodeCount?: number | null; + /** + * Gets or sets the song count. + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + songCount?: number | null; + /** + * Gets or sets the album count. + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + albumCount?: number | null; + /** + * + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + artistCount?: number | null; + /** + * Gets or sets the music video count. + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + musicVideoCount?: number | null; + /** + * Gets or sets a value indicating whether [enable internet providers]. + * @type {boolean} + * @memberof PlaybackProgressInfoItem + */ + lockData?: boolean | null; + /** + * + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + width?: number | null; + /** + * + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + height?: number | null; + /** + * + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + cameraMake?: string | null; + /** + * + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + cameraModel?: string | null; + /** + * + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + software?: string | null; + /** + * + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + exposureTime?: number | null; + /** + * + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + focalLength?: number | null; + /** + * + * @type {ImageOrientation} + * @memberof PlaybackProgressInfoItem + */ + imageOrientation?: ImageOrientation | null; + /** + * + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + aperture?: number | null; + /** + * + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + shutterSpeed?: number | null; + /** + * + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + latitude?: number | null; + /** + * + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + longitude?: number | null; + /** + * + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + altitude?: number | null; + /** + * + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + isoSpeedRating?: number | null; + /** + * Gets or sets the series timer identifier. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + seriesTimerId?: string | null; + /** + * Gets or sets the program identifier. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + programId?: string | null; + /** + * Gets or sets the channel primary image tag. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + channelPrimaryImageTag?: string | null; + /** + * Gets or sets the start date of the recording, in UTC. + * @type {Date} + * @memberof PlaybackProgressInfoItem + */ + startDate?: Date | null; + /** + * Gets or sets the completion percentage. + * @type {number} + * @memberof PlaybackProgressInfoItem + */ + completionPercentage?: number | null; + /** + * Gets or sets a value indicating whether this instance is repeat. + * @type {boolean} + * @memberof PlaybackProgressInfoItem + */ + isRepeat?: boolean | null; + /** + * Gets or sets the episode title. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + episodeTitle?: string | null; + /** + * + * @type {ChannelType} + * @memberof PlaybackProgressInfoItem + */ + channelType?: ChannelType | null; + /** + * + * @type {ProgramAudio} + * @memberof PlaybackProgressInfoItem + */ + audio?: ProgramAudio | null; + /** + * Gets or sets a value indicating whether this instance is movie. + * @type {boolean} + * @memberof PlaybackProgressInfoItem + */ + isMovie?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is sports. + * @type {boolean} + * @memberof PlaybackProgressInfoItem + */ + isSports?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is series. + * @type {boolean} + * @memberof PlaybackProgressInfoItem + */ + isSeries?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is live. + * @type {boolean} + * @memberof PlaybackProgressInfoItem + */ + isLive?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is news. + * @type {boolean} + * @memberof PlaybackProgressInfoItem + */ + isNews?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is kids. + * @type {boolean} + * @memberof PlaybackProgressInfoItem + */ + isKids?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is premiere. + * @type {boolean} + * @memberof PlaybackProgressInfoItem + */ + isPremiere?: boolean | null; + /** + * Gets or sets the timer identifier. + * @type {string} + * @memberof PlaybackProgressInfoItem + */ + timerId?: string | null; + /** + * + * @type {BaseItemDtoCurrentProgram} + * @memberof PlaybackProgressInfoItem + */ + currentProgram?: BaseItemDtoCurrentProgram | null; +} + +/** + * Check if a given object implements the PlaybackProgressInfoItem interface. + */ +export function instanceOfPlaybackProgressInfoItem(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PlaybackProgressInfoItemFromJSON(json: any): PlaybackProgressInfoItem { + return PlaybackProgressInfoItemFromJSONTyped(json, false); +} + +export function PlaybackProgressInfoItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): PlaybackProgressInfoItem { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'originalTitle': !exists(json, 'OriginalTitle') ? undefined : json['OriginalTitle'], + 'serverId': !exists(json, 'ServerId') ? undefined : json['ServerId'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'etag': !exists(json, 'Etag') ? undefined : json['Etag'], + 'sourceType': !exists(json, 'SourceType') ? undefined : json['SourceType'], + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + 'dateCreated': !exists(json, 'DateCreated') ? undefined : (json['DateCreated'] === null ? null : new Date(json['DateCreated'])), + 'dateLastMediaAdded': !exists(json, 'DateLastMediaAdded') ? undefined : (json['DateLastMediaAdded'] === null ? null : new Date(json['DateLastMediaAdded'])), + 'extraType': !exists(json, 'ExtraType') ? undefined : json['ExtraType'], + 'airsBeforeSeasonNumber': !exists(json, 'AirsBeforeSeasonNumber') ? undefined : json['AirsBeforeSeasonNumber'], + 'airsAfterSeasonNumber': !exists(json, 'AirsAfterSeasonNumber') ? undefined : json['AirsAfterSeasonNumber'], + 'airsBeforeEpisodeNumber': !exists(json, 'AirsBeforeEpisodeNumber') ? undefined : json['AirsBeforeEpisodeNumber'], + 'canDelete': !exists(json, 'CanDelete') ? undefined : json['CanDelete'], + 'canDownload': !exists(json, 'CanDownload') ? undefined : json['CanDownload'], + 'hasSubtitles': !exists(json, 'HasSubtitles') ? undefined : json['HasSubtitles'], + 'preferredMetadataLanguage': !exists(json, 'PreferredMetadataLanguage') ? undefined : json['PreferredMetadataLanguage'], + 'preferredMetadataCountryCode': !exists(json, 'PreferredMetadataCountryCode') ? undefined : json['PreferredMetadataCountryCode'], + 'supportsSync': !exists(json, 'SupportsSync') ? undefined : json['SupportsSync'], + 'container': !exists(json, 'Container') ? undefined : json['Container'], + 'sortName': !exists(json, 'SortName') ? undefined : json['SortName'], + 'forcedSortName': !exists(json, 'ForcedSortName') ? undefined : json['ForcedSortName'], + 'video3DFormat': !exists(json, 'Video3DFormat') ? undefined : Video3DFormatFromJSON(json['Video3DFormat']), + 'premiereDate': !exists(json, 'PremiereDate') ? undefined : (json['PremiereDate'] === null ? null : new Date(json['PremiereDate'])), + 'externalUrls': !exists(json, 'ExternalUrls') ? undefined : (json['ExternalUrls'] === null ? null : (json['ExternalUrls'] as Array).map(ExternalUrlFromJSON)), + 'mediaSources': !exists(json, 'MediaSources') ? undefined : (json['MediaSources'] === null ? null : (json['MediaSources'] as Array).map(MediaSourceInfoFromJSON)), + 'criticRating': !exists(json, 'CriticRating') ? undefined : json['CriticRating'], + 'productionLocations': !exists(json, 'ProductionLocations') ? undefined : json['ProductionLocations'], + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'enableMediaSourceDisplay': !exists(json, 'EnableMediaSourceDisplay') ? undefined : json['EnableMediaSourceDisplay'], + 'officialRating': !exists(json, 'OfficialRating') ? undefined : json['OfficialRating'], + 'customRating': !exists(json, 'CustomRating') ? undefined : json['CustomRating'], + 'channelId': !exists(json, 'ChannelId') ? undefined : json['ChannelId'], + 'channelName': !exists(json, 'ChannelName') ? undefined : json['ChannelName'], + 'overview': !exists(json, 'Overview') ? undefined : json['Overview'], + 'taglines': !exists(json, 'Taglines') ? undefined : json['Taglines'], + 'genres': !exists(json, 'Genres') ? undefined : json['Genres'], + 'communityRating': !exists(json, 'CommunityRating') ? undefined : json['CommunityRating'], + 'cumulativeRunTimeTicks': !exists(json, 'CumulativeRunTimeTicks') ? undefined : json['CumulativeRunTimeTicks'], + 'runTimeTicks': !exists(json, 'RunTimeTicks') ? undefined : json['RunTimeTicks'], + 'playAccess': !exists(json, 'PlayAccess') ? undefined : PlayAccessFromJSON(json['PlayAccess']), + 'aspectRatio': !exists(json, 'AspectRatio') ? undefined : json['AspectRatio'], + 'productionYear': !exists(json, 'ProductionYear') ? undefined : json['ProductionYear'], + 'isPlaceHolder': !exists(json, 'IsPlaceHolder') ? undefined : json['IsPlaceHolder'], + 'number': !exists(json, 'Number') ? undefined : json['Number'], + 'channelNumber': !exists(json, 'ChannelNumber') ? undefined : json['ChannelNumber'], + 'indexNumber': !exists(json, 'IndexNumber') ? undefined : json['IndexNumber'], + 'indexNumberEnd': !exists(json, 'IndexNumberEnd') ? undefined : json['IndexNumberEnd'], + 'parentIndexNumber': !exists(json, 'ParentIndexNumber') ? undefined : json['ParentIndexNumber'], + 'remoteTrailers': !exists(json, 'RemoteTrailers') ? undefined : (json['RemoteTrailers'] === null ? null : (json['RemoteTrailers'] as Array).map(MediaUrlFromJSON)), + 'providerIds': !exists(json, 'ProviderIds') ? undefined : json['ProviderIds'], + 'isHD': !exists(json, 'IsHD') ? undefined : json['IsHD'], + 'isFolder': !exists(json, 'IsFolder') ? undefined : json['IsFolder'], + 'parentId': !exists(json, 'ParentId') ? undefined : json['ParentId'], + 'type': !exists(json, 'Type') ? undefined : BaseItemKindFromJSON(json['Type']), + 'people': !exists(json, 'People') ? undefined : (json['People'] === null ? null : (json['People'] as Array).map(BaseItemPersonFromJSON)), + 'studios': !exists(json, 'Studios') ? undefined : (json['Studios'] === null ? null : (json['Studios'] as Array).map(NameGuidPairFromJSON)), + 'genreItems': !exists(json, 'GenreItems') ? undefined : (json['GenreItems'] === null ? null : (json['GenreItems'] as Array).map(NameGuidPairFromJSON)), + 'parentLogoItemId': !exists(json, 'ParentLogoItemId') ? undefined : json['ParentLogoItemId'], + 'parentBackdropItemId': !exists(json, 'ParentBackdropItemId') ? undefined : json['ParentBackdropItemId'], + 'parentBackdropImageTags': !exists(json, 'ParentBackdropImageTags') ? undefined : json['ParentBackdropImageTags'], + 'localTrailerCount': !exists(json, 'LocalTrailerCount') ? undefined : json['LocalTrailerCount'], + 'userData': !exists(json, 'UserData') ? undefined : BaseItemDtoUserDataFromJSON(json['UserData']), + 'recursiveItemCount': !exists(json, 'RecursiveItemCount') ? undefined : json['RecursiveItemCount'], + 'childCount': !exists(json, 'ChildCount') ? undefined : json['ChildCount'], + 'seriesName': !exists(json, 'SeriesName') ? undefined : json['SeriesName'], + 'seriesId': !exists(json, 'SeriesId') ? undefined : json['SeriesId'], + 'seasonId': !exists(json, 'SeasonId') ? undefined : json['SeasonId'], + 'specialFeatureCount': !exists(json, 'SpecialFeatureCount') ? undefined : json['SpecialFeatureCount'], + 'displayPreferencesId': !exists(json, 'DisplayPreferencesId') ? undefined : json['DisplayPreferencesId'], + 'status': !exists(json, 'Status') ? undefined : json['Status'], + 'airTime': !exists(json, 'AirTime') ? undefined : json['AirTime'], + 'airDays': !exists(json, 'AirDays') ? undefined : (json['AirDays'] === null ? null : (json['AirDays'] as Array).map(DayOfWeekFromJSON)), + 'tags': !exists(json, 'Tags') ? undefined : json['Tags'], + 'primaryImageAspectRatio': !exists(json, 'PrimaryImageAspectRatio') ? undefined : json['PrimaryImageAspectRatio'], + 'artists': !exists(json, 'Artists') ? undefined : json['Artists'], + 'artistItems': !exists(json, 'ArtistItems') ? undefined : (json['ArtistItems'] === null ? null : (json['ArtistItems'] as Array).map(NameGuidPairFromJSON)), + 'album': !exists(json, 'Album') ? undefined : json['Album'], + 'collectionType': !exists(json, 'CollectionType') ? undefined : json['CollectionType'], + 'displayOrder': !exists(json, 'DisplayOrder') ? undefined : json['DisplayOrder'], + 'albumId': !exists(json, 'AlbumId') ? undefined : json['AlbumId'], + 'albumPrimaryImageTag': !exists(json, 'AlbumPrimaryImageTag') ? undefined : json['AlbumPrimaryImageTag'], + 'seriesPrimaryImageTag': !exists(json, 'SeriesPrimaryImageTag') ? undefined : json['SeriesPrimaryImageTag'], + 'albumArtist': !exists(json, 'AlbumArtist') ? undefined : json['AlbumArtist'], + 'albumArtists': !exists(json, 'AlbumArtists') ? undefined : (json['AlbumArtists'] === null ? null : (json['AlbumArtists'] as Array).map(NameGuidPairFromJSON)), + 'seasonName': !exists(json, 'SeasonName') ? undefined : json['SeasonName'], + 'mediaStreams': !exists(json, 'MediaStreams') ? undefined : (json['MediaStreams'] === null ? null : (json['MediaStreams'] as Array).map(MediaStreamFromJSON)), + 'videoType': !exists(json, 'VideoType') ? undefined : VideoTypeFromJSON(json['VideoType']), + 'partCount': !exists(json, 'PartCount') ? undefined : json['PartCount'], + 'mediaSourceCount': !exists(json, 'MediaSourceCount') ? undefined : json['MediaSourceCount'], + 'imageTags': !exists(json, 'ImageTags') ? undefined : json['ImageTags'], + 'backdropImageTags': !exists(json, 'BackdropImageTags') ? undefined : json['BackdropImageTags'], + 'screenshotImageTags': !exists(json, 'ScreenshotImageTags') ? undefined : json['ScreenshotImageTags'], + 'parentLogoImageTag': !exists(json, 'ParentLogoImageTag') ? undefined : json['ParentLogoImageTag'], + 'parentArtItemId': !exists(json, 'ParentArtItemId') ? undefined : json['ParentArtItemId'], + 'parentArtImageTag': !exists(json, 'ParentArtImageTag') ? undefined : json['ParentArtImageTag'], + 'seriesThumbImageTag': !exists(json, 'SeriesThumbImageTag') ? undefined : json['SeriesThumbImageTag'], + 'imageBlurHashes': !exists(json, 'ImageBlurHashes') ? undefined : BaseItemDtoImageBlurHashesFromJSON(json['ImageBlurHashes']), + 'seriesStudio': !exists(json, 'SeriesStudio') ? undefined : json['SeriesStudio'], + 'parentThumbItemId': !exists(json, 'ParentThumbItemId') ? undefined : json['ParentThumbItemId'], + 'parentThumbImageTag': !exists(json, 'ParentThumbImageTag') ? undefined : json['ParentThumbImageTag'], + 'parentPrimaryImageItemId': !exists(json, 'ParentPrimaryImageItemId') ? undefined : json['ParentPrimaryImageItemId'], + 'parentPrimaryImageTag': !exists(json, 'ParentPrimaryImageTag') ? undefined : json['ParentPrimaryImageTag'], + 'chapters': !exists(json, 'Chapters') ? undefined : (json['Chapters'] === null ? null : (json['Chapters'] as Array).map(ChapterInfoFromJSON)), + 'locationType': !exists(json, 'LocationType') ? undefined : LocationTypeFromJSON(json['LocationType']), + 'isoType': !exists(json, 'IsoType') ? undefined : IsoTypeFromJSON(json['IsoType']), + 'mediaType': !exists(json, 'MediaType') ? undefined : json['MediaType'], + 'endDate': !exists(json, 'EndDate') ? undefined : (json['EndDate'] === null ? null : new Date(json['EndDate'])), + 'lockedFields': !exists(json, 'LockedFields') ? undefined : (json['LockedFields'] === null ? null : (json['LockedFields'] as Array).map(MetadataFieldFromJSON)), + 'trailerCount': !exists(json, 'TrailerCount') ? undefined : json['TrailerCount'], + 'movieCount': !exists(json, 'MovieCount') ? undefined : json['MovieCount'], + 'seriesCount': !exists(json, 'SeriesCount') ? undefined : json['SeriesCount'], + 'programCount': !exists(json, 'ProgramCount') ? undefined : json['ProgramCount'], + 'episodeCount': !exists(json, 'EpisodeCount') ? undefined : json['EpisodeCount'], + 'songCount': !exists(json, 'SongCount') ? undefined : json['SongCount'], + 'albumCount': !exists(json, 'AlbumCount') ? undefined : json['AlbumCount'], + 'artistCount': !exists(json, 'ArtistCount') ? undefined : json['ArtistCount'], + 'musicVideoCount': !exists(json, 'MusicVideoCount') ? undefined : json['MusicVideoCount'], + 'lockData': !exists(json, 'LockData') ? undefined : json['LockData'], + 'width': !exists(json, 'Width') ? undefined : json['Width'], + 'height': !exists(json, 'Height') ? undefined : json['Height'], + 'cameraMake': !exists(json, 'CameraMake') ? undefined : json['CameraMake'], + 'cameraModel': !exists(json, 'CameraModel') ? undefined : json['CameraModel'], + 'software': !exists(json, 'Software') ? undefined : json['Software'], + 'exposureTime': !exists(json, 'ExposureTime') ? undefined : json['ExposureTime'], + 'focalLength': !exists(json, 'FocalLength') ? undefined : json['FocalLength'], + 'imageOrientation': !exists(json, 'ImageOrientation') ? undefined : ImageOrientationFromJSON(json['ImageOrientation']), + 'aperture': !exists(json, 'Aperture') ? undefined : json['Aperture'], + 'shutterSpeed': !exists(json, 'ShutterSpeed') ? undefined : json['ShutterSpeed'], + 'latitude': !exists(json, 'Latitude') ? undefined : json['Latitude'], + 'longitude': !exists(json, 'Longitude') ? undefined : json['Longitude'], + 'altitude': !exists(json, 'Altitude') ? undefined : json['Altitude'], + 'isoSpeedRating': !exists(json, 'IsoSpeedRating') ? undefined : json['IsoSpeedRating'], + 'seriesTimerId': !exists(json, 'SeriesTimerId') ? undefined : json['SeriesTimerId'], + 'programId': !exists(json, 'ProgramId') ? undefined : json['ProgramId'], + 'channelPrimaryImageTag': !exists(json, 'ChannelPrimaryImageTag') ? undefined : json['ChannelPrimaryImageTag'], + 'startDate': !exists(json, 'StartDate') ? undefined : (json['StartDate'] === null ? null : new Date(json['StartDate'])), + 'completionPercentage': !exists(json, 'CompletionPercentage') ? undefined : json['CompletionPercentage'], + 'isRepeat': !exists(json, 'IsRepeat') ? undefined : json['IsRepeat'], + 'episodeTitle': !exists(json, 'EpisodeTitle') ? undefined : json['EpisodeTitle'], + 'channelType': !exists(json, 'ChannelType') ? undefined : ChannelTypeFromJSON(json['ChannelType']), + 'audio': !exists(json, 'Audio') ? undefined : ProgramAudioFromJSON(json['Audio']), + 'isMovie': !exists(json, 'IsMovie') ? undefined : json['IsMovie'], + 'isSports': !exists(json, 'IsSports') ? undefined : json['IsSports'], + 'isSeries': !exists(json, 'IsSeries') ? undefined : json['IsSeries'], + 'isLive': !exists(json, 'IsLive') ? undefined : json['IsLive'], + 'isNews': !exists(json, 'IsNews') ? undefined : json['IsNews'], + 'isKids': !exists(json, 'IsKids') ? undefined : json['IsKids'], + 'isPremiere': !exists(json, 'IsPremiere') ? undefined : json['IsPremiere'], + 'timerId': !exists(json, 'TimerId') ? undefined : json['TimerId'], + 'currentProgram': !exists(json, 'CurrentProgram') ? undefined : BaseItemDtoCurrentProgramFromJSON(json['CurrentProgram']), + }; +} + +export function PlaybackProgressInfoItemToJSON(value?: PlaybackProgressInfoItem | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'OriginalTitle': value.originalTitle, + 'ServerId': value.serverId, + 'Id': value.id, + 'Etag': value.etag, + 'SourceType': value.sourceType, + 'PlaylistItemId': value.playlistItemId, + 'DateCreated': value.dateCreated === undefined ? undefined : (value.dateCreated === null ? null : value.dateCreated.toISOString()), + 'DateLastMediaAdded': value.dateLastMediaAdded === undefined ? undefined : (value.dateLastMediaAdded === null ? null : value.dateLastMediaAdded.toISOString()), + 'ExtraType': value.extraType, + 'AirsBeforeSeasonNumber': value.airsBeforeSeasonNumber, + 'AirsAfterSeasonNumber': value.airsAfterSeasonNumber, + 'AirsBeforeEpisodeNumber': value.airsBeforeEpisodeNumber, + 'CanDelete': value.canDelete, + 'CanDownload': value.canDownload, + 'HasSubtitles': value.hasSubtitles, + 'PreferredMetadataLanguage': value.preferredMetadataLanguage, + 'PreferredMetadataCountryCode': value.preferredMetadataCountryCode, + 'SupportsSync': value.supportsSync, + 'Container': value.container, + 'SortName': value.sortName, + 'ForcedSortName': value.forcedSortName, + 'Video3DFormat': Video3DFormatToJSON(value.video3DFormat), + 'PremiereDate': value.premiereDate === undefined ? undefined : (value.premiereDate === null ? null : value.premiereDate.toISOString()), + 'ExternalUrls': value.externalUrls === undefined ? undefined : (value.externalUrls === null ? null : (value.externalUrls as Array).map(ExternalUrlToJSON)), + 'MediaSources': value.mediaSources === undefined ? undefined : (value.mediaSources === null ? null : (value.mediaSources as Array).map(MediaSourceInfoToJSON)), + 'CriticRating': value.criticRating, + 'ProductionLocations': value.productionLocations, + 'Path': value.path, + 'EnableMediaSourceDisplay': value.enableMediaSourceDisplay, + 'OfficialRating': value.officialRating, + 'CustomRating': value.customRating, + 'ChannelId': value.channelId, + 'ChannelName': value.channelName, + 'Overview': value.overview, + 'Taglines': value.taglines, + 'Genres': value.genres, + 'CommunityRating': value.communityRating, + 'CumulativeRunTimeTicks': value.cumulativeRunTimeTicks, + 'RunTimeTicks': value.runTimeTicks, + 'PlayAccess': PlayAccessToJSON(value.playAccess), + 'AspectRatio': value.aspectRatio, + 'ProductionYear': value.productionYear, + 'IsPlaceHolder': value.isPlaceHolder, + 'Number': value.number, + 'ChannelNumber': value.channelNumber, + 'IndexNumber': value.indexNumber, + 'IndexNumberEnd': value.indexNumberEnd, + 'ParentIndexNumber': value.parentIndexNumber, + 'RemoteTrailers': value.remoteTrailers === undefined ? undefined : (value.remoteTrailers === null ? null : (value.remoteTrailers as Array).map(MediaUrlToJSON)), + 'ProviderIds': value.providerIds, + 'IsHD': value.isHD, + 'IsFolder': value.isFolder, + 'ParentId': value.parentId, + 'Type': BaseItemKindToJSON(value.type), + 'People': value.people === undefined ? undefined : (value.people === null ? null : (value.people as Array).map(BaseItemPersonToJSON)), + 'Studios': value.studios === undefined ? undefined : (value.studios === null ? null : (value.studios as Array).map(NameGuidPairToJSON)), + 'GenreItems': value.genreItems === undefined ? undefined : (value.genreItems === null ? null : (value.genreItems as Array).map(NameGuidPairToJSON)), + 'ParentLogoItemId': value.parentLogoItemId, + 'ParentBackdropItemId': value.parentBackdropItemId, + 'ParentBackdropImageTags': value.parentBackdropImageTags, + 'LocalTrailerCount': value.localTrailerCount, + 'UserData': BaseItemDtoUserDataToJSON(value.userData), + 'RecursiveItemCount': value.recursiveItemCount, + 'ChildCount': value.childCount, + 'SeriesName': value.seriesName, + 'SeriesId': value.seriesId, + 'SeasonId': value.seasonId, + 'SpecialFeatureCount': value.specialFeatureCount, + 'DisplayPreferencesId': value.displayPreferencesId, + 'Status': value.status, + 'AirTime': value.airTime, + 'AirDays': value.airDays === undefined ? undefined : (value.airDays === null ? null : (value.airDays as Array).map(DayOfWeekToJSON)), + 'Tags': value.tags, + 'PrimaryImageAspectRatio': value.primaryImageAspectRatio, + 'Artists': value.artists, + 'ArtistItems': value.artistItems === undefined ? undefined : (value.artistItems === null ? null : (value.artistItems as Array).map(NameGuidPairToJSON)), + 'Album': value.album, + 'CollectionType': value.collectionType, + 'DisplayOrder': value.displayOrder, + 'AlbumId': value.albumId, + 'AlbumPrimaryImageTag': value.albumPrimaryImageTag, + 'SeriesPrimaryImageTag': value.seriesPrimaryImageTag, + 'AlbumArtist': value.albumArtist, + 'AlbumArtists': value.albumArtists === undefined ? undefined : (value.albumArtists === null ? null : (value.albumArtists as Array).map(NameGuidPairToJSON)), + 'SeasonName': value.seasonName, + 'MediaStreams': value.mediaStreams === undefined ? undefined : (value.mediaStreams === null ? null : (value.mediaStreams as Array).map(MediaStreamToJSON)), + 'VideoType': VideoTypeToJSON(value.videoType), + 'PartCount': value.partCount, + 'MediaSourceCount': value.mediaSourceCount, + 'ImageTags': value.imageTags, + 'BackdropImageTags': value.backdropImageTags, + 'ScreenshotImageTags': value.screenshotImageTags, + 'ParentLogoImageTag': value.parentLogoImageTag, + 'ParentArtItemId': value.parentArtItemId, + 'ParentArtImageTag': value.parentArtImageTag, + 'SeriesThumbImageTag': value.seriesThumbImageTag, + 'ImageBlurHashes': BaseItemDtoImageBlurHashesToJSON(value.imageBlurHashes), + 'SeriesStudio': value.seriesStudio, + 'ParentThumbItemId': value.parentThumbItemId, + 'ParentThumbImageTag': value.parentThumbImageTag, + 'ParentPrimaryImageItemId': value.parentPrimaryImageItemId, + 'ParentPrimaryImageTag': value.parentPrimaryImageTag, + 'Chapters': value.chapters === undefined ? undefined : (value.chapters === null ? null : (value.chapters as Array).map(ChapterInfoToJSON)), + 'LocationType': LocationTypeToJSON(value.locationType), + 'IsoType': IsoTypeToJSON(value.isoType), + 'MediaType': value.mediaType, + 'EndDate': value.endDate === undefined ? undefined : (value.endDate === null ? null : value.endDate.toISOString()), + 'LockedFields': value.lockedFields === undefined ? undefined : (value.lockedFields === null ? null : (value.lockedFields as Array).map(MetadataFieldToJSON)), + 'TrailerCount': value.trailerCount, + 'MovieCount': value.movieCount, + 'SeriesCount': value.seriesCount, + 'ProgramCount': value.programCount, + 'EpisodeCount': value.episodeCount, + 'SongCount': value.songCount, + 'AlbumCount': value.albumCount, + 'ArtistCount': value.artistCount, + 'MusicVideoCount': value.musicVideoCount, + 'LockData': value.lockData, + 'Width': value.width, + 'Height': value.height, + 'CameraMake': value.cameraMake, + 'CameraModel': value.cameraModel, + 'Software': value.software, + 'ExposureTime': value.exposureTime, + 'FocalLength': value.focalLength, + 'ImageOrientation': ImageOrientationToJSON(value.imageOrientation), + 'Aperture': value.aperture, + 'ShutterSpeed': value.shutterSpeed, + 'Latitude': value.latitude, + 'Longitude': value.longitude, + 'Altitude': value.altitude, + 'IsoSpeedRating': value.isoSpeedRating, + 'SeriesTimerId': value.seriesTimerId, + 'ProgramId': value.programId, + 'ChannelPrimaryImageTag': value.channelPrimaryImageTag, + 'StartDate': value.startDate === undefined ? undefined : (value.startDate === null ? null : value.startDate.toISOString()), + 'CompletionPercentage': value.completionPercentage, + 'IsRepeat': value.isRepeat, + 'EpisodeTitle': value.episodeTitle, + 'ChannelType': ChannelTypeToJSON(value.channelType), + 'Audio': ProgramAudioToJSON(value.audio), + 'IsMovie': value.isMovie, + 'IsSports': value.isSports, + 'IsSeries': value.isSeries, + 'IsLive': value.isLive, + 'IsNews': value.isNews, + 'IsKids': value.isKids, + 'IsPremiere': value.isPremiere, + 'TimerId': value.timerId, + 'CurrentProgram': BaseItemDtoCurrentProgramToJSON(value.currentProgram), + }; +} + diff --git a/server/jellyfin/models/PlaybackStartInfo.ts b/server/jellyfin/models/PlaybackStartInfo.ts new file mode 100644 index 0000000..5e67d0a --- /dev/null +++ b/server/jellyfin/models/PlaybackStartInfo.ts @@ -0,0 +1,242 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { PlayMethod } from './PlayMethod'; +import { + PlayMethodFromJSON, + PlayMethodFromJSONTyped, + PlayMethodToJSON, +} from './PlayMethod'; +import type { PlaybackProgressInfoItem } from './PlaybackProgressInfoItem'; +import { + PlaybackProgressInfoItemFromJSON, + PlaybackProgressInfoItemFromJSONTyped, + PlaybackProgressInfoItemToJSON, +} from './PlaybackProgressInfoItem'; +import type { QueueItem } from './QueueItem'; +import { + QueueItemFromJSON, + QueueItemFromJSONTyped, + QueueItemToJSON, +} from './QueueItem'; +import type { RepeatMode } from './RepeatMode'; +import { + RepeatModeFromJSON, + RepeatModeFromJSONTyped, + RepeatModeToJSON, +} from './RepeatMode'; + +/** + * Class PlaybackStartInfo. + * @export + * @interface PlaybackStartInfo + */ +export interface PlaybackStartInfo { + /** + * Gets or sets a value indicating whether this instance can seek. + * @type {boolean} + * @memberof PlaybackStartInfo + */ + canSeek?: boolean; + /** + * + * @type {PlaybackProgressInfoItem} + * @memberof PlaybackStartInfo + */ + item?: PlaybackProgressInfoItem | null; + /** + * Gets or sets the item identifier. + * @type {string} + * @memberof PlaybackStartInfo + */ + itemId?: string; + /** + * Gets or sets the session id. + * @type {string} + * @memberof PlaybackStartInfo + */ + sessionId?: string | null; + /** + * Gets or sets the media version identifier. + * @type {string} + * @memberof PlaybackStartInfo + */ + mediaSourceId?: string | null; + /** + * Gets or sets the index of the audio stream. + * @type {number} + * @memberof PlaybackStartInfo + */ + audioStreamIndex?: number | null; + /** + * Gets or sets the index of the subtitle stream. + * @type {number} + * @memberof PlaybackStartInfo + */ + subtitleStreamIndex?: number | null; + /** + * Gets or sets a value indicating whether this instance is paused. + * @type {boolean} + * @memberof PlaybackStartInfo + */ + isPaused?: boolean; + /** + * Gets or sets a value indicating whether this instance is muted. + * @type {boolean} + * @memberof PlaybackStartInfo + */ + isMuted?: boolean; + /** + * Gets or sets the position ticks. + * @type {number} + * @memberof PlaybackStartInfo + */ + positionTicks?: number | null; + /** + * + * @type {number} + * @memberof PlaybackStartInfo + */ + playbackStartTimeTicks?: number | null; + /** + * Gets or sets the volume level. + * @type {number} + * @memberof PlaybackStartInfo + */ + volumeLevel?: number | null; + /** + * + * @type {number} + * @memberof PlaybackStartInfo + */ + brightness?: number | null; + /** + * + * @type {string} + * @memberof PlaybackStartInfo + */ + aspectRatio?: string | null; + /** + * + * @type {PlayMethod} + * @memberof PlaybackStartInfo + */ + playMethod?: PlayMethod; + /** + * Gets or sets the live stream identifier. + * @type {string} + * @memberof PlaybackStartInfo + */ + liveStreamId?: string | null; + /** + * Gets or sets the play session identifier. + * @type {string} + * @memberof PlaybackStartInfo + */ + playSessionId?: string | null; + /** + * + * @type {RepeatMode} + * @memberof PlaybackStartInfo + */ + repeatMode?: RepeatMode; + /** + * + * @type {Array} + * @memberof PlaybackStartInfo + */ + nowPlayingQueue?: Array | null; + /** + * + * @type {string} + * @memberof PlaybackStartInfo + */ + playlistItemId?: string | null; +} + +/** + * Check if a given object implements the PlaybackStartInfo interface. + */ +export function instanceOfPlaybackStartInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PlaybackStartInfoFromJSON(json: any): PlaybackStartInfo { + return PlaybackStartInfoFromJSONTyped(json, false); +} + +export function PlaybackStartInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): PlaybackStartInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'canSeek': !exists(json, 'CanSeek') ? undefined : json['CanSeek'], + 'item': !exists(json, 'Item') ? undefined : PlaybackProgressInfoItemFromJSON(json['Item']), + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'sessionId': !exists(json, 'SessionId') ? undefined : json['SessionId'], + 'mediaSourceId': !exists(json, 'MediaSourceId') ? undefined : json['MediaSourceId'], + 'audioStreamIndex': !exists(json, 'AudioStreamIndex') ? undefined : json['AudioStreamIndex'], + 'subtitleStreamIndex': !exists(json, 'SubtitleStreamIndex') ? undefined : json['SubtitleStreamIndex'], + 'isPaused': !exists(json, 'IsPaused') ? undefined : json['IsPaused'], + 'isMuted': !exists(json, 'IsMuted') ? undefined : json['IsMuted'], + 'positionTicks': !exists(json, 'PositionTicks') ? undefined : json['PositionTicks'], + 'playbackStartTimeTicks': !exists(json, 'PlaybackStartTimeTicks') ? undefined : json['PlaybackStartTimeTicks'], + 'volumeLevel': !exists(json, 'VolumeLevel') ? undefined : json['VolumeLevel'], + 'brightness': !exists(json, 'Brightness') ? undefined : json['Brightness'], + 'aspectRatio': !exists(json, 'AspectRatio') ? undefined : json['AspectRatio'], + 'playMethod': !exists(json, 'PlayMethod') ? undefined : PlayMethodFromJSON(json['PlayMethod']), + 'liveStreamId': !exists(json, 'LiveStreamId') ? undefined : json['LiveStreamId'], + 'playSessionId': !exists(json, 'PlaySessionId') ? undefined : json['PlaySessionId'], + 'repeatMode': !exists(json, 'RepeatMode') ? undefined : RepeatModeFromJSON(json['RepeatMode']), + 'nowPlayingQueue': !exists(json, 'NowPlayingQueue') ? undefined : (json['NowPlayingQueue'] === null ? null : (json['NowPlayingQueue'] as Array).map(QueueItemFromJSON)), + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + }; +} + +export function PlaybackStartInfoToJSON(value?: PlaybackStartInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'CanSeek': value.canSeek, + 'Item': PlaybackProgressInfoItemToJSON(value.item), + 'ItemId': value.itemId, + 'SessionId': value.sessionId, + 'MediaSourceId': value.mediaSourceId, + 'AudioStreamIndex': value.audioStreamIndex, + 'SubtitleStreamIndex': value.subtitleStreamIndex, + 'IsPaused': value.isPaused, + 'IsMuted': value.isMuted, + 'PositionTicks': value.positionTicks, + 'PlaybackStartTimeTicks': value.playbackStartTimeTicks, + 'VolumeLevel': value.volumeLevel, + 'Brightness': value.brightness, + 'AspectRatio': value.aspectRatio, + 'PlayMethod': PlayMethodToJSON(value.playMethod), + 'LiveStreamId': value.liveStreamId, + 'PlaySessionId': value.playSessionId, + 'RepeatMode': RepeatModeToJSON(value.repeatMode), + 'NowPlayingQueue': value.nowPlayingQueue === undefined ? undefined : (value.nowPlayingQueue === null ? null : (value.nowPlayingQueue as Array).map(QueueItemToJSON)), + 'PlaylistItemId': value.playlistItemId, + }; +} + diff --git a/server/jellyfin/models/PlaybackStopInfo.ts b/server/jellyfin/models/PlaybackStopInfo.ts new file mode 100644 index 0000000..2ef76f7 --- /dev/null +++ b/server/jellyfin/models/PlaybackStopInfo.ts @@ -0,0 +1,158 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { PlaybackProgressInfoItem } from './PlaybackProgressInfoItem'; +import { + PlaybackProgressInfoItemFromJSON, + PlaybackProgressInfoItemFromJSONTyped, + PlaybackProgressInfoItemToJSON, +} from './PlaybackProgressInfoItem'; +import type { QueueItem } from './QueueItem'; +import { + QueueItemFromJSON, + QueueItemFromJSONTyped, + QueueItemToJSON, +} from './QueueItem'; + +/** + * Class PlaybackStopInfo. + * @export + * @interface PlaybackStopInfo + */ +export interface PlaybackStopInfo { + /** + * + * @type {PlaybackProgressInfoItem} + * @memberof PlaybackStopInfo + */ + item?: PlaybackProgressInfoItem | null; + /** + * Gets or sets the item identifier. + * @type {string} + * @memberof PlaybackStopInfo + */ + itemId?: string; + /** + * Gets or sets the session id. + * @type {string} + * @memberof PlaybackStopInfo + */ + sessionId?: string | null; + /** + * Gets or sets the media version identifier. + * @type {string} + * @memberof PlaybackStopInfo + */ + mediaSourceId?: string | null; + /** + * Gets or sets the position ticks. + * @type {number} + * @memberof PlaybackStopInfo + */ + positionTicks?: number | null; + /** + * Gets or sets the live stream identifier. + * @type {string} + * @memberof PlaybackStopInfo + */ + liveStreamId?: string | null; + /** + * Gets or sets the play session identifier. + * @type {string} + * @memberof PlaybackStopInfo + */ + playSessionId?: string | null; + /** + * Gets or sets a value indicating whether this MediaBrowser.Model.Session.PlaybackStopInfo is failed. + * @type {boolean} + * @memberof PlaybackStopInfo + */ + failed?: boolean; + /** + * + * @type {string} + * @memberof PlaybackStopInfo + */ + nextMediaType?: string | null; + /** + * + * @type {string} + * @memberof PlaybackStopInfo + */ + playlistItemId?: string | null; + /** + * + * @type {Array} + * @memberof PlaybackStopInfo + */ + nowPlayingQueue?: Array | null; +} + +/** + * Check if a given object implements the PlaybackStopInfo interface. + */ +export function instanceOfPlaybackStopInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PlaybackStopInfoFromJSON(json: any): PlaybackStopInfo { + return PlaybackStopInfoFromJSONTyped(json, false); +} + +export function PlaybackStopInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): PlaybackStopInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'item': !exists(json, 'Item') ? undefined : PlaybackProgressInfoItemFromJSON(json['Item']), + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'sessionId': !exists(json, 'SessionId') ? undefined : json['SessionId'], + 'mediaSourceId': !exists(json, 'MediaSourceId') ? undefined : json['MediaSourceId'], + 'positionTicks': !exists(json, 'PositionTicks') ? undefined : json['PositionTicks'], + 'liveStreamId': !exists(json, 'LiveStreamId') ? undefined : json['LiveStreamId'], + 'playSessionId': !exists(json, 'PlaySessionId') ? undefined : json['PlaySessionId'], + 'failed': !exists(json, 'Failed') ? undefined : json['Failed'], + 'nextMediaType': !exists(json, 'NextMediaType') ? undefined : json['NextMediaType'], + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + 'nowPlayingQueue': !exists(json, 'NowPlayingQueue') ? undefined : (json['NowPlayingQueue'] === null ? null : (json['NowPlayingQueue'] as Array).map(QueueItemFromJSON)), + }; +} + +export function PlaybackStopInfoToJSON(value?: PlaybackStopInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Item': PlaybackProgressInfoItemToJSON(value.item), + 'ItemId': value.itemId, + 'SessionId': value.sessionId, + 'MediaSourceId': value.mediaSourceId, + 'PositionTicks': value.positionTicks, + 'LiveStreamId': value.liveStreamId, + 'PlaySessionId': value.playSessionId, + 'Failed': value.failed, + 'NextMediaType': value.nextMediaType, + 'PlaylistItemId': value.playlistItemId, + 'NowPlayingQueue': value.nowPlayingQueue === undefined ? undefined : (value.nowPlayingQueue === null ? null : (value.nowPlayingQueue as Array).map(QueueItemToJSON)), + }; +} + diff --git a/server/jellyfin/models/PlayerStateInfo.ts b/server/jellyfin/models/PlayerStateInfo.ts new file mode 100644 index 0000000..3a00ca9 --- /dev/null +++ b/server/jellyfin/models/PlayerStateInfo.ts @@ -0,0 +1,158 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { PlayMethod } from './PlayMethod'; +import { + PlayMethodFromJSON, + PlayMethodFromJSONTyped, + PlayMethodToJSON, +} from './PlayMethod'; +import type { RepeatMode } from './RepeatMode'; +import { + RepeatModeFromJSON, + RepeatModeFromJSONTyped, + RepeatModeToJSON, +} from './RepeatMode'; + +/** + * + * @export + * @interface PlayerStateInfo + */ +export interface PlayerStateInfo { + /** + * Gets or sets the now playing position ticks. + * @type {number} + * @memberof PlayerStateInfo + */ + positionTicks?: number | null; + /** + * Gets or sets a value indicating whether this instance can seek. + * @type {boolean} + * @memberof PlayerStateInfo + */ + canSeek?: boolean; + /** + * Gets or sets a value indicating whether this instance is paused. + * @type {boolean} + * @memberof PlayerStateInfo + */ + isPaused?: boolean; + /** + * Gets or sets a value indicating whether this instance is muted. + * @type {boolean} + * @memberof PlayerStateInfo + */ + isMuted?: boolean; + /** + * Gets or sets the volume level. + * @type {number} + * @memberof PlayerStateInfo + */ + volumeLevel?: number | null; + /** + * Gets or sets the index of the now playing audio stream. + * @type {number} + * @memberof PlayerStateInfo + */ + audioStreamIndex?: number | null; + /** + * Gets or sets the index of the now playing subtitle stream. + * @type {number} + * @memberof PlayerStateInfo + */ + subtitleStreamIndex?: number | null; + /** + * Gets or sets the now playing media version identifier. + * @type {string} + * @memberof PlayerStateInfo + */ + mediaSourceId?: string | null; + /** + * + * @type {PlayMethod} + * @memberof PlayerStateInfo + */ + playMethod?: PlayMethod | null; + /** + * + * @type {RepeatMode} + * @memberof PlayerStateInfo + */ + repeatMode?: RepeatMode; + /** + * Gets or sets the now playing live stream identifier. + * @type {string} + * @memberof PlayerStateInfo + */ + liveStreamId?: string | null; +} + +/** + * Check if a given object implements the PlayerStateInfo interface. + */ +export function instanceOfPlayerStateInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PlayerStateInfoFromJSON(json: any): PlayerStateInfo { + return PlayerStateInfoFromJSONTyped(json, false); +} + +export function PlayerStateInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): PlayerStateInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'positionTicks': !exists(json, 'PositionTicks') ? undefined : json['PositionTicks'], + 'canSeek': !exists(json, 'CanSeek') ? undefined : json['CanSeek'], + 'isPaused': !exists(json, 'IsPaused') ? undefined : json['IsPaused'], + 'isMuted': !exists(json, 'IsMuted') ? undefined : json['IsMuted'], + 'volumeLevel': !exists(json, 'VolumeLevel') ? undefined : json['VolumeLevel'], + 'audioStreamIndex': !exists(json, 'AudioStreamIndex') ? undefined : json['AudioStreamIndex'], + 'subtitleStreamIndex': !exists(json, 'SubtitleStreamIndex') ? undefined : json['SubtitleStreamIndex'], + 'mediaSourceId': !exists(json, 'MediaSourceId') ? undefined : json['MediaSourceId'], + 'playMethod': !exists(json, 'PlayMethod') ? undefined : PlayMethodFromJSON(json['PlayMethod']), + 'repeatMode': !exists(json, 'RepeatMode') ? undefined : RepeatModeFromJSON(json['RepeatMode']), + 'liveStreamId': !exists(json, 'LiveStreamId') ? undefined : json['LiveStreamId'], + }; +} + +export function PlayerStateInfoToJSON(value?: PlayerStateInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'PositionTicks': value.positionTicks, + 'CanSeek': value.canSeek, + 'IsPaused': value.isPaused, + 'IsMuted': value.isMuted, + 'VolumeLevel': value.volumeLevel, + 'AudioStreamIndex': value.audioStreamIndex, + 'SubtitleStreamIndex': value.subtitleStreamIndex, + 'MediaSourceId': value.mediaSourceId, + 'PlayMethod': PlayMethodToJSON(value.playMethod), + 'RepeatMode': RepeatModeToJSON(value.repeatMode), + 'LiveStreamId': value.liveStreamId, + }; +} + diff --git a/server/jellyfin/models/PlaylistCreationResult.ts b/server/jellyfin/models/PlaylistCreationResult.ts new file mode 100644 index 0000000..0d152e6 --- /dev/null +++ b/server/jellyfin/models/PlaylistCreationResult.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface PlaylistCreationResult + */ +export interface PlaylistCreationResult { + /** + * + * @type {string} + * @memberof PlaylistCreationResult + */ + id?: string; +} + +/** + * Check if a given object implements the PlaylistCreationResult interface. + */ +export function instanceOfPlaylistCreationResult(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PlaylistCreationResultFromJSON(json: any): PlaylistCreationResult { + return PlaylistCreationResultFromJSONTyped(json, false); +} + +export function PlaylistCreationResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): PlaylistCreationResult { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'Id') ? undefined : json['Id'], + }; +} + +export function PlaylistCreationResultToJSON(value?: PlaylistCreationResult | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Id': value.id, + }; +} + diff --git a/server/jellyfin/models/PlaystateCommand.ts b/server/jellyfin/models/PlaystateCommand.ts new file mode 100644 index 0000000..8eee4e9 --- /dev/null +++ b/server/jellyfin/models/PlaystateCommand.ts @@ -0,0 +1,45 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Enum PlaystateCommand. + * @export + */ +export const PlaystateCommand = { + Stop: 'Stop', + Pause: 'Pause', + Unpause: 'Unpause', + NextTrack: 'NextTrack', + PreviousTrack: 'PreviousTrack', + Seek: 'Seek', + Rewind: 'Rewind', + FastForward: 'FastForward', + PlayPause: 'PlayPause' +} as const; +export type PlaystateCommand = typeof PlaystateCommand[keyof typeof PlaystateCommand]; + + +export function PlaystateCommandFromJSON(json: any): PlaystateCommand { + return PlaystateCommandFromJSONTyped(json, false); +} + +export function PlaystateCommandFromJSONTyped(json: any, ignoreDiscriminator: boolean): PlaystateCommand { + return json as PlaystateCommand; +} + +export function PlaystateCommandToJSON(value?: PlaystateCommand | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/PlaystateRequest.ts b/server/jellyfin/models/PlaystateRequest.ts new file mode 100644 index 0000000..6ee9728 --- /dev/null +++ b/server/jellyfin/models/PlaystateRequest.ts @@ -0,0 +1,88 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { PlaystateCommand } from './PlaystateCommand'; +import { + PlaystateCommandFromJSON, + PlaystateCommandFromJSONTyped, + PlaystateCommandToJSON, +} from './PlaystateCommand'; + +/** + * + * @export + * @interface PlaystateRequest + */ +export interface PlaystateRequest { + /** + * + * @type {PlaystateCommand} + * @memberof PlaystateRequest + */ + command?: PlaystateCommand; + /** + * + * @type {number} + * @memberof PlaystateRequest + */ + seekPositionTicks?: number | null; + /** + * Gets or sets the controlling user identifier. + * @type {string} + * @memberof PlaystateRequest + */ + controllingUserId?: string | null; +} + +/** + * Check if a given object implements the PlaystateRequest interface. + */ +export function instanceOfPlaystateRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PlaystateRequestFromJSON(json: any): PlaystateRequest { + return PlaystateRequestFromJSONTyped(json, false); +} + +export function PlaystateRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): PlaystateRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'command': !exists(json, 'Command') ? undefined : PlaystateCommandFromJSON(json['Command']), + 'seekPositionTicks': !exists(json, 'SeekPositionTicks') ? undefined : json['SeekPositionTicks'], + 'controllingUserId': !exists(json, 'ControllingUserId') ? undefined : json['ControllingUserId'], + }; +} + +export function PlaystateRequestToJSON(value?: PlaystateRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Command': PlaystateCommandToJSON(value.command), + 'SeekPositionTicks': value.seekPositionTicks, + 'ControllingUserId': value.controllingUserId, + }; +} + diff --git a/server/jellyfin/models/PluginInfo.ts b/server/jellyfin/models/PluginInfo.ts new file mode 100644 index 0000000..41fd5ef --- /dev/null +++ b/server/jellyfin/models/PluginInfo.ts @@ -0,0 +1,128 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { PluginStatus } from './PluginStatus'; +import { + PluginStatusFromJSON, + PluginStatusFromJSONTyped, + PluginStatusToJSON, +} from './PluginStatus'; + +/** + * This is a serializable stub class that is used by the api to provide information about installed plugins. + * @export + * @interface PluginInfo + */ +export interface PluginInfo { + /** + * Gets or sets the name. + * @type {string} + * @memberof PluginInfo + */ + name?: string; + /** + * Gets or sets the version. + * @type {string} + * @memberof PluginInfo + */ + version?: string; + /** + * Gets or sets the name of the configuration file. + * @type {string} + * @memberof PluginInfo + */ + configurationFileName?: string | null; + /** + * Gets or sets the description. + * @type {string} + * @memberof PluginInfo + */ + description?: string; + /** + * Gets or sets the unique id. + * @type {string} + * @memberof PluginInfo + */ + id?: string; + /** + * Gets or sets a value indicating whether the plugin can be uninstalled. + * @type {boolean} + * @memberof PluginInfo + */ + canUninstall?: boolean; + /** + * Gets or sets a value indicating whether this plugin has a valid image. + * @type {boolean} + * @memberof PluginInfo + */ + hasImage?: boolean; + /** + * + * @type {PluginStatus} + * @memberof PluginInfo + */ + status?: PluginStatus; +} + +/** + * Check if a given object implements the PluginInfo interface. + */ +export function instanceOfPluginInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PluginInfoFromJSON(json: any): PluginInfo { + return PluginInfoFromJSONTyped(json, false); +} + +export function PluginInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): PluginInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'version': !exists(json, 'Version') ? undefined : json['Version'], + 'configurationFileName': !exists(json, 'ConfigurationFileName') ? undefined : json['ConfigurationFileName'], + 'description': !exists(json, 'Description') ? undefined : json['Description'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'canUninstall': !exists(json, 'CanUninstall') ? undefined : json['CanUninstall'], + 'hasImage': !exists(json, 'HasImage') ? undefined : json['HasImage'], + 'status': !exists(json, 'Status') ? undefined : PluginStatusFromJSON(json['Status']), + }; +} + +export function PluginInfoToJSON(value?: PluginInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Version': value.version, + 'ConfigurationFileName': value.configurationFileName, + 'Description': value.description, + 'Id': value.id, + 'CanUninstall': value.canUninstall, + 'HasImage': value.hasImage, + 'Status': PluginStatusToJSON(value.status), + }; +} + diff --git a/server/jellyfin/models/PluginStatus.ts b/server/jellyfin/models/PluginStatus.ts new file mode 100644 index 0000000..d022e6a --- /dev/null +++ b/server/jellyfin/models/PluginStatus.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Plugin load status. + * @export + */ +export const PluginStatus = { + Active: 'Active', + Restart: 'Restart', + Deleted: 'Deleted', + Superceded: 'Superceded', + Malfunctioned: 'Malfunctioned', + NotSupported: 'NotSupported', + Disabled: 'Disabled' +} as const; +export type PluginStatus = typeof PluginStatus[keyof typeof PluginStatus]; + + +export function PluginStatusFromJSON(json: any): PluginStatus { + return PluginStatusFromJSONTyped(json, false); +} + +export function PluginStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): PluginStatus { + return json as PluginStatus; +} + +export function PluginStatusToJSON(value?: PluginStatus | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/PostFullCapabilitiesRequest.ts b/server/jellyfin/models/PostFullCapabilitiesRequest.ts new file mode 100644 index 0000000..4077dd6 --- /dev/null +++ b/server/jellyfin/models/PostFullCapabilitiesRequest.ts @@ -0,0 +1,150 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ClientCapabilitiesDtoDeviceProfile } from './ClientCapabilitiesDtoDeviceProfile'; +import { + ClientCapabilitiesDtoDeviceProfileFromJSON, + ClientCapabilitiesDtoDeviceProfileFromJSONTyped, + ClientCapabilitiesDtoDeviceProfileToJSON, +} from './ClientCapabilitiesDtoDeviceProfile'; +import type { GeneralCommandType } from './GeneralCommandType'; +import { + GeneralCommandTypeFromJSON, + GeneralCommandTypeFromJSONTyped, + GeneralCommandTypeToJSON, +} from './GeneralCommandType'; + +/** + * Client capabilities dto. + * @export + * @interface PostFullCapabilitiesRequest + */ +export interface PostFullCapabilitiesRequest { + /** + * Gets or sets the list of playable media types. + * @type {Array} + * @memberof PostFullCapabilitiesRequest + */ + playableMediaTypes?: Array; + /** + * Gets or sets the list of supported commands. + * @type {Array} + * @memberof PostFullCapabilitiesRequest + */ + supportedCommands?: Array; + /** + * Gets or sets a value indicating whether session supports media control. + * @type {boolean} + * @memberof PostFullCapabilitiesRequest + */ + supportsMediaControl?: boolean; + /** + * Gets or sets a value indicating whether session supports content uploading. + * @type {boolean} + * @memberof PostFullCapabilitiesRequest + */ + supportsContentUploading?: boolean; + /** + * Gets or sets the message callback url. + * @type {string} + * @memberof PostFullCapabilitiesRequest + */ + messageCallbackUrl?: string | null; + /** + * Gets or sets a value indicating whether session supports a persistent identifier. + * @type {boolean} + * @memberof PostFullCapabilitiesRequest + */ + supportsPersistentIdentifier?: boolean; + /** + * Gets or sets a value indicating whether session supports sync. + * @type {boolean} + * @memberof PostFullCapabilitiesRequest + */ + supportsSync?: boolean; + /** + * + * @type {ClientCapabilitiesDtoDeviceProfile} + * @memberof PostFullCapabilitiesRequest + */ + deviceProfile?: ClientCapabilitiesDtoDeviceProfile | null; + /** + * Gets or sets the app store url. + * @type {string} + * @memberof PostFullCapabilitiesRequest + */ + appStoreUrl?: string | null; + /** + * Gets or sets the icon url. + * @type {string} + * @memberof PostFullCapabilitiesRequest + */ + iconUrl?: string | null; +} + +/** + * Check if a given object implements the PostFullCapabilitiesRequest interface. + */ +export function instanceOfPostFullCapabilitiesRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PostFullCapabilitiesRequestFromJSON(json: any): PostFullCapabilitiesRequest { + return PostFullCapabilitiesRequestFromJSONTyped(json, false); +} + +export function PostFullCapabilitiesRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): PostFullCapabilitiesRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'playableMediaTypes': !exists(json, 'PlayableMediaTypes') ? undefined : json['PlayableMediaTypes'], + 'supportedCommands': !exists(json, 'SupportedCommands') ? undefined : ((json['SupportedCommands'] as Array).map(GeneralCommandTypeFromJSON)), + 'supportsMediaControl': !exists(json, 'SupportsMediaControl') ? undefined : json['SupportsMediaControl'], + 'supportsContentUploading': !exists(json, 'SupportsContentUploading') ? undefined : json['SupportsContentUploading'], + 'messageCallbackUrl': !exists(json, 'MessageCallbackUrl') ? undefined : json['MessageCallbackUrl'], + 'supportsPersistentIdentifier': !exists(json, 'SupportsPersistentIdentifier') ? undefined : json['SupportsPersistentIdentifier'], + 'supportsSync': !exists(json, 'SupportsSync') ? undefined : json['SupportsSync'], + 'deviceProfile': !exists(json, 'DeviceProfile') ? undefined : ClientCapabilitiesDtoDeviceProfileFromJSON(json['DeviceProfile']), + 'appStoreUrl': !exists(json, 'AppStoreUrl') ? undefined : json['AppStoreUrl'], + 'iconUrl': !exists(json, 'IconUrl') ? undefined : json['IconUrl'], + }; +} + +export function PostFullCapabilitiesRequestToJSON(value?: PostFullCapabilitiesRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'PlayableMediaTypes': value.playableMediaTypes, + 'SupportedCommands': value.supportedCommands === undefined ? undefined : ((value.supportedCommands as Array).map(GeneralCommandTypeToJSON)), + 'SupportsMediaControl': value.supportsMediaControl, + 'SupportsContentUploading': value.supportsContentUploading, + 'MessageCallbackUrl': value.messageCallbackUrl, + 'SupportsPersistentIdentifier': value.supportsPersistentIdentifier, + 'SupportsSync': value.supportsSync, + 'DeviceProfile': ClientCapabilitiesDtoDeviceProfileToJSON(value.deviceProfile), + 'AppStoreUrl': value.appStoreUrl, + 'IconUrl': value.iconUrl, + }; +} + diff --git a/server/jellyfin/models/PostUpdatedMediaRequest.ts b/server/jellyfin/models/PostUpdatedMediaRequest.ts new file mode 100644 index 0000000..fda0b21 --- /dev/null +++ b/server/jellyfin/models/PostUpdatedMediaRequest.ts @@ -0,0 +1,72 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { MediaUpdateInfoPathDto } from './MediaUpdateInfoPathDto'; +import { + MediaUpdateInfoPathDtoFromJSON, + MediaUpdateInfoPathDtoFromJSONTyped, + MediaUpdateInfoPathDtoToJSON, +} from './MediaUpdateInfoPathDto'; + +/** + * Media Update Info Dto. + * @export + * @interface PostUpdatedMediaRequest + */ +export interface PostUpdatedMediaRequest { + /** + * Gets or sets the list of updates. + * @type {Array} + * @memberof PostUpdatedMediaRequest + */ + updates?: Array; +} + +/** + * Check if a given object implements the PostUpdatedMediaRequest interface. + */ +export function instanceOfPostUpdatedMediaRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PostUpdatedMediaRequestFromJSON(json: any): PostUpdatedMediaRequest { + return PostUpdatedMediaRequestFromJSONTyped(json, false); +} + +export function PostUpdatedMediaRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): PostUpdatedMediaRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'updates': !exists(json, 'Updates') ? undefined : ((json['Updates'] as Array).map(MediaUpdateInfoPathDtoFromJSON)), + }; +} + +export function PostUpdatedMediaRequestToJSON(value?: PostUpdatedMediaRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Updates': value.updates === undefined ? undefined : ((value.updates as Array).map(MediaUpdateInfoPathDtoToJSON)), + }; +} + diff --git a/server/jellyfin/models/PreviousItemRequestDto.ts b/server/jellyfin/models/PreviousItemRequestDto.ts new file mode 100644 index 0000000..a885e27 --- /dev/null +++ b/server/jellyfin/models/PreviousItemRequestDto.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class PreviousItemRequestDto. + * @export + * @interface PreviousItemRequestDto + */ +export interface PreviousItemRequestDto { + /** + * Gets or sets the playing item identifier. + * @type {string} + * @memberof PreviousItemRequestDto + */ + playlistItemId?: string; +} + +/** + * Check if a given object implements the PreviousItemRequestDto interface. + */ +export function instanceOfPreviousItemRequestDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PreviousItemRequestDtoFromJSON(json: any): PreviousItemRequestDto { + return PreviousItemRequestDtoFromJSONTyped(json, false); +} + +export function PreviousItemRequestDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): PreviousItemRequestDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + }; +} + +export function PreviousItemRequestDtoToJSON(value?: PreviousItemRequestDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'PlaylistItemId': value.playlistItemId, + }; +} + diff --git a/server/jellyfin/models/ProblemDetails.ts b/server/jellyfin/models/ProblemDetails.ts new file mode 100644 index 0000000..037549e --- /dev/null +++ b/server/jellyfin/models/ProblemDetails.ts @@ -0,0 +1,100 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface ProblemDetails + */ +export interface ProblemDetails { + [key: string]: any | any; + /** + * + * @type {string} + * @memberof ProblemDetails + */ + type?: string | null; + /** + * + * @type {string} + * @memberof ProblemDetails + */ + title?: string | null; + /** + * + * @type {number} + * @memberof ProblemDetails + */ + status?: number | null; + /** + * + * @type {string} + * @memberof ProblemDetails + */ + detail?: string | null; + /** + * + * @type {string} + * @memberof ProblemDetails + */ + instance?: string | null; +} + +/** + * Check if a given object implements the ProblemDetails interface. + */ +export function instanceOfProblemDetails(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ProblemDetailsFromJSON(json: any): ProblemDetails { + return ProblemDetailsFromJSONTyped(json, false); +} + +export function ProblemDetailsFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProblemDetails { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + ...json, + 'type': !exists(json, 'type') ? undefined : json['type'], + 'title': !exists(json, 'title') ? undefined : json['title'], + 'status': !exists(json, 'status') ? undefined : json['status'], + 'detail': !exists(json, 'detail') ? undefined : json['detail'], + 'instance': !exists(json, 'instance') ? undefined : json['instance'], + }; +} + +export function ProblemDetailsToJSON(value?: ProblemDetails | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + ...value, + 'type': value.type, + 'title': value.title, + 'status': value.status, + 'detail': value.detail, + 'instance': value.instance, + }; +} + diff --git a/server/jellyfin/models/ProfileCondition.ts b/server/jellyfin/models/ProfileCondition.ts new file mode 100644 index 0000000..cf3692f --- /dev/null +++ b/server/jellyfin/models/ProfileCondition.ts @@ -0,0 +1,102 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ProfileConditionType } from './ProfileConditionType'; +import { + ProfileConditionTypeFromJSON, + ProfileConditionTypeFromJSONTyped, + ProfileConditionTypeToJSON, +} from './ProfileConditionType'; +import type { ProfileConditionValue } from './ProfileConditionValue'; +import { + ProfileConditionValueFromJSON, + ProfileConditionValueFromJSONTyped, + ProfileConditionValueToJSON, +} from './ProfileConditionValue'; + +/** + * + * @export + * @interface ProfileCondition + */ +export interface ProfileCondition { + /** + * + * @type {ProfileConditionType} + * @memberof ProfileCondition + */ + condition?: ProfileConditionType; + /** + * + * @type {ProfileConditionValue} + * @memberof ProfileCondition + */ + property?: ProfileConditionValue; + /** + * + * @type {string} + * @memberof ProfileCondition + */ + value?: string | null; + /** + * + * @type {boolean} + * @memberof ProfileCondition + */ + isRequired?: boolean; +} + +/** + * Check if a given object implements the ProfileCondition interface. + */ +export function instanceOfProfileCondition(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ProfileConditionFromJSON(json: any): ProfileCondition { + return ProfileConditionFromJSONTyped(json, false); +} + +export function ProfileConditionFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProfileCondition { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'condition': !exists(json, 'Condition') ? undefined : ProfileConditionTypeFromJSON(json['Condition']), + 'property': !exists(json, 'Property') ? undefined : ProfileConditionValueFromJSON(json['Property']), + 'value': !exists(json, 'Value') ? undefined : json['Value'], + 'isRequired': !exists(json, 'IsRequired') ? undefined : json['IsRequired'], + }; +} + +export function ProfileConditionToJSON(value?: ProfileCondition | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Condition': ProfileConditionTypeToJSON(value.condition), + 'Property': ProfileConditionValueToJSON(value.property), + 'Value': value.value, + 'IsRequired': value.isRequired, + }; +} + diff --git a/server/jellyfin/models/ProfileConditionType.ts b/server/jellyfin/models/ProfileConditionType.ts new file mode 100644 index 0000000..15f8208 --- /dev/null +++ b/server/jellyfin/models/ProfileConditionType.ts @@ -0,0 +1,41 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const ProfileConditionType = { + Equals: 'Equals', + NotEquals: 'NotEquals', + LessThanEqual: 'LessThanEqual', + GreaterThanEqual: 'GreaterThanEqual', + EqualsAny: 'EqualsAny' +} as const; +export type ProfileConditionType = typeof ProfileConditionType[keyof typeof ProfileConditionType]; + + +export function ProfileConditionTypeFromJSON(json: any): ProfileConditionType { + return ProfileConditionTypeFromJSONTyped(json, false); +} + +export function ProfileConditionTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProfileConditionType { + return json as ProfileConditionType; +} + +export function ProfileConditionTypeToJSON(value?: ProfileConditionType | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/ProfileConditionValue.ts b/server/jellyfin/models/ProfileConditionValue.ts new file mode 100644 index 0000000..0f7aeb6 --- /dev/null +++ b/server/jellyfin/models/ProfileConditionValue.ts @@ -0,0 +1,60 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const ProfileConditionValue = { + AudioChannels: 'AudioChannels', + AudioBitrate: 'AudioBitrate', + AudioProfile: 'AudioProfile', + Width: 'Width', + Height: 'Height', + Has64BitOffsets: 'Has64BitOffsets', + PacketLength: 'PacketLength', + VideoBitDepth: 'VideoBitDepth', + VideoBitrate: 'VideoBitrate', + VideoFramerate: 'VideoFramerate', + VideoLevel: 'VideoLevel', + VideoProfile: 'VideoProfile', + VideoTimestamp: 'VideoTimestamp', + IsAnamorphic: 'IsAnamorphic', + RefFrames: 'RefFrames', + NumAudioStreams: 'NumAudioStreams', + NumVideoStreams: 'NumVideoStreams', + IsSecondaryAudio: 'IsSecondaryAudio', + VideoCodecTag: 'VideoCodecTag', + IsAvc: 'IsAvc', + IsInterlaced: 'IsInterlaced', + AudioSampleRate: 'AudioSampleRate', + AudioBitDepth: 'AudioBitDepth', + VideoRangeType: 'VideoRangeType' +} as const; +export type ProfileConditionValue = typeof ProfileConditionValue[keyof typeof ProfileConditionValue]; + + +export function ProfileConditionValueFromJSON(json: any): ProfileConditionValue { + return ProfileConditionValueFromJSONTyped(json, false); +} + +export function ProfileConditionValueFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProfileConditionValue { + return json as ProfileConditionValue; +} + +export function ProfileConditionValueToJSON(value?: ProfileConditionValue | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/ProgramAudio.ts b/server/jellyfin/models/ProgramAudio.ts new file mode 100644 index 0000000..4221c13 --- /dev/null +++ b/server/jellyfin/models/ProgramAudio.ts @@ -0,0 +1,42 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const ProgramAudio = { + Mono: 'Mono', + Stereo: 'Stereo', + Dolby: 'Dolby', + DolbyDigital: 'DolbyDigital', + Thx: 'Thx', + Atmos: 'Atmos' +} as const; +export type ProgramAudio = typeof ProgramAudio[keyof typeof ProgramAudio]; + + +export function ProgramAudioFromJSON(json: any): ProgramAudio { + return ProgramAudioFromJSONTyped(json, false); +} + +export function ProgramAudioFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProgramAudio { + return json as ProgramAudio; +} + +export function ProgramAudioToJSON(value?: ProgramAudio | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/PublicSystemInfo.ts b/server/jellyfin/models/PublicSystemInfo.ts new file mode 100644 index 0000000..951f861 --- /dev/null +++ b/server/jellyfin/models/PublicSystemInfo.ts @@ -0,0 +1,113 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface PublicSystemInfo + */ +export interface PublicSystemInfo { + /** + * Gets or sets the local address. + * @type {string} + * @memberof PublicSystemInfo + */ + localAddress?: string | null; + /** + * Gets or sets the name of the server. + * @type {string} + * @memberof PublicSystemInfo + */ + serverName?: string | null; + /** + * Gets or sets the server version. + * @type {string} + * @memberof PublicSystemInfo + */ + version?: string | null; + /** + * Gets or sets the product name. This is the AssemblyProduct name. + * @type {string} + * @memberof PublicSystemInfo + */ + productName?: string | null; + /** + * Gets or sets the operating system. + * @type {string} + * @memberof PublicSystemInfo + */ + operatingSystem?: string | null; + /** + * Gets or sets the id. + * @type {string} + * @memberof PublicSystemInfo + */ + id?: string | null; + /** + * Gets or sets a value indicating whether the startup wizard is completed. + * @type {boolean} + * @memberof PublicSystemInfo + */ + startupWizardCompleted?: boolean | null; +} + +/** + * Check if a given object implements the PublicSystemInfo interface. + */ +export function instanceOfPublicSystemInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PublicSystemInfoFromJSON(json: any): PublicSystemInfo { + return PublicSystemInfoFromJSONTyped(json, false); +} + +export function PublicSystemInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): PublicSystemInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'localAddress': !exists(json, 'LocalAddress') ? undefined : json['LocalAddress'], + 'serverName': !exists(json, 'ServerName') ? undefined : json['ServerName'], + 'version': !exists(json, 'Version') ? undefined : json['Version'], + 'productName': !exists(json, 'ProductName') ? undefined : json['ProductName'], + 'operatingSystem': !exists(json, 'OperatingSystem') ? undefined : json['OperatingSystem'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'startupWizardCompleted': !exists(json, 'StartupWizardCompleted') ? undefined : json['StartupWizardCompleted'], + }; +} + +export function PublicSystemInfoToJSON(value?: PublicSystemInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'LocalAddress': value.localAddress, + 'ServerName': value.serverName, + 'Version': value.version, + 'ProductName': value.productName, + 'OperatingSystem': value.operatingSystem, + 'Id': value.id, + 'StartupWizardCompleted': value.startupWizardCompleted, + }; +} + diff --git a/server/jellyfin/models/QueryFilters.ts b/server/jellyfin/models/QueryFilters.ts new file mode 100644 index 0000000..24e1bad --- /dev/null +++ b/server/jellyfin/models/QueryFilters.ts @@ -0,0 +1,80 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { NameGuidPair } from './NameGuidPair'; +import { + NameGuidPairFromJSON, + NameGuidPairFromJSONTyped, + NameGuidPairToJSON, +} from './NameGuidPair'; + +/** + * + * @export + * @interface QueryFilters + */ +export interface QueryFilters { + /** + * + * @type {Array} + * @memberof QueryFilters + */ + genres?: Array | null; + /** + * + * @type {Array} + * @memberof QueryFilters + */ + tags?: Array | null; +} + +/** + * Check if a given object implements the QueryFilters interface. + */ +export function instanceOfQueryFilters(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function QueryFiltersFromJSON(json: any): QueryFilters { + return QueryFiltersFromJSONTyped(json, false); +} + +export function QueryFiltersFromJSONTyped(json: any, ignoreDiscriminator: boolean): QueryFilters { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'genres': !exists(json, 'Genres') ? undefined : (json['Genres'] === null ? null : (json['Genres'] as Array).map(NameGuidPairFromJSON)), + 'tags': !exists(json, 'Tags') ? undefined : json['Tags'], + }; +} + +export function QueryFiltersToJSON(value?: QueryFilters | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Genres': value.genres === undefined ? undefined : (value.genres === null ? null : (value.genres as Array).map(NameGuidPairToJSON)), + 'Tags': value.tags, + }; +} + diff --git a/server/jellyfin/models/QueryFiltersLegacy.ts b/server/jellyfin/models/QueryFiltersLegacy.ts new file mode 100644 index 0000000..9b4dc15 --- /dev/null +++ b/server/jellyfin/models/QueryFiltersLegacy.ts @@ -0,0 +1,89 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface QueryFiltersLegacy + */ +export interface QueryFiltersLegacy { + /** + * + * @type {Array} + * @memberof QueryFiltersLegacy + */ + genres?: Array | null; + /** + * + * @type {Array} + * @memberof QueryFiltersLegacy + */ + tags?: Array | null; + /** + * + * @type {Array} + * @memberof QueryFiltersLegacy + */ + officialRatings?: Array | null; + /** + * + * @type {Array} + * @memberof QueryFiltersLegacy + */ + years?: Array | null; +} + +/** + * Check if a given object implements the QueryFiltersLegacy interface. + */ +export function instanceOfQueryFiltersLegacy(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function QueryFiltersLegacyFromJSON(json: any): QueryFiltersLegacy { + return QueryFiltersLegacyFromJSONTyped(json, false); +} + +export function QueryFiltersLegacyFromJSONTyped(json: any, ignoreDiscriminator: boolean): QueryFiltersLegacy { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'genres': !exists(json, 'Genres') ? undefined : json['Genres'], + 'tags': !exists(json, 'Tags') ? undefined : json['Tags'], + 'officialRatings': !exists(json, 'OfficialRatings') ? undefined : json['OfficialRatings'], + 'years': !exists(json, 'Years') ? undefined : json['Years'], + }; +} + +export function QueryFiltersLegacyToJSON(value?: QueryFiltersLegacy | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Genres': value.genres, + 'Tags': value.tags, + 'OfficialRatings': value.officialRatings, + 'Years': value.years, + }; +} + diff --git a/server/jellyfin/models/QueueItem.ts b/server/jellyfin/models/QueueItem.ts new file mode 100644 index 0000000..0c88a92 --- /dev/null +++ b/server/jellyfin/models/QueueItem.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface QueueItem + */ +export interface QueueItem { + /** + * + * @type {string} + * @memberof QueueItem + */ + id?: string; + /** + * + * @type {string} + * @memberof QueueItem + */ + playlistItemId?: string | null; +} + +/** + * Check if a given object implements the QueueItem interface. + */ +export function instanceOfQueueItem(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function QueueItemFromJSON(json: any): QueueItem { + return QueueItemFromJSONTyped(json, false); +} + +export function QueueItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): QueueItem { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + }; +} + +export function QueueItemToJSON(value?: QueueItem | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Id': value.id, + 'PlaylistItemId': value.playlistItemId, + }; +} + diff --git a/server/jellyfin/models/QueueRequestDto.ts b/server/jellyfin/models/QueueRequestDto.ts new file mode 100644 index 0000000..c800465 --- /dev/null +++ b/server/jellyfin/models/QueueRequestDto.ts @@ -0,0 +1,80 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { GroupQueueMode } from './GroupQueueMode'; +import { + GroupQueueModeFromJSON, + GroupQueueModeFromJSONTyped, + GroupQueueModeToJSON, +} from './GroupQueueMode'; + +/** + * Class QueueRequestDto. + * @export + * @interface QueueRequestDto + */ +export interface QueueRequestDto { + /** + * Gets or sets the items to enqueue. + * @type {Array} + * @memberof QueueRequestDto + */ + itemIds?: Array; + /** + * + * @type {GroupQueueMode} + * @memberof QueueRequestDto + */ + mode?: GroupQueueMode; +} + +/** + * Check if a given object implements the QueueRequestDto interface. + */ +export function instanceOfQueueRequestDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function QueueRequestDtoFromJSON(json: any): QueueRequestDto { + return QueueRequestDtoFromJSONTyped(json, false); +} + +export function QueueRequestDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): QueueRequestDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'itemIds': !exists(json, 'ItemIds') ? undefined : json['ItemIds'], + 'mode': !exists(json, 'Mode') ? undefined : GroupQueueModeFromJSON(json['Mode']), + }; +} + +export function QueueRequestDtoToJSON(value?: QueueRequestDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'ItemIds': value.itemIds, + 'Mode': GroupQueueModeToJSON(value.mode), + }; +} + diff --git a/server/jellyfin/models/QuickConnectDto.ts b/server/jellyfin/models/QuickConnectDto.ts new file mode 100644 index 0000000..434379c --- /dev/null +++ b/server/jellyfin/models/QuickConnectDto.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * The quick connect request body. + * @export + * @interface QuickConnectDto + */ +export interface QuickConnectDto { + /** + * Gets or sets the quick connect secret. + * @type {string} + * @memberof QuickConnectDto + */ + secret: string; +} + +/** + * Check if a given object implements the QuickConnectDto interface. + */ +export function instanceOfQuickConnectDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "secret" in value; + + return isInstance; +} + +export function QuickConnectDtoFromJSON(json: any): QuickConnectDto { + return QuickConnectDtoFromJSONTyped(json, false); +} + +export function QuickConnectDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): QuickConnectDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'secret': json['Secret'], + }; +} + +export function QuickConnectDtoToJSON(value?: QuickConnectDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Secret': value.secret, + }; +} + diff --git a/server/jellyfin/models/QuickConnectResult.ts b/server/jellyfin/models/QuickConnectResult.ts new file mode 100644 index 0000000..087004c --- /dev/null +++ b/server/jellyfin/models/QuickConnectResult.ts @@ -0,0 +1,121 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Stores the state of an quick connect request. + * @export + * @interface QuickConnectResult + */ +export interface QuickConnectResult { + /** + * Gets or sets a value indicating whether this request is authorized. + * @type {boolean} + * @memberof QuickConnectResult + */ + authenticated?: boolean; + /** + * Gets the secret value used to uniquely identify this request. Can be used to retrieve authentication information. + * @type {string} + * @memberof QuickConnectResult + */ + secret?: string; + /** + * Gets the user facing code used so the user can quickly differentiate this request from others. + * @type {string} + * @memberof QuickConnectResult + */ + code?: string; + /** + * Gets the requesting device id. + * @type {string} + * @memberof QuickConnectResult + */ + deviceId?: string; + /** + * Gets the requesting device name. + * @type {string} + * @memberof QuickConnectResult + */ + deviceName?: string; + /** + * Gets the requesting app name. + * @type {string} + * @memberof QuickConnectResult + */ + appName?: string; + /** + * Gets the requesting app version. + * @type {string} + * @memberof QuickConnectResult + */ + appVersion?: string; + /** + * Gets or sets the DateTime that this request was created. + * @type {Date} + * @memberof QuickConnectResult + */ + dateAdded?: Date; +} + +/** + * Check if a given object implements the QuickConnectResult interface. + */ +export function instanceOfQuickConnectResult(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function QuickConnectResultFromJSON(json: any): QuickConnectResult { + return QuickConnectResultFromJSONTyped(json, false); +} + +export function QuickConnectResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): QuickConnectResult { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'authenticated': !exists(json, 'Authenticated') ? undefined : json['Authenticated'], + 'secret': !exists(json, 'Secret') ? undefined : json['Secret'], + 'code': !exists(json, 'Code') ? undefined : json['Code'], + 'deviceId': !exists(json, 'DeviceId') ? undefined : json['DeviceId'], + 'deviceName': !exists(json, 'DeviceName') ? undefined : json['DeviceName'], + 'appName': !exists(json, 'AppName') ? undefined : json['AppName'], + 'appVersion': !exists(json, 'AppVersion') ? undefined : json['AppVersion'], + 'dateAdded': !exists(json, 'DateAdded') ? undefined : (new Date(json['DateAdded'])), + }; +} + +export function QuickConnectResultToJSON(value?: QuickConnectResult | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Authenticated': value.authenticated, + 'Secret': value.secret, + 'Code': value.code, + 'DeviceId': value.deviceId, + 'DeviceName': value.deviceName, + 'AppName': value.appName, + 'AppVersion': value.appVersion, + 'DateAdded': value.dateAdded === undefined ? undefined : (value.dateAdded.toISOString()), + }; +} + diff --git a/server/jellyfin/models/RatingType.ts b/server/jellyfin/models/RatingType.ts new file mode 100644 index 0000000..d06d247 --- /dev/null +++ b/server/jellyfin/models/RatingType.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const RatingType = { + Score: 'Score', + Likes: 'Likes' +} as const; +export type RatingType = typeof RatingType[keyof typeof RatingType]; + + +export function RatingTypeFromJSON(json: any): RatingType { + return RatingTypeFromJSONTyped(json, false); +} + +export function RatingTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): RatingType { + return json as RatingType; +} + +export function RatingTypeToJSON(value?: RatingType | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/ReadyRequestDto.ts b/server/jellyfin/models/ReadyRequestDto.ts new file mode 100644 index 0000000..bb9328d --- /dev/null +++ b/server/jellyfin/models/ReadyRequestDto.ts @@ -0,0 +1,89 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class ReadyRequest. + * @export + * @interface ReadyRequestDto + */ +export interface ReadyRequestDto { + /** + * Gets or sets when the request has been made by the client. + * @type {Date} + * @memberof ReadyRequestDto + */ + when?: Date; + /** + * Gets or sets the position ticks. + * @type {number} + * @memberof ReadyRequestDto + */ + positionTicks?: number; + /** + * Gets or sets a value indicating whether the client playback is unpaused. + * @type {boolean} + * @memberof ReadyRequestDto + */ + isPlaying?: boolean; + /** + * Gets or sets the playlist item identifier of the playing item. + * @type {string} + * @memberof ReadyRequestDto + */ + playlistItemId?: string; +} + +/** + * Check if a given object implements the ReadyRequestDto interface. + */ +export function instanceOfReadyRequestDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ReadyRequestDtoFromJSON(json: any): ReadyRequestDto { + return ReadyRequestDtoFromJSONTyped(json, false); +} + +export function ReadyRequestDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ReadyRequestDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'when': !exists(json, 'When') ? undefined : (new Date(json['When'])), + 'positionTicks': !exists(json, 'PositionTicks') ? undefined : json['PositionTicks'], + 'isPlaying': !exists(json, 'IsPlaying') ? undefined : json['IsPlaying'], + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + }; +} + +export function ReadyRequestDtoToJSON(value?: ReadyRequestDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'When': value.when === undefined ? undefined : (value.when.toISOString()), + 'PositionTicks': value.positionTicks, + 'IsPlaying': value.isPlaying, + 'PlaylistItemId': value.playlistItemId, + }; +} + diff --git a/server/jellyfin/models/RecommendationDto.ts b/server/jellyfin/models/RecommendationDto.ts new file mode 100644 index 0000000..45837e4 --- /dev/null +++ b/server/jellyfin/models/RecommendationDto.ts @@ -0,0 +1,102 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { BaseItemDto } from './BaseItemDto'; +import { + BaseItemDtoFromJSON, + BaseItemDtoFromJSONTyped, + BaseItemDtoToJSON, +} from './BaseItemDto'; +import type { RecommendationType } from './RecommendationType'; +import { + RecommendationTypeFromJSON, + RecommendationTypeFromJSONTyped, + RecommendationTypeToJSON, +} from './RecommendationType'; + +/** + * + * @export + * @interface RecommendationDto + */ +export interface RecommendationDto { + /** + * + * @type {Array} + * @memberof RecommendationDto + */ + items?: Array | null; + /** + * + * @type {RecommendationType} + * @memberof RecommendationDto + */ + recommendationType?: RecommendationType; + /** + * + * @type {string} + * @memberof RecommendationDto + */ + baselineItemName?: string | null; + /** + * + * @type {string} + * @memberof RecommendationDto + */ + categoryId?: string; +} + +/** + * Check if a given object implements the RecommendationDto interface. + */ +export function instanceOfRecommendationDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function RecommendationDtoFromJSON(json: any): RecommendationDto { + return RecommendationDtoFromJSONTyped(json, false); +} + +export function RecommendationDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): RecommendationDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'items': !exists(json, 'Items') ? undefined : (json['Items'] === null ? null : (json['Items'] as Array).map(BaseItemDtoFromJSON)), + 'recommendationType': !exists(json, 'RecommendationType') ? undefined : RecommendationTypeFromJSON(json['RecommendationType']), + 'baselineItemName': !exists(json, 'BaselineItemName') ? undefined : json['BaselineItemName'], + 'categoryId': !exists(json, 'CategoryId') ? undefined : json['CategoryId'], + }; +} + +export function RecommendationDtoToJSON(value?: RecommendationDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Items': value.items === undefined ? undefined : (value.items === null ? null : (value.items as Array).map(BaseItemDtoToJSON)), + 'RecommendationType': RecommendationTypeToJSON(value.recommendationType), + 'BaselineItemName': value.baselineItemName, + 'CategoryId': value.categoryId, + }; +} + diff --git a/server/jellyfin/models/RecommendationType.ts b/server/jellyfin/models/RecommendationType.ts new file mode 100644 index 0000000..41188b9 --- /dev/null +++ b/server/jellyfin/models/RecommendationType.ts @@ -0,0 +1,42 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const RecommendationType = { + SimilarToRecentlyPlayed: 'SimilarToRecentlyPlayed', + SimilarToLikedItem: 'SimilarToLikedItem', + HasDirectorFromRecentlyPlayed: 'HasDirectorFromRecentlyPlayed', + HasActorFromRecentlyPlayed: 'HasActorFromRecentlyPlayed', + HasLikedDirector: 'HasLikedDirector', + HasLikedActor: 'HasLikedActor' +} as const; +export type RecommendationType = typeof RecommendationType[keyof typeof RecommendationType]; + + +export function RecommendationTypeFromJSON(json: any): RecommendationType { + return RecommendationTypeFromJSONTyped(json, false); +} + +export function RecommendationTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): RecommendationType { + return json as RecommendationType; +} + +export function RecommendationTypeToJSON(value?: RecommendationType | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/RecordingStatus.ts b/server/jellyfin/models/RecordingStatus.ts new file mode 100644 index 0000000..149934d --- /dev/null +++ b/server/jellyfin/models/RecordingStatus.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const RecordingStatus = { + New: 'New', + InProgress: 'InProgress', + Completed: 'Completed', + Cancelled: 'Cancelled', + ConflictedOk: 'ConflictedOk', + ConflictedNotOk: 'ConflictedNotOk', + Error: 'Error' +} as const; +export type RecordingStatus = typeof RecordingStatus[keyof typeof RecordingStatus]; + + +export function RecordingStatusFromJSON(json: any): RecordingStatus { + return RecordingStatusFromJSONTyped(json, false); +} + +export function RecordingStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): RecordingStatus { + return json as RecordingStatus; +} + +export function RecordingStatusToJSON(value?: RecordingStatus | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/RemoteImageInfo.ts b/server/jellyfin/models/RemoteImageInfo.ts new file mode 100644 index 0000000..9a16489 --- /dev/null +++ b/server/jellyfin/models/RemoteImageInfo.ts @@ -0,0 +1,150 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ImageType } from './ImageType'; +import { + ImageTypeFromJSON, + ImageTypeFromJSONTyped, + ImageTypeToJSON, +} from './ImageType'; +import type { RatingType } from './RatingType'; +import { + RatingTypeFromJSON, + RatingTypeFromJSONTyped, + RatingTypeToJSON, +} from './RatingType'; + +/** + * Class RemoteImageInfo. + * @export + * @interface RemoteImageInfo + */ +export interface RemoteImageInfo { + /** + * Gets or sets the name of the provider. + * @type {string} + * @memberof RemoteImageInfo + */ + providerName?: string | null; + /** + * Gets or sets the URL. + * @type {string} + * @memberof RemoteImageInfo + */ + url?: string | null; + /** + * Gets or sets a url used for previewing a smaller version. + * @type {string} + * @memberof RemoteImageInfo + */ + thumbnailUrl?: string | null; + /** + * Gets or sets the height. + * @type {number} + * @memberof RemoteImageInfo + */ + height?: number | null; + /** + * Gets or sets the width. + * @type {number} + * @memberof RemoteImageInfo + */ + width?: number | null; + /** + * Gets or sets the community rating. + * @type {number} + * @memberof RemoteImageInfo + */ + communityRating?: number | null; + /** + * Gets or sets the vote count. + * @type {number} + * @memberof RemoteImageInfo + */ + voteCount?: number | null; + /** + * Gets or sets the language. + * @type {string} + * @memberof RemoteImageInfo + */ + language?: string | null; + /** + * + * @type {ImageType} + * @memberof RemoteImageInfo + */ + type?: ImageType; + /** + * + * @type {RatingType} + * @memberof RemoteImageInfo + */ + ratingType?: RatingType; +} + +/** + * Check if a given object implements the RemoteImageInfo interface. + */ +export function instanceOfRemoteImageInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function RemoteImageInfoFromJSON(json: any): RemoteImageInfo { + return RemoteImageInfoFromJSONTyped(json, false); +} + +export function RemoteImageInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): RemoteImageInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'providerName': !exists(json, 'ProviderName') ? undefined : json['ProviderName'], + 'url': !exists(json, 'Url') ? undefined : json['Url'], + 'thumbnailUrl': !exists(json, 'ThumbnailUrl') ? undefined : json['ThumbnailUrl'], + 'height': !exists(json, 'Height') ? undefined : json['Height'], + 'width': !exists(json, 'Width') ? undefined : json['Width'], + 'communityRating': !exists(json, 'CommunityRating') ? undefined : json['CommunityRating'], + 'voteCount': !exists(json, 'VoteCount') ? undefined : json['VoteCount'], + 'language': !exists(json, 'Language') ? undefined : json['Language'], + 'type': !exists(json, 'Type') ? undefined : ImageTypeFromJSON(json['Type']), + 'ratingType': !exists(json, 'RatingType') ? undefined : RatingTypeFromJSON(json['RatingType']), + }; +} + +export function RemoteImageInfoToJSON(value?: RemoteImageInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'ProviderName': value.providerName, + 'Url': value.url, + 'ThumbnailUrl': value.thumbnailUrl, + 'Height': value.height, + 'Width': value.width, + 'CommunityRating': value.communityRating, + 'VoteCount': value.voteCount, + 'Language': value.language, + 'Type': ImageTypeToJSON(value.type), + 'RatingType': RatingTypeToJSON(value.ratingType), + }; +} + diff --git a/server/jellyfin/models/RemoteImageResult.ts b/server/jellyfin/models/RemoteImageResult.ts new file mode 100644 index 0000000..a26c863 --- /dev/null +++ b/server/jellyfin/models/RemoteImageResult.ts @@ -0,0 +1,88 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { RemoteImageInfo } from './RemoteImageInfo'; +import { + RemoteImageInfoFromJSON, + RemoteImageInfoFromJSONTyped, + RemoteImageInfoToJSON, +} from './RemoteImageInfo'; + +/** + * Class RemoteImageResult. + * @export + * @interface RemoteImageResult + */ +export interface RemoteImageResult { + /** + * Gets or sets the images. + * @type {Array} + * @memberof RemoteImageResult + */ + images?: Array | null; + /** + * Gets or sets the total record count. + * @type {number} + * @memberof RemoteImageResult + */ + totalRecordCount?: number; + /** + * Gets or sets the providers. + * @type {Array} + * @memberof RemoteImageResult + */ + providers?: Array | null; +} + +/** + * Check if a given object implements the RemoteImageResult interface. + */ +export function instanceOfRemoteImageResult(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function RemoteImageResultFromJSON(json: any): RemoteImageResult { + return RemoteImageResultFromJSONTyped(json, false); +} + +export function RemoteImageResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): RemoteImageResult { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'images': !exists(json, 'Images') ? undefined : (json['Images'] === null ? null : (json['Images'] as Array).map(RemoteImageInfoFromJSON)), + 'totalRecordCount': !exists(json, 'TotalRecordCount') ? undefined : json['TotalRecordCount'], + 'providers': !exists(json, 'Providers') ? undefined : json['Providers'], + }; +} + +export function RemoteImageResultToJSON(value?: RemoteImageResult | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Images': value.images === undefined ? undefined : (value.images === null ? null : (value.images as Array).map(RemoteImageInfoToJSON)), + 'TotalRecordCount': value.totalRecordCount, + 'Providers': value.providers, + }; +} + diff --git a/server/jellyfin/models/RemoteSearchResult.ts b/server/jellyfin/models/RemoteSearchResult.ts new file mode 100644 index 0000000..93f9e81 --- /dev/null +++ b/server/jellyfin/models/RemoteSearchResult.ts @@ -0,0 +1,153 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface RemoteSearchResult + */ +export interface RemoteSearchResult { + /** + * Gets or sets the name. + * @type {string} + * @memberof RemoteSearchResult + */ + name?: string | null; + /** + * Gets or sets the provider ids. + * @type {{ [key: string]: string; }} + * @memberof RemoteSearchResult + */ + providerIds?: { [key: string]: string; } | null; + /** + * Gets or sets the year. + * @type {number} + * @memberof RemoteSearchResult + */ + productionYear?: number | null; + /** + * + * @type {number} + * @memberof RemoteSearchResult + */ + indexNumber?: number | null; + /** + * + * @type {number} + * @memberof RemoteSearchResult + */ + indexNumberEnd?: number | null; + /** + * + * @type {number} + * @memberof RemoteSearchResult + */ + parentIndexNumber?: number | null; + /** + * + * @type {Date} + * @memberof RemoteSearchResult + */ + premiereDate?: Date | null; + /** + * + * @type {string} + * @memberof RemoteSearchResult + */ + imageUrl?: string | null; + /** + * + * @type {string} + * @memberof RemoteSearchResult + */ + searchProviderName?: string | null; + /** + * + * @type {string} + * @memberof RemoteSearchResult + */ + overview?: string | null; + /** + * + * @type {RemoteSearchResult} + * @memberof RemoteSearchResult + */ + albumArtist?: RemoteSearchResult | null; + /** + * + * @type {Array} + * @memberof RemoteSearchResult + */ + artists?: Array | null; +} + +/** + * Check if a given object implements the RemoteSearchResult interface. + */ +export function instanceOfRemoteSearchResult(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function RemoteSearchResultFromJSON(json: any): RemoteSearchResult { + return RemoteSearchResultFromJSONTyped(json, false); +} + +export function RemoteSearchResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): RemoteSearchResult { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'providerIds': !exists(json, 'ProviderIds') ? undefined : json['ProviderIds'], + 'productionYear': !exists(json, 'ProductionYear') ? undefined : json['ProductionYear'], + 'indexNumber': !exists(json, 'IndexNumber') ? undefined : json['IndexNumber'], + 'indexNumberEnd': !exists(json, 'IndexNumberEnd') ? undefined : json['IndexNumberEnd'], + 'parentIndexNumber': !exists(json, 'ParentIndexNumber') ? undefined : json['ParentIndexNumber'], + 'premiereDate': !exists(json, 'PremiereDate') ? undefined : (json['PremiereDate'] === null ? null : new Date(json['PremiereDate'])), + 'imageUrl': !exists(json, 'ImageUrl') ? undefined : json['ImageUrl'], + 'searchProviderName': !exists(json, 'SearchProviderName') ? undefined : json['SearchProviderName'], + 'overview': !exists(json, 'Overview') ? undefined : json['Overview'], + 'albumArtist': !exists(json, 'AlbumArtist') ? undefined : RemoteSearchResultFromJSON(json['AlbumArtist']), + 'artists': !exists(json, 'Artists') ? undefined : (json['Artists'] === null ? null : (json['Artists'] as Array).map(RemoteSearchResultFromJSON)), + }; +} + +export function RemoteSearchResultToJSON(value?: RemoteSearchResult | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'ProviderIds': value.providerIds, + 'ProductionYear': value.productionYear, + 'IndexNumber': value.indexNumber, + 'IndexNumberEnd': value.indexNumberEnd, + 'ParentIndexNumber': value.parentIndexNumber, + 'PremiereDate': value.premiereDate === undefined ? undefined : (value.premiereDate === null ? null : value.premiereDate.toISOString()), + 'ImageUrl': value.imageUrl, + 'SearchProviderName': value.searchProviderName, + 'Overview': value.overview, + 'AlbumArtist': RemoteSearchResultToJSON(value.albumArtist), + 'Artists': value.artists === undefined ? undefined : (value.artists === null ? null : (value.artists as Array).map(RemoteSearchResultToJSON)), + }; +} + diff --git a/server/jellyfin/models/RemoteSubtitleInfo.ts b/server/jellyfin/models/RemoteSubtitleInfo.ts new file mode 100644 index 0000000..97609f1 --- /dev/null +++ b/server/jellyfin/models/RemoteSubtitleInfo.ts @@ -0,0 +1,145 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface RemoteSubtitleInfo + */ +export interface RemoteSubtitleInfo { + /** + * + * @type {string} + * @memberof RemoteSubtitleInfo + */ + threeLetterISOLanguageName?: string | null; + /** + * + * @type {string} + * @memberof RemoteSubtitleInfo + */ + id?: string | null; + /** + * + * @type {string} + * @memberof RemoteSubtitleInfo + */ + providerName?: string | null; + /** + * + * @type {string} + * @memberof RemoteSubtitleInfo + */ + name?: string | null; + /** + * + * @type {string} + * @memberof RemoteSubtitleInfo + */ + format?: string | null; + /** + * + * @type {string} + * @memberof RemoteSubtitleInfo + */ + author?: string | null; + /** + * + * @type {string} + * @memberof RemoteSubtitleInfo + */ + comment?: string | null; + /** + * + * @type {Date} + * @memberof RemoteSubtitleInfo + */ + dateCreated?: Date | null; + /** + * + * @type {number} + * @memberof RemoteSubtitleInfo + */ + communityRating?: number | null; + /** + * + * @type {number} + * @memberof RemoteSubtitleInfo + */ + downloadCount?: number | null; + /** + * + * @type {boolean} + * @memberof RemoteSubtitleInfo + */ + isHashMatch?: boolean | null; +} + +/** + * Check if a given object implements the RemoteSubtitleInfo interface. + */ +export function instanceOfRemoteSubtitleInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function RemoteSubtitleInfoFromJSON(json: any): RemoteSubtitleInfo { + return RemoteSubtitleInfoFromJSONTyped(json, false); +} + +export function RemoteSubtitleInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): RemoteSubtitleInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'threeLetterISOLanguageName': !exists(json, 'ThreeLetterISOLanguageName') ? undefined : json['ThreeLetterISOLanguageName'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'providerName': !exists(json, 'ProviderName') ? undefined : json['ProviderName'], + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'format': !exists(json, 'Format') ? undefined : json['Format'], + 'author': !exists(json, 'Author') ? undefined : json['Author'], + 'comment': !exists(json, 'Comment') ? undefined : json['Comment'], + 'dateCreated': !exists(json, 'DateCreated') ? undefined : (json['DateCreated'] === null ? null : new Date(json['DateCreated'])), + 'communityRating': !exists(json, 'CommunityRating') ? undefined : json['CommunityRating'], + 'downloadCount': !exists(json, 'DownloadCount') ? undefined : json['DownloadCount'], + 'isHashMatch': !exists(json, 'IsHashMatch') ? undefined : json['IsHashMatch'], + }; +} + +export function RemoteSubtitleInfoToJSON(value?: RemoteSubtitleInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'ThreeLetterISOLanguageName': value.threeLetterISOLanguageName, + 'Id': value.id, + 'ProviderName': value.providerName, + 'Name': value.name, + 'Format': value.format, + 'Author': value.author, + 'Comment': value.comment, + 'DateCreated': value.dateCreated === undefined ? undefined : (value.dateCreated === null ? null : value.dateCreated.toISOString()), + 'CommunityRating': value.communityRating, + 'DownloadCount': value.downloadCount, + 'IsHashMatch': value.isHashMatch, + }; +} + diff --git a/server/jellyfin/models/RemoveFromPlaylistRequestDto.ts b/server/jellyfin/models/RemoveFromPlaylistRequestDto.ts new file mode 100644 index 0000000..ec039da --- /dev/null +++ b/server/jellyfin/models/RemoveFromPlaylistRequestDto.ts @@ -0,0 +1,81 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class RemoveFromPlaylistRequestDto. + * @export + * @interface RemoveFromPlaylistRequestDto + */ +export interface RemoveFromPlaylistRequestDto { + /** + * Gets or sets the playlist identifiers ot the items. Ignored when clearing the playlist. + * @type {Array} + * @memberof RemoveFromPlaylistRequestDto + */ + playlistItemIds?: Array; + /** + * Gets or sets a value indicating whether the entire playlist should be cleared. + * @type {boolean} + * @memberof RemoveFromPlaylistRequestDto + */ + clearPlaylist?: boolean; + /** + * Gets or sets a value indicating whether the playing item should be removed as well. Used only when clearing the playlist. + * @type {boolean} + * @memberof RemoveFromPlaylistRequestDto + */ + clearPlayingItem?: boolean; +} + +/** + * Check if a given object implements the RemoveFromPlaylistRequestDto interface. + */ +export function instanceOfRemoveFromPlaylistRequestDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function RemoveFromPlaylistRequestDtoFromJSON(json: any): RemoveFromPlaylistRequestDto { + return RemoveFromPlaylistRequestDtoFromJSONTyped(json, false); +} + +export function RemoveFromPlaylistRequestDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): RemoveFromPlaylistRequestDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'playlistItemIds': !exists(json, 'PlaylistItemIds') ? undefined : json['PlaylistItemIds'], + 'clearPlaylist': !exists(json, 'ClearPlaylist') ? undefined : json['ClearPlaylist'], + 'clearPlayingItem': !exists(json, 'ClearPlayingItem') ? undefined : json['ClearPlayingItem'], + }; +} + +export function RemoveFromPlaylistRequestDtoToJSON(value?: RemoveFromPlaylistRequestDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'PlaylistItemIds': value.playlistItemIds, + 'ClearPlaylist': value.clearPlaylist, + 'ClearPlayingItem': value.clearPlayingItem, + }; +} + diff --git a/server/jellyfin/models/RepeatMode.ts b/server/jellyfin/models/RepeatMode.ts new file mode 100644 index 0000000..e0d02fc --- /dev/null +++ b/server/jellyfin/models/RepeatMode.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const RepeatMode = { + RepeatNone: 'RepeatNone', + RepeatAll: 'RepeatAll', + RepeatOne: 'RepeatOne' +} as const; +export type RepeatMode = typeof RepeatMode[keyof typeof RepeatMode]; + + +export function RepeatModeFromJSON(json: any): RepeatMode { + return RepeatModeFromJSONTyped(json, false); +} + +export function RepeatModeFromJSONTyped(json: any, ignoreDiscriminator: boolean): RepeatMode { + return json as RepeatMode; +} + +export function RepeatModeToJSON(value?: RepeatMode | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/ReportPlaybackProgressRequest.ts b/server/jellyfin/models/ReportPlaybackProgressRequest.ts new file mode 100644 index 0000000..0a9f208 --- /dev/null +++ b/server/jellyfin/models/ReportPlaybackProgressRequest.ts @@ -0,0 +1,242 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { PlayMethod } from './PlayMethod'; +import { + PlayMethodFromJSON, + PlayMethodFromJSONTyped, + PlayMethodToJSON, +} from './PlayMethod'; +import type { PlaybackProgressInfoItem } from './PlaybackProgressInfoItem'; +import { + PlaybackProgressInfoItemFromJSON, + PlaybackProgressInfoItemFromJSONTyped, + PlaybackProgressInfoItemToJSON, +} from './PlaybackProgressInfoItem'; +import type { QueueItem } from './QueueItem'; +import { + QueueItemFromJSON, + QueueItemFromJSONTyped, + QueueItemToJSON, +} from './QueueItem'; +import type { RepeatMode } from './RepeatMode'; +import { + RepeatModeFromJSON, + RepeatModeFromJSONTyped, + RepeatModeToJSON, +} from './RepeatMode'; + +/** + * Class PlaybackProgressInfo. + * @export + * @interface ReportPlaybackProgressRequest + */ +export interface ReportPlaybackProgressRequest { + /** + * Gets or sets a value indicating whether this instance can seek. + * @type {boolean} + * @memberof ReportPlaybackProgressRequest + */ + canSeek?: boolean; + /** + * + * @type {PlaybackProgressInfoItem} + * @memberof ReportPlaybackProgressRequest + */ + item?: PlaybackProgressInfoItem | null; + /** + * Gets or sets the item identifier. + * @type {string} + * @memberof ReportPlaybackProgressRequest + */ + itemId?: string; + /** + * Gets or sets the session id. + * @type {string} + * @memberof ReportPlaybackProgressRequest + */ + sessionId?: string | null; + /** + * Gets or sets the media version identifier. + * @type {string} + * @memberof ReportPlaybackProgressRequest + */ + mediaSourceId?: string | null; + /** + * Gets or sets the index of the audio stream. + * @type {number} + * @memberof ReportPlaybackProgressRequest + */ + audioStreamIndex?: number | null; + /** + * Gets or sets the index of the subtitle stream. + * @type {number} + * @memberof ReportPlaybackProgressRequest + */ + subtitleStreamIndex?: number | null; + /** + * Gets or sets a value indicating whether this instance is paused. + * @type {boolean} + * @memberof ReportPlaybackProgressRequest + */ + isPaused?: boolean; + /** + * Gets or sets a value indicating whether this instance is muted. + * @type {boolean} + * @memberof ReportPlaybackProgressRequest + */ + isMuted?: boolean; + /** + * Gets or sets the position ticks. + * @type {number} + * @memberof ReportPlaybackProgressRequest + */ + positionTicks?: number | null; + /** + * + * @type {number} + * @memberof ReportPlaybackProgressRequest + */ + playbackStartTimeTicks?: number | null; + /** + * Gets or sets the volume level. + * @type {number} + * @memberof ReportPlaybackProgressRequest + */ + volumeLevel?: number | null; + /** + * + * @type {number} + * @memberof ReportPlaybackProgressRequest + */ + brightness?: number | null; + /** + * + * @type {string} + * @memberof ReportPlaybackProgressRequest + */ + aspectRatio?: string | null; + /** + * + * @type {PlayMethod} + * @memberof ReportPlaybackProgressRequest + */ + playMethod?: PlayMethod; + /** + * Gets or sets the live stream identifier. + * @type {string} + * @memberof ReportPlaybackProgressRequest + */ + liveStreamId?: string | null; + /** + * Gets or sets the play session identifier. + * @type {string} + * @memberof ReportPlaybackProgressRequest + */ + playSessionId?: string | null; + /** + * + * @type {RepeatMode} + * @memberof ReportPlaybackProgressRequest + */ + repeatMode?: RepeatMode; + /** + * + * @type {Array} + * @memberof ReportPlaybackProgressRequest + */ + nowPlayingQueue?: Array | null; + /** + * + * @type {string} + * @memberof ReportPlaybackProgressRequest + */ + playlistItemId?: string | null; +} + +/** + * Check if a given object implements the ReportPlaybackProgressRequest interface. + */ +export function instanceOfReportPlaybackProgressRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ReportPlaybackProgressRequestFromJSON(json: any): ReportPlaybackProgressRequest { + return ReportPlaybackProgressRequestFromJSONTyped(json, false); +} + +export function ReportPlaybackProgressRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): ReportPlaybackProgressRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'canSeek': !exists(json, 'CanSeek') ? undefined : json['CanSeek'], + 'item': !exists(json, 'Item') ? undefined : PlaybackProgressInfoItemFromJSON(json['Item']), + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'sessionId': !exists(json, 'SessionId') ? undefined : json['SessionId'], + 'mediaSourceId': !exists(json, 'MediaSourceId') ? undefined : json['MediaSourceId'], + 'audioStreamIndex': !exists(json, 'AudioStreamIndex') ? undefined : json['AudioStreamIndex'], + 'subtitleStreamIndex': !exists(json, 'SubtitleStreamIndex') ? undefined : json['SubtitleStreamIndex'], + 'isPaused': !exists(json, 'IsPaused') ? undefined : json['IsPaused'], + 'isMuted': !exists(json, 'IsMuted') ? undefined : json['IsMuted'], + 'positionTicks': !exists(json, 'PositionTicks') ? undefined : json['PositionTicks'], + 'playbackStartTimeTicks': !exists(json, 'PlaybackStartTimeTicks') ? undefined : json['PlaybackStartTimeTicks'], + 'volumeLevel': !exists(json, 'VolumeLevel') ? undefined : json['VolumeLevel'], + 'brightness': !exists(json, 'Brightness') ? undefined : json['Brightness'], + 'aspectRatio': !exists(json, 'AspectRatio') ? undefined : json['AspectRatio'], + 'playMethod': !exists(json, 'PlayMethod') ? undefined : PlayMethodFromJSON(json['PlayMethod']), + 'liveStreamId': !exists(json, 'LiveStreamId') ? undefined : json['LiveStreamId'], + 'playSessionId': !exists(json, 'PlaySessionId') ? undefined : json['PlaySessionId'], + 'repeatMode': !exists(json, 'RepeatMode') ? undefined : RepeatModeFromJSON(json['RepeatMode']), + 'nowPlayingQueue': !exists(json, 'NowPlayingQueue') ? undefined : (json['NowPlayingQueue'] === null ? null : (json['NowPlayingQueue'] as Array).map(QueueItemFromJSON)), + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + }; +} + +export function ReportPlaybackProgressRequestToJSON(value?: ReportPlaybackProgressRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'CanSeek': value.canSeek, + 'Item': PlaybackProgressInfoItemToJSON(value.item), + 'ItemId': value.itemId, + 'SessionId': value.sessionId, + 'MediaSourceId': value.mediaSourceId, + 'AudioStreamIndex': value.audioStreamIndex, + 'SubtitleStreamIndex': value.subtitleStreamIndex, + 'IsPaused': value.isPaused, + 'IsMuted': value.isMuted, + 'PositionTicks': value.positionTicks, + 'PlaybackStartTimeTicks': value.playbackStartTimeTicks, + 'VolumeLevel': value.volumeLevel, + 'Brightness': value.brightness, + 'AspectRatio': value.aspectRatio, + 'PlayMethod': PlayMethodToJSON(value.playMethod), + 'LiveStreamId': value.liveStreamId, + 'PlaySessionId': value.playSessionId, + 'RepeatMode': RepeatModeToJSON(value.repeatMode), + 'NowPlayingQueue': value.nowPlayingQueue === undefined ? undefined : (value.nowPlayingQueue === null ? null : (value.nowPlayingQueue as Array).map(QueueItemToJSON)), + 'PlaylistItemId': value.playlistItemId, + }; +} + diff --git a/server/jellyfin/models/ReportPlaybackStartRequest.ts b/server/jellyfin/models/ReportPlaybackStartRequest.ts new file mode 100644 index 0000000..6adac78 --- /dev/null +++ b/server/jellyfin/models/ReportPlaybackStartRequest.ts @@ -0,0 +1,242 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { PlayMethod } from './PlayMethod'; +import { + PlayMethodFromJSON, + PlayMethodFromJSONTyped, + PlayMethodToJSON, +} from './PlayMethod'; +import type { PlaybackProgressInfoItem } from './PlaybackProgressInfoItem'; +import { + PlaybackProgressInfoItemFromJSON, + PlaybackProgressInfoItemFromJSONTyped, + PlaybackProgressInfoItemToJSON, +} from './PlaybackProgressInfoItem'; +import type { QueueItem } from './QueueItem'; +import { + QueueItemFromJSON, + QueueItemFromJSONTyped, + QueueItemToJSON, +} from './QueueItem'; +import type { RepeatMode } from './RepeatMode'; +import { + RepeatModeFromJSON, + RepeatModeFromJSONTyped, + RepeatModeToJSON, +} from './RepeatMode'; + +/** + * Class PlaybackStartInfo. + * @export + * @interface ReportPlaybackStartRequest + */ +export interface ReportPlaybackStartRequest { + /** + * Gets or sets a value indicating whether this instance can seek. + * @type {boolean} + * @memberof ReportPlaybackStartRequest + */ + canSeek?: boolean; + /** + * + * @type {PlaybackProgressInfoItem} + * @memberof ReportPlaybackStartRequest + */ + item?: PlaybackProgressInfoItem | null; + /** + * Gets or sets the item identifier. + * @type {string} + * @memberof ReportPlaybackStartRequest + */ + itemId?: string; + /** + * Gets or sets the session id. + * @type {string} + * @memberof ReportPlaybackStartRequest + */ + sessionId?: string | null; + /** + * Gets or sets the media version identifier. + * @type {string} + * @memberof ReportPlaybackStartRequest + */ + mediaSourceId?: string | null; + /** + * Gets or sets the index of the audio stream. + * @type {number} + * @memberof ReportPlaybackStartRequest + */ + audioStreamIndex?: number | null; + /** + * Gets or sets the index of the subtitle stream. + * @type {number} + * @memberof ReportPlaybackStartRequest + */ + subtitleStreamIndex?: number | null; + /** + * Gets or sets a value indicating whether this instance is paused. + * @type {boolean} + * @memberof ReportPlaybackStartRequest + */ + isPaused?: boolean; + /** + * Gets or sets a value indicating whether this instance is muted. + * @type {boolean} + * @memberof ReportPlaybackStartRequest + */ + isMuted?: boolean; + /** + * Gets or sets the position ticks. + * @type {number} + * @memberof ReportPlaybackStartRequest + */ + positionTicks?: number | null; + /** + * + * @type {number} + * @memberof ReportPlaybackStartRequest + */ + playbackStartTimeTicks?: number | null; + /** + * Gets or sets the volume level. + * @type {number} + * @memberof ReportPlaybackStartRequest + */ + volumeLevel?: number | null; + /** + * + * @type {number} + * @memberof ReportPlaybackStartRequest + */ + brightness?: number | null; + /** + * + * @type {string} + * @memberof ReportPlaybackStartRequest + */ + aspectRatio?: string | null; + /** + * + * @type {PlayMethod} + * @memberof ReportPlaybackStartRequest + */ + playMethod?: PlayMethod; + /** + * Gets or sets the live stream identifier. + * @type {string} + * @memberof ReportPlaybackStartRequest + */ + liveStreamId?: string | null; + /** + * Gets or sets the play session identifier. + * @type {string} + * @memberof ReportPlaybackStartRequest + */ + playSessionId?: string | null; + /** + * + * @type {RepeatMode} + * @memberof ReportPlaybackStartRequest + */ + repeatMode?: RepeatMode; + /** + * + * @type {Array} + * @memberof ReportPlaybackStartRequest + */ + nowPlayingQueue?: Array | null; + /** + * + * @type {string} + * @memberof ReportPlaybackStartRequest + */ + playlistItemId?: string | null; +} + +/** + * Check if a given object implements the ReportPlaybackStartRequest interface. + */ +export function instanceOfReportPlaybackStartRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ReportPlaybackStartRequestFromJSON(json: any): ReportPlaybackStartRequest { + return ReportPlaybackStartRequestFromJSONTyped(json, false); +} + +export function ReportPlaybackStartRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): ReportPlaybackStartRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'canSeek': !exists(json, 'CanSeek') ? undefined : json['CanSeek'], + 'item': !exists(json, 'Item') ? undefined : PlaybackProgressInfoItemFromJSON(json['Item']), + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'sessionId': !exists(json, 'SessionId') ? undefined : json['SessionId'], + 'mediaSourceId': !exists(json, 'MediaSourceId') ? undefined : json['MediaSourceId'], + 'audioStreamIndex': !exists(json, 'AudioStreamIndex') ? undefined : json['AudioStreamIndex'], + 'subtitleStreamIndex': !exists(json, 'SubtitleStreamIndex') ? undefined : json['SubtitleStreamIndex'], + 'isPaused': !exists(json, 'IsPaused') ? undefined : json['IsPaused'], + 'isMuted': !exists(json, 'IsMuted') ? undefined : json['IsMuted'], + 'positionTicks': !exists(json, 'PositionTicks') ? undefined : json['PositionTicks'], + 'playbackStartTimeTicks': !exists(json, 'PlaybackStartTimeTicks') ? undefined : json['PlaybackStartTimeTicks'], + 'volumeLevel': !exists(json, 'VolumeLevel') ? undefined : json['VolumeLevel'], + 'brightness': !exists(json, 'Brightness') ? undefined : json['Brightness'], + 'aspectRatio': !exists(json, 'AspectRatio') ? undefined : json['AspectRatio'], + 'playMethod': !exists(json, 'PlayMethod') ? undefined : PlayMethodFromJSON(json['PlayMethod']), + 'liveStreamId': !exists(json, 'LiveStreamId') ? undefined : json['LiveStreamId'], + 'playSessionId': !exists(json, 'PlaySessionId') ? undefined : json['PlaySessionId'], + 'repeatMode': !exists(json, 'RepeatMode') ? undefined : RepeatModeFromJSON(json['RepeatMode']), + 'nowPlayingQueue': !exists(json, 'NowPlayingQueue') ? undefined : (json['NowPlayingQueue'] === null ? null : (json['NowPlayingQueue'] as Array).map(QueueItemFromJSON)), + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + }; +} + +export function ReportPlaybackStartRequestToJSON(value?: ReportPlaybackStartRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'CanSeek': value.canSeek, + 'Item': PlaybackProgressInfoItemToJSON(value.item), + 'ItemId': value.itemId, + 'SessionId': value.sessionId, + 'MediaSourceId': value.mediaSourceId, + 'AudioStreamIndex': value.audioStreamIndex, + 'SubtitleStreamIndex': value.subtitleStreamIndex, + 'IsPaused': value.isPaused, + 'IsMuted': value.isMuted, + 'PositionTicks': value.positionTicks, + 'PlaybackStartTimeTicks': value.playbackStartTimeTicks, + 'VolumeLevel': value.volumeLevel, + 'Brightness': value.brightness, + 'AspectRatio': value.aspectRatio, + 'PlayMethod': PlayMethodToJSON(value.playMethod), + 'LiveStreamId': value.liveStreamId, + 'PlaySessionId': value.playSessionId, + 'RepeatMode': RepeatModeToJSON(value.repeatMode), + 'NowPlayingQueue': value.nowPlayingQueue === undefined ? undefined : (value.nowPlayingQueue === null ? null : (value.nowPlayingQueue as Array).map(QueueItemToJSON)), + 'PlaylistItemId': value.playlistItemId, + }; +} + diff --git a/server/jellyfin/models/ReportPlaybackStoppedRequest.ts b/server/jellyfin/models/ReportPlaybackStoppedRequest.ts new file mode 100644 index 0000000..64721ec --- /dev/null +++ b/server/jellyfin/models/ReportPlaybackStoppedRequest.ts @@ -0,0 +1,158 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { PlaybackProgressInfoItem } from './PlaybackProgressInfoItem'; +import { + PlaybackProgressInfoItemFromJSON, + PlaybackProgressInfoItemFromJSONTyped, + PlaybackProgressInfoItemToJSON, +} from './PlaybackProgressInfoItem'; +import type { QueueItem } from './QueueItem'; +import { + QueueItemFromJSON, + QueueItemFromJSONTyped, + QueueItemToJSON, +} from './QueueItem'; + +/** + * Class PlaybackStopInfo. + * @export + * @interface ReportPlaybackStoppedRequest + */ +export interface ReportPlaybackStoppedRequest { + /** + * + * @type {PlaybackProgressInfoItem} + * @memberof ReportPlaybackStoppedRequest + */ + item?: PlaybackProgressInfoItem | null; + /** + * Gets or sets the item identifier. + * @type {string} + * @memberof ReportPlaybackStoppedRequest + */ + itemId?: string; + /** + * Gets or sets the session id. + * @type {string} + * @memberof ReportPlaybackStoppedRequest + */ + sessionId?: string | null; + /** + * Gets or sets the media version identifier. + * @type {string} + * @memberof ReportPlaybackStoppedRequest + */ + mediaSourceId?: string | null; + /** + * Gets or sets the position ticks. + * @type {number} + * @memberof ReportPlaybackStoppedRequest + */ + positionTicks?: number | null; + /** + * Gets or sets the live stream identifier. + * @type {string} + * @memberof ReportPlaybackStoppedRequest + */ + liveStreamId?: string | null; + /** + * Gets or sets the play session identifier. + * @type {string} + * @memberof ReportPlaybackStoppedRequest + */ + playSessionId?: string | null; + /** + * Gets or sets a value indicating whether this MediaBrowser.Model.Session.PlaybackStopInfo is failed. + * @type {boolean} + * @memberof ReportPlaybackStoppedRequest + */ + failed?: boolean; + /** + * + * @type {string} + * @memberof ReportPlaybackStoppedRequest + */ + nextMediaType?: string | null; + /** + * + * @type {string} + * @memberof ReportPlaybackStoppedRequest + */ + playlistItemId?: string | null; + /** + * + * @type {Array} + * @memberof ReportPlaybackStoppedRequest + */ + nowPlayingQueue?: Array | null; +} + +/** + * Check if a given object implements the ReportPlaybackStoppedRequest interface. + */ +export function instanceOfReportPlaybackStoppedRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ReportPlaybackStoppedRequestFromJSON(json: any): ReportPlaybackStoppedRequest { + return ReportPlaybackStoppedRequestFromJSONTyped(json, false); +} + +export function ReportPlaybackStoppedRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): ReportPlaybackStoppedRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'item': !exists(json, 'Item') ? undefined : PlaybackProgressInfoItemFromJSON(json['Item']), + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'sessionId': !exists(json, 'SessionId') ? undefined : json['SessionId'], + 'mediaSourceId': !exists(json, 'MediaSourceId') ? undefined : json['MediaSourceId'], + 'positionTicks': !exists(json, 'PositionTicks') ? undefined : json['PositionTicks'], + 'liveStreamId': !exists(json, 'LiveStreamId') ? undefined : json['LiveStreamId'], + 'playSessionId': !exists(json, 'PlaySessionId') ? undefined : json['PlaySessionId'], + 'failed': !exists(json, 'Failed') ? undefined : json['Failed'], + 'nextMediaType': !exists(json, 'NextMediaType') ? undefined : json['NextMediaType'], + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + 'nowPlayingQueue': !exists(json, 'NowPlayingQueue') ? undefined : (json['NowPlayingQueue'] === null ? null : (json['NowPlayingQueue'] as Array).map(QueueItemFromJSON)), + }; +} + +export function ReportPlaybackStoppedRequestToJSON(value?: ReportPlaybackStoppedRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Item': PlaybackProgressInfoItemToJSON(value.item), + 'ItemId': value.itemId, + 'SessionId': value.sessionId, + 'MediaSourceId': value.mediaSourceId, + 'PositionTicks': value.positionTicks, + 'LiveStreamId': value.liveStreamId, + 'PlaySessionId': value.playSessionId, + 'Failed': value.failed, + 'NextMediaType': value.nextMediaType, + 'PlaylistItemId': value.playlistItemId, + 'NowPlayingQueue': value.nowPlayingQueue === undefined ? undefined : (value.nowPlayingQueue === null ? null : (value.nowPlayingQueue as Array).map(QueueItemToJSON)), + }; +} + diff --git a/server/jellyfin/models/RepositoryInfo.ts b/server/jellyfin/models/RepositoryInfo.ts new file mode 100644 index 0000000..c657a46 --- /dev/null +++ b/server/jellyfin/models/RepositoryInfo.ts @@ -0,0 +1,81 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class RepositoryInfo. + * @export + * @interface RepositoryInfo + */ +export interface RepositoryInfo { + /** + * Gets or sets the name. + * @type {string} + * @memberof RepositoryInfo + */ + name?: string | null; + /** + * Gets or sets the URL. + * @type {string} + * @memberof RepositoryInfo + */ + url?: string | null; + /** + * Gets or sets a value indicating whether the repository is enabled. + * @type {boolean} + * @memberof RepositoryInfo + */ + enabled?: boolean; +} + +/** + * Check if a given object implements the RepositoryInfo interface. + */ +export function instanceOfRepositoryInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function RepositoryInfoFromJSON(json: any): RepositoryInfo { + return RepositoryInfoFromJSONTyped(json, false); +} + +export function RepositoryInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): RepositoryInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'url': !exists(json, 'Url') ? undefined : json['Url'], + 'enabled': !exists(json, 'Enabled') ? undefined : json['Enabled'], + }; +} + +export function RepositoryInfoToJSON(value?: RepositoryInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Url': value.url, + 'Enabled': value.enabled, + }; +} + diff --git a/server/jellyfin/models/ResponseProfile.ts b/server/jellyfin/models/ResponseProfile.ts new file mode 100644 index 0000000..6c0a8db --- /dev/null +++ b/server/jellyfin/models/ResponseProfile.ts @@ -0,0 +1,126 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { DlnaProfileType } from './DlnaProfileType'; +import { + DlnaProfileTypeFromJSON, + DlnaProfileTypeFromJSONTyped, + DlnaProfileTypeToJSON, +} from './DlnaProfileType'; +import type { ProfileCondition } from './ProfileCondition'; +import { + ProfileConditionFromJSON, + ProfileConditionFromJSONTyped, + ProfileConditionToJSON, +} from './ProfileCondition'; + +/** + * + * @export + * @interface ResponseProfile + */ +export interface ResponseProfile { + /** + * + * @type {string} + * @memberof ResponseProfile + */ + container?: string | null; + /** + * + * @type {string} + * @memberof ResponseProfile + */ + audioCodec?: string | null; + /** + * + * @type {string} + * @memberof ResponseProfile + */ + videoCodec?: string | null; + /** + * + * @type {DlnaProfileType} + * @memberof ResponseProfile + */ + type?: DlnaProfileType; + /** + * + * @type {string} + * @memberof ResponseProfile + */ + orgPn?: string | null; + /** + * + * @type {string} + * @memberof ResponseProfile + */ + mimeType?: string | null; + /** + * + * @type {Array} + * @memberof ResponseProfile + */ + conditions?: Array | null; +} + +/** + * Check if a given object implements the ResponseProfile interface. + */ +export function instanceOfResponseProfile(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ResponseProfileFromJSON(json: any): ResponseProfile { + return ResponseProfileFromJSONTyped(json, false); +} + +export function ResponseProfileFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResponseProfile { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'container': !exists(json, 'Container') ? undefined : json['Container'], + 'audioCodec': !exists(json, 'AudioCodec') ? undefined : json['AudioCodec'], + 'videoCodec': !exists(json, 'VideoCodec') ? undefined : json['VideoCodec'], + 'type': !exists(json, 'Type') ? undefined : DlnaProfileTypeFromJSON(json['Type']), + 'orgPn': !exists(json, 'OrgPn') ? undefined : json['OrgPn'], + 'mimeType': !exists(json, 'MimeType') ? undefined : json['MimeType'], + 'conditions': !exists(json, 'Conditions') ? undefined : (json['Conditions'] === null ? null : (json['Conditions'] as Array).map(ProfileConditionFromJSON)), + }; +} + +export function ResponseProfileToJSON(value?: ResponseProfile | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Container': value.container, + 'AudioCodec': value.audioCodec, + 'VideoCodec': value.videoCodec, + 'Type': DlnaProfileTypeToJSON(value.type), + 'OrgPn': value.orgPn, + 'MimeType': value.mimeType, + 'Conditions': value.conditions === undefined ? undefined : (value.conditions === null ? null : (value.conditions as Array).map(ProfileConditionToJSON)), + }; +} + diff --git a/server/jellyfin/models/ScrollDirection.ts b/server/jellyfin/models/ScrollDirection.ts new file mode 100644 index 0000000..d41c23b --- /dev/null +++ b/server/jellyfin/models/ScrollDirection.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * An enum representing the axis that should be scrolled. + * @export + */ +export const ScrollDirection = { + Horizontal: 'Horizontal', + Vertical: 'Vertical' +} as const; +export type ScrollDirection = typeof ScrollDirection[keyof typeof ScrollDirection]; + + +export function ScrollDirectionFromJSON(json: any): ScrollDirection { + return ScrollDirectionFromJSONTyped(json, false); +} + +export function ScrollDirectionFromJSONTyped(json: any, ignoreDiscriminator: boolean): ScrollDirection { + return json as ScrollDirection; +} + +export function ScrollDirectionToJSON(value?: ScrollDirection | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/SearchHint.ts b/server/jellyfin/models/SearchHint.ts new file mode 100644 index 0000000..8dd0e3e --- /dev/null +++ b/server/jellyfin/models/SearchHint.ts @@ -0,0 +1,289 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class SearchHintResult. + * @export + * @interface SearchHint + */ +export interface SearchHint { + /** + * Gets or sets the item id. + * @type {string} + * @memberof SearchHint + */ + itemId?: string; + /** + * + * @type {string} + * @memberof SearchHint + */ + id?: string; + /** + * Gets or sets the name. + * @type {string} + * @memberof SearchHint + */ + name?: string | null; + /** + * Gets or sets the matched term. + * @type {string} + * @memberof SearchHint + */ + matchedTerm?: string | null; + /** + * Gets or sets the index number. + * @type {number} + * @memberof SearchHint + */ + indexNumber?: number | null; + /** + * Gets or sets the production year. + * @type {number} + * @memberof SearchHint + */ + productionYear?: number | null; + /** + * Gets or sets the parent index number. + * @type {number} + * @memberof SearchHint + */ + parentIndexNumber?: number | null; + /** + * Gets or sets the image tag. + * @type {string} + * @memberof SearchHint + */ + primaryImageTag?: string | null; + /** + * Gets or sets the thumb image tag. + * @type {string} + * @memberof SearchHint + */ + thumbImageTag?: string | null; + /** + * Gets or sets the thumb image item identifier. + * @type {string} + * @memberof SearchHint + */ + thumbImageItemId?: string | null; + /** + * Gets or sets the backdrop image tag. + * @type {string} + * @memberof SearchHint + */ + backdropImageTag?: string | null; + /** + * Gets or sets the backdrop image item identifier. + * @type {string} + * @memberof SearchHint + */ + backdropImageItemId?: string | null; + /** + * Gets or sets the type. + * @type {string} + * @memberof SearchHint + */ + type?: string | null; + /** + * + * @type {boolean} + * @memberof SearchHint + */ + isFolder?: boolean | null; + /** + * Gets or sets the run time ticks. + * @type {number} + * @memberof SearchHint + */ + runTimeTicks?: number | null; + /** + * Gets or sets the type of the media. + * @type {string} + * @memberof SearchHint + */ + mediaType?: string | null; + /** + * + * @type {Date} + * @memberof SearchHint + */ + startDate?: Date | null; + /** + * + * @type {Date} + * @memberof SearchHint + */ + endDate?: Date | null; + /** + * Gets or sets the series. + * @type {string} + * @memberof SearchHint + */ + series?: string | null; + /** + * + * @type {string} + * @memberof SearchHint + */ + status?: string | null; + /** + * Gets or sets the album. + * @type {string} + * @memberof SearchHint + */ + album?: string | null; + /** + * + * @type {string} + * @memberof SearchHint + */ + albumId?: string; + /** + * Gets or sets the album artist. + * @type {string} + * @memberof SearchHint + */ + albumArtist?: string | null; + /** + * Gets or sets the artists. + * @type {Array} + * @memberof SearchHint + */ + artists?: Array | null; + /** + * Gets or sets the song count. + * @type {number} + * @memberof SearchHint + */ + songCount?: number | null; + /** + * Gets or sets the episode count. + * @type {number} + * @memberof SearchHint + */ + episodeCount?: number | null; + /** + * Gets or sets the channel identifier. + * @type {string} + * @memberof SearchHint + */ + channelId?: string; + /** + * Gets or sets the name of the channel. + * @type {string} + * @memberof SearchHint + */ + channelName?: string | null; + /** + * Gets or sets the primary image aspect ratio. + * @type {number} + * @memberof SearchHint + */ + primaryImageAspectRatio?: number | null; +} + +/** + * Check if a given object implements the SearchHint interface. + */ +export function instanceOfSearchHint(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SearchHintFromJSON(json: any): SearchHint { + return SearchHintFromJSONTyped(json, false); +} + +export function SearchHintFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchHint { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'matchedTerm': !exists(json, 'MatchedTerm') ? undefined : json['MatchedTerm'], + 'indexNumber': !exists(json, 'IndexNumber') ? undefined : json['IndexNumber'], + 'productionYear': !exists(json, 'ProductionYear') ? undefined : json['ProductionYear'], + 'parentIndexNumber': !exists(json, 'ParentIndexNumber') ? undefined : json['ParentIndexNumber'], + 'primaryImageTag': !exists(json, 'PrimaryImageTag') ? undefined : json['PrimaryImageTag'], + 'thumbImageTag': !exists(json, 'ThumbImageTag') ? undefined : json['ThumbImageTag'], + 'thumbImageItemId': !exists(json, 'ThumbImageItemId') ? undefined : json['ThumbImageItemId'], + 'backdropImageTag': !exists(json, 'BackdropImageTag') ? undefined : json['BackdropImageTag'], + 'backdropImageItemId': !exists(json, 'BackdropImageItemId') ? undefined : json['BackdropImageItemId'], + 'type': !exists(json, 'Type') ? undefined : json['Type'], + 'isFolder': !exists(json, 'IsFolder') ? undefined : json['IsFolder'], + 'runTimeTicks': !exists(json, 'RunTimeTicks') ? undefined : json['RunTimeTicks'], + 'mediaType': !exists(json, 'MediaType') ? undefined : json['MediaType'], + 'startDate': !exists(json, 'StartDate') ? undefined : (json['StartDate'] === null ? null : new Date(json['StartDate'])), + 'endDate': !exists(json, 'EndDate') ? undefined : (json['EndDate'] === null ? null : new Date(json['EndDate'])), + 'series': !exists(json, 'Series') ? undefined : json['Series'], + 'status': !exists(json, 'Status') ? undefined : json['Status'], + 'album': !exists(json, 'Album') ? undefined : json['Album'], + 'albumId': !exists(json, 'AlbumId') ? undefined : json['AlbumId'], + 'albumArtist': !exists(json, 'AlbumArtist') ? undefined : json['AlbumArtist'], + 'artists': !exists(json, 'Artists') ? undefined : json['Artists'], + 'songCount': !exists(json, 'SongCount') ? undefined : json['SongCount'], + 'episodeCount': !exists(json, 'EpisodeCount') ? undefined : json['EpisodeCount'], + 'channelId': !exists(json, 'ChannelId') ? undefined : json['ChannelId'], + 'channelName': !exists(json, 'ChannelName') ? undefined : json['ChannelName'], + 'primaryImageAspectRatio': !exists(json, 'PrimaryImageAspectRatio') ? undefined : json['PrimaryImageAspectRatio'], + }; +} + +export function SearchHintToJSON(value?: SearchHint | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'ItemId': value.itemId, + 'Id': value.id, + 'Name': value.name, + 'MatchedTerm': value.matchedTerm, + 'IndexNumber': value.indexNumber, + 'ProductionYear': value.productionYear, + 'ParentIndexNumber': value.parentIndexNumber, + 'PrimaryImageTag': value.primaryImageTag, + 'ThumbImageTag': value.thumbImageTag, + 'ThumbImageItemId': value.thumbImageItemId, + 'BackdropImageTag': value.backdropImageTag, + 'BackdropImageItemId': value.backdropImageItemId, + 'Type': value.type, + 'IsFolder': value.isFolder, + 'RunTimeTicks': value.runTimeTicks, + 'MediaType': value.mediaType, + 'StartDate': value.startDate === undefined ? undefined : (value.startDate === null ? null : value.startDate.toISOString()), + 'EndDate': value.endDate === undefined ? undefined : (value.endDate === null ? null : value.endDate.toISOString()), + 'Series': value.series, + 'Status': value.status, + 'Album': value.album, + 'AlbumId': value.albumId, + 'AlbumArtist': value.albumArtist, + 'Artists': value.artists, + 'SongCount': value.songCount, + 'EpisodeCount': value.episodeCount, + 'ChannelId': value.channelId, + 'ChannelName': value.channelName, + 'PrimaryImageAspectRatio': value.primaryImageAspectRatio, + }; +} + diff --git a/server/jellyfin/models/SearchHintResult.ts b/server/jellyfin/models/SearchHintResult.ts new file mode 100644 index 0000000..dc2fd54 --- /dev/null +++ b/server/jellyfin/models/SearchHintResult.ts @@ -0,0 +1,80 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { SearchHint } from './SearchHint'; +import { + SearchHintFromJSON, + SearchHintFromJSONTyped, + SearchHintToJSON, +} from './SearchHint'; + +/** + * Class SearchHintResult. + * @export + * @interface SearchHintResult + */ +export interface SearchHintResult { + /** + * Gets the search hints. + * @type {Array} + * @memberof SearchHintResult + */ + searchHints?: Array; + /** + * Gets the total record count. + * @type {number} + * @memberof SearchHintResult + */ + totalRecordCount?: number; +} + +/** + * Check if a given object implements the SearchHintResult interface. + */ +export function instanceOfSearchHintResult(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SearchHintResultFromJSON(json: any): SearchHintResult { + return SearchHintResultFromJSONTyped(json, false); +} + +export function SearchHintResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchHintResult { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'searchHints': !exists(json, 'SearchHints') ? undefined : ((json['SearchHints'] as Array).map(SearchHintFromJSON)), + 'totalRecordCount': !exists(json, 'TotalRecordCount') ? undefined : json['TotalRecordCount'], + }; +} + +export function SearchHintResultToJSON(value?: SearchHintResult | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'SearchHints': value.searchHints === undefined ? undefined : ((value.searchHints as Array).map(SearchHintToJSON)), + 'TotalRecordCount': value.totalRecordCount, + }; +} + diff --git a/server/jellyfin/models/SeekRequestDto.ts b/server/jellyfin/models/SeekRequestDto.ts new file mode 100644 index 0000000..9059904 --- /dev/null +++ b/server/jellyfin/models/SeekRequestDto.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class SeekRequestDto. + * @export + * @interface SeekRequestDto + */ +export interface SeekRequestDto { + /** + * Gets or sets the position ticks. + * @type {number} + * @memberof SeekRequestDto + */ + positionTicks?: number; +} + +/** + * Check if a given object implements the SeekRequestDto interface. + */ +export function instanceOfSeekRequestDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SeekRequestDtoFromJSON(json: any): SeekRequestDto { + return SeekRequestDtoFromJSONTyped(json, false); +} + +export function SeekRequestDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SeekRequestDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'positionTicks': !exists(json, 'PositionTicks') ? undefined : json['PositionTicks'], + }; +} + +export function SeekRequestDtoToJSON(value?: SeekRequestDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'PositionTicks': value.positionTicks, + }; +} + diff --git a/server/jellyfin/models/SendCommand.ts b/server/jellyfin/models/SendCommand.ts new file mode 100644 index 0000000..af3a930 --- /dev/null +++ b/server/jellyfin/models/SendCommand.ts @@ -0,0 +1,112 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { SendCommandType } from './SendCommandType'; +import { + SendCommandTypeFromJSON, + SendCommandTypeFromJSONTyped, + SendCommandTypeToJSON, +} from './SendCommandType'; + +/** + * Class SendCommand. + * @export + * @interface SendCommand + */ +export interface SendCommand { + /** + * Gets the group identifier. + * @type {string} + * @memberof SendCommand + */ + groupId?: string; + /** + * Gets the playlist identifier of the playing item. + * @type {string} + * @memberof SendCommand + */ + playlistItemId?: string; + /** + * Gets or sets the UTC time when to execute the command. + * @type {Date} + * @memberof SendCommand + */ + when?: Date; + /** + * Gets the position ticks. + * @type {number} + * @memberof SendCommand + */ + positionTicks?: number | null; + /** + * + * @type {SendCommandType} + * @memberof SendCommand + */ + command?: SendCommandType; + /** + * Gets the UTC time when this command has been emitted. + * @type {Date} + * @memberof SendCommand + */ + emittedAt?: Date; +} + +/** + * Check if a given object implements the SendCommand interface. + */ +export function instanceOfSendCommand(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SendCommandFromJSON(json: any): SendCommand { + return SendCommandFromJSONTyped(json, false); +} + +export function SendCommandFromJSONTyped(json: any, ignoreDiscriminator: boolean): SendCommand { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'groupId': !exists(json, 'GroupId') ? undefined : json['GroupId'], + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + 'when': !exists(json, 'When') ? undefined : (new Date(json['When'])), + 'positionTicks': !exists(json, 'PositionTicks') ? undefined : json['PositionTicks'], + 'command': !exists(json, 'Command') ? undefined : SendCommandTypeFromJSON(json['Command']), + 'emittedAt': !exists(json, 'EmittedAt') ? undefined : (new Date(json['EmittedAt'])), + }; +} + +export function SendCommandToJSON(value?: SendCommand | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'GroupId': value.groupId, + 'PlaylistItemId': value.playlistItemId, + 'When': value.when === undefined ? undefined : (value.when.toISOString()), + 'PositionTicks': value.positionTicks, + 'Command': SendCommandTypeToJSON(value.command), + 'EmittedAt': value.emittedAt === undefined ? undefined : (value.emittedAt.toISOString()), + }; +} + diff --git a/server/jellyfin/models/SendCommandType.ts b/server/jellyfin/models/SendCommandType.ts new file mode 100644 index 0000000..40d702f --- /dev/null +++ b/server/jellyfin/models/SendCommandType.ts @@ -0,0 +1,40 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Enum SendCommandType. + * @export + */ +export const SendCommandType = { + Unpause: 'Unpause', + Pause: 'Pause', + Stop: 'Stop', + Seek: 'Seek' +} as const; +export type SendCommandType = typeof SendCommandType[keyof typeof SendCommandType]; + + +export function SendCommandTypeFromJSON(json: any): SendCommandType { + return SendCommandTypeFromJSONTyped(json, false); +} + +export function SendCommandTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): SendCommandType { + return json as SendCommandType; +} + +export function SendCommandTypeToJSON(value?: SendCommandType | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/SendFullGeneralCommandRequest.ts b/server/jellyfin/models/SendFullGeneralCommandRequest.ts new file mode 100644 index 0000000..49842c9 --- /dev/null +++ b/server/jellyfin/models/SendFullGeneralCommandRequest.ts @@ -0,0 +1,88 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { GeneralCommandType } from './GeneralCommandType'; +import { + GeneralCommandTypeFromJSON, + GeneralCommandTypeFromJSONTyped, + GeneralCommandTypeToJSON, +} from './GeneralCommandType'; + +/** + * + * @export + * @interface SendFullGeneralCommandRequest + */ +export interface SendFullGeneralCommandRequest { + /** + * + * @type {GeneralCommandType} + * @memberof SendFullGeneralCommandRequest + */ + name?: GeneralCommandType; + /** + * + * @type {string} + * @memberof SendFullGeneralCommandRequest + */ + controllingUserId?: string; + /** + * + * @type {{ [key: string]: string; }} + * @memberof SendFullGeneralCommandRequest + */ + arguments?: { [key: string]: string; }; +} + +/** + * Check if a given object implements the SendFullGeneralCommandRequest interface. + */ +export function instanceOfSendFullGeneralCommandRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SendFullGeneralCommandRequestFromJSON(json: any): SendFullGeneralCommandRequest { + return SendFullGeneralCommandRequestFromJSONTyped(json, false); +} + +export function SendFullGeneralCommandRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SendFullGeneralCommandRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : GeneralCommandTypeFromJSON(json['Name']), + 'controllingUserId': !exists(json, 'ControllingUserId') ? undefined : json['ControllingUserId'], + 'arguments': !exists(json, 'Arguments') ? undefined : json['Arguments'], + }; +} + +export function SendFullGeneralCommandRequestToJSON(value?: SendFullGeneralCommandRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': GeneralCommandTypeToJSON(value.name), + 'ControllingUserId': value.controllingUserId, + 'Arguments': value.arguments, + }; +} + diff --git a/server/jellyfin/models/SendMessageCommandRequest.ts b/server/jellyfin/models/SendMessageCommandRequest.ts new file mode 100644 index 0000000..8f1275b --- /dev/null +++ b/server/jellyfin/models/SendMessageCommandRequest.ts @@ -0,0 +1,82 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface SendMessageCommandRequest + */ +export interface SendMessageCommandRequest { + /** + * + * @type {string} + * @memberof SendMessageCommandRequest + */ + header?: string | null; + /** + * + * @type {string} + * @memberof SendMessageCommandRequest + */ + text: string; + /** + * + * @type {number} + * @memberof SendMessageCommandRequest + */ + timeoutMs?: number | null; +} + +/** + * Check if a given object implements the SendMessageCommandRequest interface. + */ +export function instanceOfSendMessageCommandRequest(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "text" in value; + + return isInstance; +} + +export function SendMessageCommandRequestFromJSON(json: any): SendMessageCommandRequest { + return SendMessageCommandRequestFromJSONTyped(json, false); +} + +export function SendMessageCommandRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SendMessageCommandRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'header': !exists(json, 'Header') ? undefined : json['Header'], + 'text': json['Text'], + 'timeoutMs': !exists(json, 'TimeoutMs') ? undefined : json['TimeoutMs'], + }; +} + +export function SendMessageCommandRequestToJSON(value?: SendMessageCommandRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Header': value.header, + 'Text': value.text, + 'TimeoutMs': value.timeoutMs, + }; +} + diff --git a/server/jellyfin/models/SendToUserType.ts b/server/jellyfin/models/SendToUserType.ts new file mode 100644 index 0000000..d416022 --- /dev/null +++ b/server/jellyfin/models/SendToUserType.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const SendToUserType = { + All: 'All', + Admins: 'Admins', + Custom: 'Custom' +} as const; +export type SendToUserType = typeof SendToUserType[keyof typeof SendToUserType]; + + +export function SendToUserTypeFromJSON(json: any): SendToUserType { + return SendToUserTypeFromJSONTyped(json, false); +} + +export function SendToUserTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): SendToUserType { + return json as SendToUserType; +} + +export function SendToUserTypeToJSON(value?: SendToUserType | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/SeriesInfo.ts b/server/jellyfin/models/SeriesInfo.ts new file mode 100644 index 0000000..c0c3178 --- /dev/null +++ b/server/jellyfin/models/SeriesInfo.ts @@ -0,0 +1,145 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface SeriesInfo + */ +export interface SeriesInfo { + /** + * Gets or sets the name. + * @type {string} + * @memberof SeriesInfo + */ + name?: string | null; + /** + * Gets or sets the original title. + * @type {string} + * @memberof SeriesInfo + */ + originalTitle?: string | null; + /** + * Gets or sets the path. + * @type {string} + * @memberof SeriesInfo + */ + path?: string | null; + /** + * Gets or sets the metadata language. + * @type {string} + * @memberof SeriesInfo + */ + metadataLanguage?: string | null; + /** + * Gets or sets the metadata country code. + * @type {string} + * @memberof SeriesInfo + */ + metadataCountryCode?: string | null; + /** + * Gets or sets the provider ids. + * @type {{ [key: string]: string; }} + * @memberof SeriesInfo + */ + providerIds?: { [key: string]: string; } | null; + /** + * Gets or sets the year. + * @type {number} + * @memberof SeriesInfo + */ + year?: number | null; + /** + * + * @type {number} + * @memberof SeriesInfo + */ + indexNumber?: number | null; + /** + * + * @type {number} + * @memberof SeriesInfo + */ + parentIndexNumber?: number | null; + /** + * + * @type {Date} + * @memberof SeriesInfo + */ + premiereDate?: Date | null; + /** + * + * @type {boolean} + * @memberof SeriesInfo + */ + isAutomated?: boolean; +} + +/** + * Check if a given object implements the SeriesInfo interface. + */ +export function instanceOfSeriesInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SeriesInfoFromJSON(json: any): SeriesInfo { + return SeriesInfoFromJSONTyped(json, false); +} + +export function SeriesInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SeriesInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'originalTitle': !exists(json, 'OriginalTitle') ? undefined : json['OriginalTitle'], + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'metadataLanguage': !exists(json, 'MetadataLanguage') ? undefined : json['MetadataLanguage'], + 'metadataCountryCode': !exists(json, 'MetadataCountryCode') ? undefined : json['MetadataCountryCode'], + 'providerIds': !exists(json, 'ProviderIds') ? undefined : json['ProviderIds'], + 'year': !exists(json, 'Year') ? undefined : json['Year'], + 'indexNumber': !exists(json, 'IndexNumber') ? undefined : json['IndexNumber'], + 'parentIndexNumber': !exists(json, 'ParentIndexNumber') ? undefined : json['ParentIndexNumber'], + 'premiereDate': !exists(json, 'PremiereDate') ? undefined : (json['PremiereDate'] === null ? null : new Date(json['PremiereDate'])), + 'isAutomated': !exists(json, 'IsAutomated') ? undefined : json['IsAutomated'], + }; +} + +export function SeriesInfoToJSON(value?: SeriesInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'OriginalTitle': value.originalTitle, + 'Path': value.path, + 'MetadataLanguage': value.metadataLanguage, + 'MetadataCountryCode': value.metadataCountryCode, + 'ProviderIds': value.providerIds, + 'Year': value.year, + 'IndexNumber': value.indexNumber, + 'ParentIndexNumber': value.parentIndexNumber, + 'PremiereDate': value.premiereDate === undefined ? undefined : (value.premiereDate === null ? null : value.premiereDate.toISOString()), + 'IsAutomated': value.isAutomated, + }; +} + diff --git a/server/jellyfin/models/SeriesInfoRemoteSearchQuery.ts b/server/jellyfin/models/SeriesInfoRemoteSearchQuery.ts new file mode 100644 index 0000000..a7fa86c --- /dev/null +++ b/server/jellyfin/models/SeriesInfoRemoteSearchQuery.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { SeriesInfo } from './SeriesInfo'; +import { + SeriesInfoFromJSON, + SeriesInfoFromJSONTyped, + SeriesInfoToJSON, +} from './SeriesInfo'; + +/** + * + * @export + * @interface SeriesInfoRemoteSearchQuery + */ +export interface SeriesInfoRemoteSearchQuery { + /** + * + * @type {SeriesInfo} + * @memberof SeriesInfoRemoteSearchQuery + */ + searchInfo?: SeriesInfo | null; + /** + * + * @type {string} + * @memberof SeriesInfoRemoteSearchQuery + */ + itemId?: string; + /** + * Gets or sets the provider name to search within if set. + * @type {string} + * @memberof SeriesInfoRemoteSearchQuery + */ + searchProviderName?: string | null; + /** + * Gets or sets a value indicating whether disabled providers should be included. + * @type {boolean} + * @memberof SeriesInfoRemoteSearchQuery + */ + includeDisabledProviders?: boolean; +} + +/** + * Check if a given object implements the SeriesInfoRemoteSearchQuery interface. + */ +export function instanceOfSeriesInfoRemoteSearchQuery(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SeriesInfoRemoteSearchQueryFromJSON(json: any): SeriesInfoRemoteSearchQuery { + return SeriesInfoRemoteSearchQueryFromJSONTyped(json, false); +} + +export function SeriesInfoRemoteSearchQueryFromJSONTyped(json: any, ignoreDiscriminator: boolean): SeriesInfoRemoteSearchQuery { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'searchInfo': !exists(json, 'SearchInfo') ? undefined : SeriesInfoFromJSON(json['SearchInfo']), + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'searchProviderName': !exists(json, 'SearchProviderName') ? undefined : json['SearchProviderName'], + 'includeDisabledProviders': !exists(json, 'IncludeDisabledProviders') ? undefined : json['IncludeDisabledProviders'], + }; +} + +export function SeriesInfoRemoteSearchQueryToJSON(value?: SeriesInfoRemoteSearchQuery | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'SearchInfo': SeriesInfoToJSON(value.searchInfo), + 'ItemId': value.itemId, + 'SearchProviderName': value.searchProviderName, + 'IncludeDisabledProviders': value.includeDisabledProviders, + }; +} + diff --git a/server/jellyfin/models/SeriesStatus.ts b/server/jellyfin/models/SeriesStatus.ts new file mode 100644 index 0000000..47ab47e --- /dev/null +++ b/server/jellyfin/models/SeriesStatus.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Enum SeriesStatus. + * @export + */ +export const SeriesStatus = { + Continuing: 'Continuing', + Ended: 'Ended' +} as const; +export type SeriesStatus = typeof SeriesStatus[keyof typeof SeriesStatus]; + + +export function SeriesStatusFromJSON(json: any): SeriesStatus { + return SeriesStatusFromJSONTyped(json, false); +} + +export function SeriesStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): SeriesStatus { + return json as SeriesStatus; +} + +export function SeriesStatusToJSON(value?: SeriesStatus | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/SeriesTimerInfoDto.ts b/server/jellyfin/models/SeriesTimerInfoDto.ts new file mode 100644 index 0000000..450ef20 --- /dev/null +++ b/server/jellyfin/models/SeriesTimerInfoDto.ts @@ -0,0 +1,356 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { DayOfWeek } from './DayOfWeek'; +import { + DayOfWeekFromJSON, + DayOfWeekFromJSONTyped, + DayOfWeekToJSON, +} from './DayOfWeek'; +import type { DayPattern } from './DayPattern'; +import { + DayPatternFromJSON, + DayPatternFromJSONTyped, + DayPatternToJSON, +} from './DayPattern'; +import type { KeepUntil } from './KeepUntil'; +import { + KeepUntilFromJSON, + KeepUntilFromJSONTyped, + KeepUntilToJSON, +} from './KeepUntil'; + +/** + * Class SeriesTimerInfoDto. + * @export + * @interface SeriesTimerInfoDto + */ +export interface SeriesTimerInfoDto { + /** + * Gets or sets the Id of the recording. + * @type {string} + * @memberof SeriesTimerInfoDto + */ + id?: string | null; + /** + * + * @type {string} + * @memberof SeriesTimerInfoDto + */ + type?: string | null; + /** + * Gets or sets the server identifier. + * @type {string} + * @memberof SeriesTimerInfoDto + */ + serverId?: string | null; + /** + * Gets or sets the external identifier. + * @type {string} + * @memberof SeriesTimerInfoDto + */ + externalId?: string | null; + /** + * Gets or sets the channel id of the recording. + * @type {string} + * @memberof SeriesTimerInfoDto + */ + channelId?: string; + /** + * Gets or sets the external channel identifier. + * @type {string} + * @memberof SeriesTimerInfoDto + */ + externalChannelId?: string | null; + /** + * Gets or sets the channel name of the recording. + * @type {string} + * @memberof SeriesTimerInfoDto + */ + channelName?: string | null; + /** + * + * @type {string} + * @memberof SeriesTimerInfoDto + */ + channelPrimaryImageTag?: string | null; + /** + * Gets or sets the program identifier. + * @type {string} + * @memberof SeriesTimerInfoDto + */ + programId?: string | null; + /** + * Gets or sets the external program identifier. + * @type {string} + * @memberof SeriesTimerInfoDto + */ + externalProgramId?: string | null; + /** + * Gets or sets the name of the recording. + * @type {string} + * @memberof SeriesTimerInfoDto + */ + name?: string | null; + /** + * Gets or sets the description of the recording. + * @type {string} + * @memberof SeriesTimerInfoDto + */ + overview?: string | null; + /** + * Gets or sets the start date of the recording, in UTC. + * @type {Date} + * @memberof SeriesTimerInfoDto + */ + startDate?: Date; + /** + * Gets or sets the end date of the recording, in UTC. + * @type {Date} + * @memberof SeriesTimerInfoDto + */ + endDate?: Date; + /** + * Gets or sets the name of the service. + * @type {string} + * @memberof SeriesTimerInfoDto + */ + serviceName?: string | null; + /** + * Gets or sets the priority. + * @type {number} + * @memberof SeriesTimerInfoDto + */ + priority?: number; + /** + * Gets or sets the pre padding seconds. + * @type {number} + * @memberof SeriesTimerInfoDto + */ + prePaddingSeconds?: number; + /** + * Gets or sets the post padding seconds. + * @type {number} + * @memberof SeriesTimerInfoDto + */ + postPaddingSeconds?: number; + /** + * Gets or sets a value indicating whether this instance is pre padding required. + * @type {boolean} + * @memberof SeriesTimerInfoDto + */ + isPrePaddingRequired?: boolean; + /** + * Gets or sets the Id of the Parent that has a backdrop if the item does not have one. + * @type {string} + * @memberof SeriesTimerInfoDto + */ + parentBackdropItemId?: string | null; + /** + * Gets or sets the parent backdrop image tags. + * @type {Array} + * @memberof SeriesTimerInfoDto + */ + parentBackdropImageTags?: Array | null; + /** + * Gets or sets a value indicating whether this instance is post padding required. + * @type {boolean} + * @memberof SeriesTimerInfoDto + */ + isPostPaddingRequired?: boolean; + /** + * + * @type {KeepUntil} + * @memberof SeriesTimerInfoDto + */ + keepUntil?: KeepUntil; + /** + * Gets or sets a value indicating whether [record any time]. + * @type {boolean} + * @memberof SeriesTimerInfoDto + */ + recordAnyTime?: boolean; + /** + * + * @type {boolean} + * @memberof SeriesTimerInfoDto + */ + skipEpisodesInLibrary?: boolean; + /** + * Gets or sets a value indicating whether [record any channel]. + * @type {boolean} + * @memberof SeriesTimerInfoDto + */ + recordAnyChannel?: boolean; + /** + * + * @type {number} + * @memberof SeriesTimerInfoDto + */ + keepUpTo?: number; + /** + * Gets or sets a value indicating whether [record new only]. + * @type {boolean} + * @memberof SeriesTimerInfoDto + */ + recordNewOnly?: boolean; + /** + * Gets or sets the days. + * @type {Array} + * @memberof SeriesTimerInfoDto + */ + days?: Array | null; + /** + * + * @type {DayPattern} + * @memberof SeriesTimerInfoDto + */ + dayPattern?: DayPattern | null; + /** + * Gets or sets the image tags. + * @type {{ [key: string]: string; }} + * @memberof SeriesTimerInfoDto + */ + imageTags?: { [key: string]: string; } | null; + /** + * Gets or sets the parent thumb item id. + * @type {string} + * @memberof SeriesTimerInfoDto + */ + parentThumbItemId?: string | null; + /** + * Gets or sets the parent thumb image tag. + * @type {string} + * @memberof SeriesTimerInfoDto + */ + parentThumbImageTag?: string | null; + /** + * Gets or sets the parent primary image item identifier. + * @type {string} + * @memberof SeriesTimerInfoDto + */ + parentPrimaryImageItemId?: string | null; + /** + * Gets or sets the parent primary image tag. + * @type {string} + * @memberof SeriesTimerInfoDto + */ + parentPrimaryImageTag?: string | null; +} + +/** + * Check if a given object implements the SeriesTimerInfoDto interface. + */ +export function instanceOfSeriesTimerInfoDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SeriesTimerInfoDtoFromJSON(json: any): SeriesTimerInfoDto { + return SeriesTimerInfoDtoFromJSONTyped(json, false); +} + +export function SeriesTimerInfoDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SeriesTimerInfoDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'type': !exists(json, 'Type') ? undefined : json['Type'], + 'serverId': !exists(json, 'ServerId') ? undefined : json['ServerId'], + 'externalId': !exists(json, 'ExternalId') ? undefined : json['ExternalId'], + 'channelId': !exists(json, 'ChannelId') ? undefined : json['ChannelId'], + 'externalChannelId': !exists(json, 'ExternalChannelId') ? undefined : json['ExternalChannelId'], + 'channelName': !exists(json, 'ChannelName') ? undefined : json['ChannelName'], + 'channelPrimaryImageTag': !exists(json, 'ChannelPrimaryImageTag') ? undefined : json['ChannelPrimaryImageTag'], + 'programId': !exists(json, 'ProgramId') ? undefined : json['ProgramId'], + 'externalProgramId': !exists(json, 'ExternalProgramId') ? undefined : json['ExternalProgramId'], + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'overview': !exists(json, 'Overview') ? undefined : json['Overview'], + 'startDate': !exists(json, 'StartDate') ? undefined : (new Date(json['StartDate'])), + 'endDate': !exists(json, 'EndDate') ? undefined : (new Date(json['EndDate'])), + 'serviceName': !exists(json, 'ServiceName') ? undefined : json['ServiceName'], + 'priority': !exists(json, 'Priority') ? undefined : json['Priority'], + 'prePaddingSeconds': !exists(json, 'PrePaddingSeconds') ? undefined : json['PrePaddingSeconds'], + 'postPaddingSeconds': !exists(json, 'PostPaddingSeconds') ? undefined : json['PostPaddingSeconds'], + 'isPrePaddingRequired': !exists(json, 'IsPrePaddingRequired') ? undefined : json['IsPrePaddingRequired'], + 'parentBackdropItemId': !exists(json, 'ParentBackdropItemId') ? undefined : json['ParentBackdropItemId'], + 'parentBackdropImageTags': !exists(json, 'ParentBackdropImageTags') ? undefined : json['ParentBackdropImageTags'], + 'isPostPaddingRequired': !exists(json, 'IsPostPaddingRequired') ? undefined : json['IsPostPaddingRequired'], + 'keepUntil': !exists(json, 'KeepUntil') ? undefined : KeepUntilFromJSON(json['KeepUntil']), + 'recordAnyTime': !exists(json, 'RecordAnyTime') ? undefined : json['RecordAnyTime'], + 'skipEpisodesInLibrary': !exists(json, 'SkipEpisodesInLibrary') ? undefined : json['SkipEpisodesInLibrary'], + 'recordAnyChannel': !exists(json, 'RecordAnyChannel') ? undefined : json['RecordAnyChannel'], + 'keepUpTo': !exists(json, 'KeepUpTo') ? undefined : json['KeepUpTo'], + 'recordNewOnly': !exists(json, 'RecordNewOnly') ? undefined : json['RecordNewOnly'], + 'days': !exists(json, 'Days') ? undefined : (json['Days'] === null ? null : (json['Days'] as Array).map(DayOfWeekFromJSON)), + 'dayPattern': !exists(json, 'DayPattern') ? undefined : DayPatternFromJSON(json['DayPattern']), + 'imageTags': !exists(json, 'ImageTags') ? undefined : json['ImageTags'], + 'parentThumbItemId': !exists(json, 'ParentThumbItemId') ? undefined : json['ParentThumbItemId'], + 'parentThumbImageTag': !exists(json, 'ParentThumbImageTag') ? undefined : json['ParentThumbImageTag'], + 'parentPrimaryImageItemId': !exists(json, 'ParentPrimaryImageItemId') ? undefined : json['ParentPrimaryImageItemId'], + 'parentPrimaryImageTag': !exists(json, 'ParentPrimaryImageTag') ? undefined : json['ParentPrimaryImageTag'], + }; +} + +export function SeriesTimerInfoDtoToJSON(value?: SeriesTimerInfoDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Id': value.id, + 'Type': value.type, + 'ServerId': value.serverId, + 'ExternalId': value.externalId, + 'ChannelId': value.channelId, + 'ExternalChannelId': value.externalChannelId, + 'ChannelName': value.channelName, + 'ChannelPrimaryImageTag': value.channelPrimaryImageTag, + 'ProgramId': value.programId, + 'ExternalProgramId': value.externalProgramId, + 'Name': value.name, + 'Overview': value.overview, + 'StartDate': value.startDate === undefined ? undefined : (value.startDate.toISOString()), + 'EndDate': value.endDate === undefined ? undefined : (value.endDate.toISOString()), + 'ServiceName': value.serviceName, + 'Priority': value.priority, + 'PrePaddingSeconds': value.prePaddingSeconds, + 'PostPaddingSeconds': value.postPaddingSeconds, + 'IsPrePaddingRequired': value.isPrePaddingRequired, + 'ParentBackdropItemId': value.parentBackdropItemId, + 'ParentBackdropImageTags': value.parentBackdropImageTags, + 'IsPostPaddingRequired': value.isPostPaddingRequired, + 'KeepUntil': KeepUntilToJSON(value.keepUntil), + 'RecordAnyTime': value.recordAnyTime, + 'SkipEpisodesInLibrary': value.skipEpisodesInLibrary, + 'RecordAnyChannel': value.recordAnyChannel, + 'KeepUpTo': value.keepUpTo, + 'RecordNewOnly': value.recordNewOnly, + 'Days': value.days === undefined ? undefined : (value.days === null ? null : (value.days as Array).map(DayOfWeekToJSON)), + 'DayPattern': DayPatternToJSON(value.dayPattern), + 'ImageTags': value.imageTags, + 'ParentThumbItemId': value.parentThumbItemId, + 'ParentThumbImageTag': value.parentThumbImageTag, + 'ParentPrimaryImageItemId': value.parentPrimaryImageItemId, + 'ParentPrimaryImageTag': value.parentPrimaryImageTag, + }; +} + diff --git a/server/jellyfin/models/SeriesTimerInfoDtoQueryResult.ts b/server/jellyfin/models/SeriesTimerInfoDtoQueryResult.ts new file mode 100644 index 0000000..de8cc71 --- /dev/null +++ b/server/jellyfin/models/SeriesTimerInfoDtoQueryResult.ts @@ -0,0 +1,88 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { SeriesTimerInfoDto } from './SeriesTimerInfoDto'; +import { + SeriesTimerInfoDtoFromJSON, + SeriesTimerInfoDtoFromJSONTyped, + SeriesTimerInfoDtoToJSON, +} from './SeriesTimerInfoDto'; + +/** + * + * @export + * @interface SeriesTimerInfoDtoQueryResult + */ +export interface SeriesTimerInfoDtoQueryResult { + /** + * Gets or sets the items. + * @type {Array} + * @memberof SeriesTimerInfoDtoQueryResult + */ + items?: Array | null; + /** + * Gets or sets the total number of records available. + * @type {number} + * @memberof SeriesTimerInfoDtoQueryResult + */ + totalRecordCount?: number; + /** + * Gets or sets the index of the first record in Items. + * @type {number} + * @memberof SeriesTimerInfoDtoQueryResult + */ + startIndex?: number; +} + +/** + * Check if a given object implements the SeriesTimerInfoDtoQueryResult interface. + */ +export function instanceOfSeriesTimerInfoDtoQueryResult(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SeriesTimerInfoDtoQueryResultFromJSON(json: any): SeriesTimerInfoDtoQueryResult { + return SeriesTimerInfoDtoQueryResultFromJSONTyped(json, false); +} + +export function SeriesTimerInfoDtoQueryResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): SeriesTimerInfoDtoQueryResult { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'items': !exists(json, 'Items') ? undefined : (json['Items'] === null ? null : (json['Items'] as Array).map(SeriesTimerInfoDtoFromJSON)), + 'totalRecordCount': !exists(json, 'TotalRecordCount') ? undefined : json['TotalRecordCount'], + 'startIndex': !exists(json, 'StartIndex') ? undefined : json['StartIndex'], + }; +} + +export function SeriesTimerInfoDtoQueryResultToJSON(value?: SeriesTimerInfoDtoQueryResult | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Items': value.items === undefined ? undefined : (value.items === null ? null : (value.items as Array).map(SeriesTimerInfoDtoToJSON)), + 'TotalRecordCount': value.totalRecordCount, + 'StartIndex': value.startIndex, + }; +} + diff --git a/server/jellyfin/models/ServerConfiguration.ts b/server/jellyfin/models/ServerConfiguration.ts new file mode 100644 index 0000000..a493998 --- /dev/null +++ b/server/jellyfin/models/ServerConfiguration.ts @@ -0,0 +1,475 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ImageSavingConvention } from './ImageSavingConvention'; +import { + ImageSavingConventionFromJSON, + ImageSavingConventionFromJSONTyped, + ImageSavingConventionToJSON, +} from './ImageSavingConvention'; +import type { MetadataOptions } from './MetadataOptions'; +import { + MetadataOptionsFromJSON, + MetadataOptionsFromJSONTyped, + MetadataOptionsToJSON, +} from './MetadataOptions'; +import type { NameValuePair } from './NameValuePair'; +import { + NameValuePairFromJSON, + NameValuePairFromJSONTyped, + NameValuePairToJSON, +} from './NameValuePair'; +import type { PathSubstitution } from './PathSubstitution'; +import { + PathSubstitutionFromJSON, + PathSubstitutionFromJSONTyped, + PathSubstitutionToJSON, +} from './PathSubstitution'; +import type { RepositoryInfo } from './RepositoryInfo'; +import { + RepositoryInfoFromJSON, + RepositoryInfoFromJSONTyped, + RepositoryInfoToJSON, +} from './RepositoryInfo'; + +/** + * Represents the server configuration. + * @export + * @interface ServerConfiguration + */ +export interface ServerConfiguration { + /** + * Gets or sets the number of days we should retain log files. + * @type {number} + * @memberof ServerConfiguration + */ + logFileRetentionDays?: number; + /** + * Gets or sets a value indicating whether this instance is first run. + * @type {boolean} + * @memberof ServerConfiguration + */ + isStartupWizardCompleted?: boolean; + /** + * Gets or sets the cache path. + * @type {string} + * @memberof ServerConfiguration + */ + cachePath?: string | null; + /** + * Gets or sets the last known version that was ran using the configuration. + * @type {string} + * @memberof ServerConfiguration + */ + previousVersion?: string | null; + /** + * Gets or sets the stringified PreviousVersion to be stored/loaded, + * because System.Version itself isn't xml-serializable. + * @type {string} + * @memberof ServerConfiguration + */ + previousVersionStr?: string | null; + /** + * Gets or sets a value indicating whether to enable prometheus metrics exporting. + * @type {boolean} + * @memberof ServerConfiguration + */ + enableMetrics?: boolean; + /** + * + * @type {boolean} + * @memberof ServerConfiguration + */ + enableNormalizedItemByNameIds?: boolean; + /** + * Gets or sets a value indicating whether this instance is port authorized. + * @type {boolean} + * @memberof ServerConfiguration + */ + isPortAuthorized?: boolean; + /** + * Gets or sets a value indicating whether quick connect is available for use on this server. + * @type {boolean} + * @memberof ServerConfiguration + */ + quickConnectAvailable?: boolean; + /** + * Gets or sets a value indicating whether [enable case sensitive item ids]. + * @type {boolean} + * @memberof ServerConfiguration + */ + enableCaseSensitiveItemIds?: boolean; + /** + * + * @type {boolean} + * @memberof ServerConfiguration + */ + disableLiveTvChannelUserDataName?: boolean; + /** + * Gets or sets the metadata path. + * @type {string} + * @memberof ServerConfiguration + */ + metadataPath?: string; + /** + * + * @type {string} + * @memberof ServerConfiguration + */ + metadataNetworkPath?: string; + /** + * Gets or sets the preferred metadata language. + * @type {string} + * @memberof ServerConfiguration + */ + preferredMetadataLanguage?: string; + /** + * Gets or sets the metadata country code. + * @type {string} + * @memberof ServerConfiguration + */ + metadataCountryCode?: string; + /** + * Gets or sets characters to be replaced with a ' ' in strings to create a sort name. + * @type {Array} + * @memberof ServerConfiguration + */ + sortReplaceCharacters?: Array; + /** + * Gets or sets characters to be removed from strings to create a sort name. + * @type {Array} + * @memberof ServerConfiguration + */ + sortRemoveCharacters?: Array; + /** + * Gets or sets words to be removed from strings to create a sort name. + * @type {Array} + * @memberof ServerConfiguration + */ + sortRemoveWords?: Array; + /** + * Gets or sets the minimum percentage of an item that must be played in order for playstate to be updated. + * @type {number} + * @memberof ServerConfiguration + */ + minResumePct?: number; + /** + * Gets or sets the maximum percentage of an item that can be played while still saving playstate. If this percentage is crossed playstate will be reset to the beginning and the item will be marked watched. + * @type {number} + * @memberof ServerConfiguration + */ + maxResumePct?: number; + /** + * Gets or sets the minimum duration that an item must have in order to be eligible for playstate updates.. + * @type {number} + * @memberof ServerConfiguration + */ + minResumeDurationSeconds?: number; + /** + * Gets or sets the minimum minutes of a book that must be played in order for playstate to be updated. + * @type {number} + * @memberof ServerConfiguration + */ + minAudiobookResume?: number; + /** + * Gets or sets the remaining minutes of a book that can be played while still saving playstate. If this percentage is crossed playstate will be reset to the beginning and the item will be marked watched. + * @type {number} + * @memberof ServerConfiguration + */ + maxAudiobookResume?: number; + /** + * Gets or sets the delay in seconds that we will wait after a file system change to try and discover what has been added/removed + * Some delay is necessary with some items because their creation is not atomic. It involves the creation of several + * different directories and files. + * @type {number} + * @memberof ServerConfiguration + */ + libraryMonitorDelay?: number; + /** + * + * @type {ImageSavingConvention} + * @memberof ServerConfiguration + */ + imageSavingConvention?: ImageSavingConvention; + /** + * + * @type {Array} + * @memberof ServerConfiguration + */ + metadataOptions?: Array; + /** + * + * @type {boolean} + * @memberof ServerConfiguration + */ + skipDeserializationForBasicTypes?: boolean; + /** + * + * @type {string} + * @memberof ServerConfiguration + */ + serverName?: string; + /** + * + * @type {string} + * @memberof ServerConfiguration + */ + uICulture?: string; + /** + * + * @type {boolean} + * @memberof ServerConfiguration + */ + saveMetadataHidden?: boolean; + /** + * + * @type {Array} + * @memberof ServerConfiguration + */ + contentTypes?: Array; + /** + * + * @type {number} + * @memberof ServerConfiguration + */ + remoteClientBitrateLimit?: number; + /** + * + * @type {boolean} + * @memberof ServerConfiguration + */ + enableFolderView?: boolean; + /** + * + * @type {boolean} + * @memberof ServerConfiguration + */ + enableGroupingIntoCollections?: boolean; + /** + * + * @type {boolean} + * @memberof ServerConfiguration + */ + displaySpecialsWithinSeasons?: boolean; + /** + * + * @type {Array} + * @memberof ServerConfiguration + */ + codecsUsed?: Array; + /** + * + * @type {Array} + * @memberof ServerConfiguration + */ + pluginRepositories?: Array; + /** + * + * @type {boolean} + * @memberof ServerConfiguration + */ + enableExternalContentInSuggestions?: boolean; + /** + * + * @type {number} + * @memberof ServerConfiguration + */ + imageExtractionTimeoutMs?: number; + /** + * + * @type {Array} + * @memberof ServerConfiguration + */ + pathSubstitutions?: Array; + /** + * Gets or sets a value indicating whether slow server responses should be logged as a warning. + * @type {boolean} + * @memberof ServerConfiguration + */ + enableSlowResponseWarning?: boolean; + /** + * Gets or sets the threshold for the slow response time warning in ms. + * @type {number} + * @memberof ServerConfiguration + */ + slowResponseThresholdMs?: number; + /** + * Gets or sets the cors hosts. + * @type {Array} + * @memberof ServerConfiguration + */ + corsHosts?: Array; + /** + * Gets or sets the number of days we should retain activity logs. + * @type {number} + * @memberof ServerConfiguration + */ + activityLogRetentionDays?: number | null; + /** + * Gets or sets the how the library scan fans out. + * @type {number} + * @memberof ServerConfiguration + */ + libraryScanFanoutConcurrency?: number; + /** + * Gets or sets the how many metadata refreshes can run concurrently. + * @type {number} + * @memberof ServerConfiguration + */ + libraryMetadataRefreshConcurrency?: number; + /** + * Gets or sets a value indicating whether older plugins should automatically be deleted from the plugin folder. + * @type {boolean} + * @memberof ServerConfiguration + */ + removeOldPlugins?: boolean; + /** + * Gets or sets a value indicating whether clients should be allowed to upload logs. + * @type {boolean} + * @memberof ServerConfiguration + */ + allowClientLogUpload?: boolean; +} + +/** + * Check if a given object implements the ServerConfiguration interface. + */ +export function instanceOfServerConfiguration(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ServerConfigurationFromJSON(json: any): ServerConfiguration { + return ServerConfigurationFromJSONTyped(json, false); +} + +export function ServerConfigurationFromJSONTyped(json: any, ignoreDiscriminator: boolean): ServerConfiguration { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'logFileRetentionDays': !exists(json, 'LogFileRetentionDays') ? undefined : json['LogFileRetentionDays'], + 'isStartupWizardCompleted': !exists(json, 'IsStartupWizardCompleted') ? undefined : json['IsStartupWizardCompleted'], + 'cachePath': !exists(json, 'CachePath') ? undefined : json['CachePath'], + 'previousVersion': !exists(json, 'PreviousVersion') ? undefined : json['PreviousVersion'], + 'previousVersionStr': !exists(json, 'PreviousVersionStr') ? undefined : json['PreviousVersionStr'], + 'enableMetrics': !exists(json, 'EnableMetrics') ? undefined : json['EnableMetrics'], + 'enableNormalizedItemByNameIds': !exists(json, 'EnableNormalizedItemByNameIds') ? undefined : json['EnableNormalizedItemByNameIds'], + 'isPortAuthorized': !exists(json, 'IsPortAuthorized') ? undefined : json['IsPortAuthorized'], + 'quickConnectAvailable': !exists(json, 'QuickConnectAvailable') ? undefined : json['QuickConnectAvailable'], + 'enableCaseSensitiveItemIds': !exists(json, 'EnableCaseSensitiveItemIds') ? undefined : json['EnableCaseSensitiveItemIds'], + 'disableLiveTvChannelUserDataName': !exists(json, 'DisableLiveTvChannelUserDataName') ? undefined : json['DisableLiveTvChannelUserDataName'], + 'metadataPath': !exists(json, 'MetadataPath') ? undefined : json['MetadataPath'], + 'metadataNetworkPath': !exists(json, 'MetadataNetworkPath') ? undefined : json['MetadataNetworkPath'], + 'preferredMetadataLanguage': !exists(json, 'PreferredMetadataLanguage') ? undefined : json['PreferredMetadataLanguage'], + 'metadataCountryCode': !exists(json, 'MetadataCountryCode') ? undefined : json['MetadataCountryCode'], + 'sortReplaceCharacters': !exists(json, 'SortReplaceCharacters') ? undefined : json['SortReplaceCharacters'], + 'sortRemoveCharacters': !exists(json, 'SortRemoveCharacters') ? undefined : json['SortRemoveCharacters'], + 'sortRemoveWords': !exists(json, 'SortRemoveWords') ? undefined : json['SortRemoveWords'], + 'minResumePct': !exists(json, 'MinResumePct') ? undefined : json['MinResumePct'], + 'maxResumePct': !exists(json, 'MaxResumePct') ? undefined : json['MaxResumePct'], + 'minResumeDurationSeconds': !exists(json, 'MinResumeDurationSeconds') ? undefined : json['MinResumeDurationSeconds'], + 'minAudiobookResume': !exists(json, 'MinAudiobookResume') ? undefined : json['MinAudiobookResume'], + 'maxAudiobookResume': !exists(json, 'MaxAudiobookResume') ? undefined : json['MaxAudiobookResume'], + 'libraryMonitorDelay': !exists(json, 'LibraryMonitorDelay') ? undefined : json['LibraryMonitorDelay'], + 'imageSavingConvention': !exists(json, 'ImageSavingConvention') ? undefined : ImageSavingConventionFromJSON(json['ImageSavingConvention']), + 'metadataOptions': !exists(json, 'MetadataOptions') ? undefined : ((json['MetadataOptions'] as Array).map(MetadataOptionsFromJSON)), + 'skipDeserializationForBasicTypes': !exists(json, 'SkipDeserializationForBasicTypes') ? undefined : json['SkipDeserializationForBasicTypes'], + 'serverName': !exists(json, 'ServerName') ? undefined : json['ServerName'], + 'uICulture': !exists(json, 'UICulture') ? undefined : json['UICulture'], + 'saveMetadataHidden': !exists(json, 'SaveMetadataHidden') ? undefined : json['SaveMetadataHidden'], + 'contentTypes': !exists(json, 'ContentTypes') ? undefined : ((json['ContentTypes'] as Array).map(NameValuePairFromJSON)), + 'remoteClientBitrateLimit': !exists(json, 'RemoteClientBitrateLimit') ? undefined : json['RemoteClientBitrateLimit'], + 'enableFolderView': !exists(json, 'EnableFolderView') ? undefined : json['EnableFolderView'], + 'enableGroupingIntoCollections': !exists(json, 'EnableGroupingIntoCollections') ? undefined : json['EnableGroupingIntoCollections'], + 'displaySpecialsWithinSeasons': !exists(json, 'DisplaySpecialsWithinSeasons') ? undefined : json['DisplaySpecialsWithinSeasons'], + 'codecsUsed': !exists(json, 'CodecsUsed') ? undefined : json['CodecsUsed'], + 'pluginRepositories': !exists(json, 'PluginRepositories') ? undefined : ((json['PluginRepositories'] as Array).map(RepositoryInfoFromJSON)), + 'enableExternalContentInSuggestions': !exists(json, 'EnableExternalContentInSuggestions') ? undefined : json['EnableExternalContentInSuggestions'], + 'imageExtractionTimeoutMs': !exists(json, 'ImageExtractionTimeoutMs') ? undefined : json['ImageExtractionTimeoutMs'], + 'pathSubstitutions': !exists(json, 'PathSubstitutions') ? undefined : ((json['PathSubstitutions'] as Array).map(PathSubstitutionFromJSON)), + 'enableSlowResponseWarning': !exists(json, 'EnableSlowResponseWarning') ? undefined : json['EnableSlowResponseWarning'], + 'slowResponseThresholdMs': !exists(json, 'SlowResponseThresholdMs') ? undefined : json['SlowResponseThresholdMs'], + 'corsHosts': !exists(json, 'CorsHosts') ? undefined : json['CorsHosts'], + 'activityLogRetentionDays': !exists(json, 'ActivityLogRetentionDays') ? undefined : json['ActivityLogRetentionDays'], + 'libraryScanFanoutConcurrency': !exists(json, 'LibraryScanFanoutConcurrency') ? undefined : json['LibraryScanFanoutConcurrency'], + 'libraryMetadataRefreshConcurrency': !exists(json, 'LibraryMetadataRefreshConcurrency') ? undefined : json['LibraryMetadataRefreshConcurrency'], + 'removeOldPlugins': !exists(json, 'RemoveOldPlugins') ? undefined : json['RemoveOldPlugins'], + 'allowClientLogUpload': !exists(json, 'AllowClientLogUpload') ? undefined : json['AllowClientLogUpload'], + }; +} + +export function ServerConfigurationToJSON(value?: ServerConfiguration | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'LogFileRetentionDays': value.logFileRetentionDays, + 'IsStartupWizardCompleted': value.isStartupWizardCompleted, + 'CachePath': value.cachePath, + 'PreviousVersion': value.previousVersion, + 'PreviousVersionStr': value.previousVersionStr, + 'EnableMetrics': value.enableMetrics, + 'EnableNormalizedItemByNameIds': value.enableNormalizedItemByNameIds, + 'IsPortAuthorized': value.isPortAuthorized, + 'QuickConnectAvailable': value.quickConnectAvailable, + 'EnableCaseSensitiveItemIds': value.enableCaseSensitiveItemIds, + 'DisableLiveTvChannelUserDataName': value.disableLiveTvChannelUserDataName, + 'MetadataPath': value.metadataPath, + 'MetadataNetworkPath': value.metadataNetworkPath, + 'PreferredMetadataLanguage': value.preferredMetadataLanguage, + 'MetadataCountryCode': value.metadataCountryCode, + 'SortReplaceCharacters': value.sortReplaceCharacters, + 'SortRemoveCharacters': value.sortRemoveCharacters, + 'SortRemoveWords': value.sortRemoveWords, + 'MinResumePct': value.minResumePct, + 'MaxResumePct': value.maxResumePct, + 'MinResumeDurationSeconds': value.minResumeDurationSeconds, + 'MinAudiobookResume': value.minAudiobookResume, + 'MaxAudiobookResume': value.maxAudiobookResume, + 'LibraryMonitorDelay': value.libraryMonitorDelay, + 'ImageSavingConvention': ImageSavingConventionToJSON(value.imageSavingConvention), + 'MetadataOptions': value.metadataOptions === undefined ? undefined : ((value.metadataOptions as Array).map(MetadataOptionsToJSON)), + 'SkipDeserializationForBasicTypes': value.skipDeserializationForBasicTypes, + 'ServerName': value.serverName, + 'UICulture': value.uICulture, + 'SaveMetadataHidden': value.saveMetadataHidden, + 'ContentTypes': value.contentTypes === undefined ? undefined : ((value.contentTypes as Array).map(NameValuePairToJSON)), + 'RemoteClientBitrateLimit': value.remoteClientBitrateLimit, + 'EnableFolderView': value.enableFolderView, + 'EnableGroupingIntoCollections': value.enableGroupingIntoCollections, + 'DisplaySpecialsWithinSeasons': value.displaySpecialsWithinSeasons, + 'CodecsUsed': value.codecsUsed, + 'PluginRepositories': value.pluginRepositories === undefined ? undefined : ((value.pluginRepositories as Array).map(RepositoryInfoToJSON)), + 'EnableExternalContentInSuggestions': value.enableExternalContentInSuggestions, + 'ImageExtractionTimeoutMs': value.imageExtractionTimeoutMs, + 'PathSubstitutions': value.pathSubstitutions === undefined ? undefined : ((value.pathSubstitutions as Array).map(PathSubstitutionToJSON)), + 'EnableSlowResponseWarning': value.enableSlowResponseWarning, + 'SlowResponseThresholdMs': value.slowResponseThresholdMs, + 'CorsHosts': value.corsHosts, + 'ActivityLogRetentionDays': value.activityLogRetentionDays, + 'LibraryScanFanoutConcurrency': value.libraryScanFanoutConcurrency, + 'LibraryMetadataRefreshConcurrency': value.libraryMetadataRefreshConcurrency, + 'RemoveOldPlugins': value.removeOldPlugins, + 'AllowClientLogUpload': value.allowClientLogUpload, + }; +} + diff --git a/server/jellyfin/models/ServerDiscoveryInfo.ts b/server/jellyfin/models/ServerDiscoveryInfo.ts new file mode 100644 index 0000000..acca296 --- /dev/null +++ b/server/jellyfin/models/ServerDiscoveryInfo.ts @@ -0,0 +1,89 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * The server discovery info model. + * @export + * @interface ServerDiscoveryInfo + */ +export interface ServerDiscoveryInfo { + /** + * Gets the address. + * @type {string} + * @memberof ServerDiscoveryInfo + */ + address?: string; + /** + * Gets the server identifier. + * @type {string} + * @memberof ServerDiscoveryInfo + */ + id?: string; + /** + * Gets the name. + * @type {string} + * @memberof ServerDiscoveryInfo + */ + name?: string; + /** + * Gets the endpoint address. + * @type {string} + * @memberof ServerDiscoveryInfo + */ + endpointAddress?: string | null; +} + +/** + * Check if a given object implements the ServerDiscoveryInfo interface. + */ +export function instanceOfServerDiscoveryInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ServerDiscoveryInfoFromJSON(json: any): ServerDiscoveryInfo { + return ServerDiscoveryInfoFromJSONTyped(json, false); +} + +export function ServerDiscoveryInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ServerDiscoveryInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'address': !exists(json, 'Address') ? undefined : json['Address'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'endpointAddress': !exists(json, 'EndpointAddress') ? undefined : json['EndpointAddress'], + }; +} + +export function ServerDiscoveryInfoToJSON(value?: ServerDiscoveryInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Address': value.address, + 'Id': value.id, + 'Name': value.name, + 'EndpointAddress': value.endpointAddress, + }; +} + diff --git a/server/jellyfin/models/SessionInfo.ts b/server/jellyfin/models/SessionInfo.ts new file mode 100644 index 0000000..7872778 --- /dev/null +++ b/server/jellyfin/models/SessionInfo.ts @@ -0,0 +1,339 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { BaseItemDto } from './BaseItemDto'; +import { + BaseItemDtoFromJSON, + BaseItemDtoFromJSONTyped, + BaseItemDtoToJSON, +} from './BaseItemDto'; +import type { ClientCapabilities } from './ClientCapabilities'; +import { + ClientCapabilitiesFromJSON, + ClientCapabilitiesFromJSONTyped, + ClientCapabilitiesToJSON, +} from './ClientCapabilities'; +import type { GeneralCommandType } from './GeneralCommandType'; +import { + GeneralCommandTypeFromJSON, + GeneralCommandTypeFromJSONTyped, + GeneralCommandTypeToJSON, +} from './GeneralCommandType'; +import type { PlayerStateInfo } from './PlayerStateInfo'; +import { + PlayerStateInfoFromJSON, + PlayerStateInfoFromJSONTyped, + PlayerStateInfoToJSON, +} from './PlayerStateInfo'; +import type { QueueItem } from './QueueItem'; +import { + QueueItemFromJSON, + QueueItemFromJSONTyped, + QueueItemToJSON, +} from './QueueItem'; +import type { SessionInfoFullNowPlayingItem } from './SessionInfoFullNowPlayingItem'; +import { + SessionInfoFullNowPlayingItemFromJSON, + SessionInfoFullNowPlayingItemFromJSONTyped, + SessionInfoFullNowPlayingItemToJSON, +} from './SessionInfoFullNowPlayingItem'; +import type { SessionInfoNowPlayingItem } from './SessionInfoNowPlayingItem'; +import { + SessionInfoNowPlayingItemFromJSON, + SessionInfoNowPlayingItemFromJSONTyped, + SessionInfoNowPlayingItemToJSON, +} from './SessionInfoNowPlayingItem'; +import type { SessionUserInfo } from './SessionUserInfo'; +import { + SessionUserInfoFromJSON, + SessionUserInfoFromJSONTyped, + SessionUserInfoToJSON, +} from './SessionUserInfo'; +import type { TranscodingInfo } from './TranscodingInfo'; +import { + TranscodingInfoFromJSON, + TranscodingInfoFromJSONTyped, + TranscodingInfoToJSON, +} from './TranscodingInfo'; + +/** + * Class SessionInfo. + * @export + * @interface SessionInfo + */ +export interface SessionInfo { + /** + * + * @type {PlayerStateInfo} + * @memberof SessionInfo + */ + playState?: PlayerStateInfo | null; + /** + * + * @type {Array} + * @memberof SessionInfo + */ + additionalUsers?: Array | null; + /** + * + * @type {ClientCapabilities} + * @memberof SessionInfo + */ + capabilities?: ClientCapabilities | null; + /** + * Gets or sets the remote end point. + * @type {string} + * @memberof SessionInfo + */ + remoteEndPoint?: string | null; + /** + * Gets the playable media types. + * @type {Array} + * @memberof SessionInfo + */ + readonly playableMediaTypes?: Array | null; + /** + * Gets or sets the id. + * @type {string} + * @memberof SessionInfo + */ + id?: string | null; + /** + * Gets or sets the user id. + * @type {string} + * @memberof SessionInfo + */ + userId?: string; + /** + * Gets or sets the username. + * @type {string} + * @memberof SessionInfo + */ + userName?: string | null; + /** + * Gets or sets the type of the client. + * @type {string} + * @memberof SessionInfo + */ + client?: string | null; + /** + * Gets or sets the last activity date. + * @type {Date} + * @memberof SessionInfo + */ + lastActivityDate?: Date; + /** + * Gets or sets the last playback check in. + * @type {Date} + * @memberof SessionInfo + */ + lastPlaybackCheckIn?: Date; + /** + * Gets or sets the name of the device. + * @type {string} + * @memberof SessionInfo + */ + deviceName?: string | null; + /** + * Gets or sets the type of the device. + * @type {string} + * @memberof SessionInfo + */ + deviceType?: string | null; + /** + * + * @type {SessionInfoNowPlayingItem} + * @memberof SessionInfo + */ + nowPlayingItem?: SessionInfoNowPlayingItem | null; + /** + * + * @type {SessionInfoFullNowPlayingItem} + * @memberof SessionInfo + */ + fullNowPlayingItem?: SessionInfoFullNowPlayingItem | null; + /** + * + * @type {SessionInfoNowPlayingItem} + * @memberof SessionInfo + */ + nowViewingItem?: SessionInfoNowPlayingItem | null; + /** + * Gets or sets the device id. + * @type {string} + * @memberof SessionInfo + */ + deviceId?: string | null; + /** + * Gets or sets the application version. + * @type {string} + * @memberof SessionInfo + */ + applicationVersion?: string | null; + /** + * + * @type {TranscodingInfo} + * @memberof SessionInfo + */ + transcodingInfo?: TranscodingInfo | null; + /** + * Gets a value indicating whether this instance is active. + * @type {boolean} + * @memberof SessionInfo + */ + readonly isActive?: boolean; + /** + * + * @type {boolean} + * @memberof SessionInfo + */ + readonly supportsMediaControl?: boolean; + /** + * + * @type {boolean} + * @memberof SessionInfo + */ + readonly supportsRemoteControl?: boolean; + /** + * + * @type {Array} + * @memberof SessionInfo + */ + nowPlayingQueue?: Array | null; + /** + * + * @type {Array} + * @memberof SessionInfo + */ + nowPlayingQueueFullItems?: Array | null; + /** + * + * @type {boolean} + * @memberof SessionInfo + */ + hasCustomDeviceName?: boolean; + /** + * + * @type {string} + * @memberof SessionInfo + */ + playlistItemId?: string | null; + /** + * + * @type {string} + * @memberof SessionInfo + */ + serverId?: string | null; + /** + * + * @type {string} + * @memberof SessionInfo + */ + userPrimaryImageTag?: string | null; + /** + * Gets the supported commands. + * @type {Array} + * @memberof SessionInfo + */ + readonly supportedCommands?: Array | null; +} + +/** + * Check if a given object implements the SessionInfo interface. + */ +export function instanceOfSessionInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SessionInfoFromJSON(json: any): SessionInfo { + return SessionInfoFromJSONTyped(json, false); +} + +export function SessionInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SessionInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'playState': !exists(json, 'PlayState') ? undefined : PlayerStateInfoFromJSON(json['PlayState']), + 'additionalUsers': !exists(json, 'AdditionalUsers') ? undefined : (json['AdditionalUsers'] === null ? null : (json['AdditionalUsers'] as Array).map(SessionUserInfoFromJSON)), + 'capabilities': !exists(json, 'Capabilities') ? undefined : ClientCapabilitiesFromJSON(json['Capabilities']), + 'remoteEndPoint': !exists(json, 'RemoteEndPoint') ? undefined : json['RemoteEndPoint'], + 'playableMediaTypes': !exists(json, 'PlayableMediaTypes') ? undefined : json['PlayableMediaTypes'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'userId': !exists(json, 'UserId') ? undefined : json['UserId'], + 'userName': !exists(json, 'UserName') ? undefined : json['UserName'], + 'client': !exists(json, 'Client') ? undefined : json['Client'], + 'lastActivityDate': !exists(json, 'LastActivityDate') ? undefined : (new Date(json['LastActivityDate'])), + 'lastPlaybackCheckIn': !exists(json, 'LastPlaybackCheckIn') ? undefined : (new Date(json['LastPlaybackCheckIn'])), + 'deviceName': !exists(json, 'DeviceName') ? undefined : json['DeviceName'], + 'deviceType': !exists(json, 'DeviceType') ? undefined : json['DeviceType'], + 'nowPlayingItem': !exists(json, 'NowPlayingItem') ? undefined : SessionInfoNowPlayingItemFromJSON(json['NowPlayingItem']), + 'fullNowPlayingItem': !exists(json, 'FullNowPlayingItem') ? undefined : SessionInfoFullNowPlayingItemFromJSON(json['FullNowPlayingItem']), + 'nowViewingItem': !exists(json, 'NowViewingItem') ? undefined : SessionInfoNowPlayingItemFromJSON(json['NowViewingItem']), + 'deviceId': !exists(json, 'DeviceId') ? undefined : json['DeviceId'], + 'applicationVersion': !exists(json, 'ApplicationVersion') ? undefined : json['ApplicationVersion'], + 'transcodingInfo': !exists(json, 'TranscodingInfo') ? undefined : TranscodingInfoFromJSON(json['TranscodingInfo']), + 'isActive': !exists(json, 'IsActive') ? undefined : json['IsActive'], + 'supportsMediaControl': !exists(json, 'SupportsMediaControl') ? undefined : json['SupportsMediaControl'], + 'supportsRemoteControl': !exists(json, 'SupportsRemoteControl') ? undefined : json['SupportsRemoteControl'], + 'nowPlayingQueue': !exists(json, 'NowPlayingQueue') ? undefined : (json['NowPlayingQueue'] === null ? null : (json['NowPlayingQueue'] as Array).map(QueueItemFromJSON)), + 'nowPlayingQueueFullItems': !exists(json, 'NowPlayingQueueFullItems') ? undefined : (json['NowPlayingQueueFullItems'] === null ? null : (json['NowPlayingQueueFullItems'] as Array).map(BaseItemDtoFromJSON)), + 'hasCustomDeviceName': !exists(json, 'HasCustomDeviceName') ? undefined : json['HasCustomDeviceName'], + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + 'serverId': !exists(json, 'ServerId') ? undefined : json['ServerId'], + 'userPrimaryImageTag': !exists(json, 'UserPrimaryImageTag') ? undefined : json['UserPrimaryImageTag'], + 'supportedCommands': !exists(json, 'SupportedCommands') ? undefined : (json['SupportedCommands'] === null ? null : (json['SupportedCommands'] as Array).map(GeneralCommandTypeFromJSON)), + }; +} + +export function SessionInfoToJSON(value?: SessionInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'PlayState': PlayerStateInfoToJSON(value.playState), + 'AdditionalUsers': value.additionalUsers === undefined ? undefined : (value.additionalUsers === null ? null : (value.additionalUsers as Array).map(SessionUserInfoToJSON)), + 'Capabilities': ClientCapabilitiesToJSON(value.capabilities), + 'RemoteEndPoint': value.remoteEndPoint, + 'Id': value.id, + 'UserId': value.userId, + 'UserName': value.userName, + 'Client': value.client, + 'LastActivityDate': value.lastActivityDate === undefined ? undefined : (value.lastActivityDate.toISOString()), + 'LastPlaybackCheckIn': value.lastPlaybackCheckIn === undefined ? undefined : (value.lastPlaybackCheckIn.toISOString()), + 'DeviceName': value.deviceName, + 'DeviceType': value.deviceType, + 'NowPlayingItem': SessionInfoNowPlayingItemToJSON(value.nowPlayingItem), + 'FullNowPlayingItem': SessionInfoFullNowPlayingItemToJSON(value.fullNowPlayingItem), + 'NowViewingItem': SessionInfoNowPlayingItemToJSON(value.nowViewingItem), + 'DeviceId': value.deviceId, + 'ApplicationVersion': value.applicationVersion, + 'TranscodingInfo': TranscodingInfoToJSON(value.transcodingInfo), + 'NowPlayingQueue': value.nowPlayingQueue === undefined ? undefined : (value.nowPlayingQueue === null ? null : (value.nowPlayingQueue as Array).map(QueueItemToJSON)), + 'NowPlayingQueueFullItems': value.nowPlayingQueueFullItems === undefined ? undefined : (value.nowPlayingQueueFullItems === null ? null : (value.nowPlayingQueueFullItems as Array).map(BaseItemDtoToJSON)), + 'HasCustomDeviceName': value.hasCustomDeviceName, + 'PlaylistItemId': value.playlistItemId, + 'ServerId': value.serverId, + 'UserPrimaryImageTag': value.userPrimaryImageTag, + }; +} + diff --git a/server/jellyfin/models/SessionInfoFullNowPlayingItem.ts b/server/jellyfin/models/SessionInfoFullNowPlayingItem.ts new file mode 100644 index 0000000..4c01144 --- /dev/null +++ b/server/jellyfin/models/SessionInfoFullNowPlayingItem.ts @@ -0,0 +1,150 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { MediaUrl } from './MediaUrl'; +import { + MediaUrlFromJSON, + MediaUrlFromJSONTyped, + MediaUrlToJSON, +} from './MediaUrl'; + +/** + * Class BaseItem. + * @export + * @interface SessionInfoFullNowPlayingItem + */ +export interface SessionInfoFullNowPlayingItem { + /** + * + * @type {number} + * @memberof SessionInfoFullNowPlayingItem + */ + size?: number | null; + /** + * + * @type {string} + * @memberof SessionInfoFullNowPlayingItem + */ + container?: string | null; + /** + * + * @type {boolean} + * @memberof SessionInfoFullNowPlayingItem + */ + readonly isHD?: boolean; + /** + * + * @type {boolean} + * @memberof SessionInfoFullNowPlayingItem + */ + isShortcut?: boolean; + /** + * + * @type {string} + * @memberof SessionInfoFullNowPlayingItem + */ + shortcutPath?: string | null; + /** + * + * @type {number} + * @memberof SessionInfoFullNowPlayingItem + */ + width?: number; + /** + * + * @type {number} + * @memberof SessionInfoFullNowPlayingItem + */ + height?: number; + /** + * + * @type {Array} + * @memberof SessionInfoFullNowPlayingItem + */ + extraIds?: Array | null; + /** + * + * @type {Date} + * @memberof SessionInfoFullNowPlayingItem + */ + dateLastSaved?: Date; + /** + * Gets or sets the remote trailers. + * @type {Array} + * @memberof SessionInfoFullNowPlayingItem + */ + remoteTrailers?: Array | null; + /** + * + * @type {boolean} + * @memberof SessionInfoFullNowPlayingItem + */ + readonly supportsExternalTransfer?: boolean; +} + +/** + * Check if a given object implements the SessionInfoFullNowPlayingItem interface. + */ +export function instanceOfSessionInfoFullNowPlayingItem(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SessionInfoFullNowPlayingItemFromJSON(json: any): SessionInfoFullNowPlayingItem { + return SessionInfoFullNowPlayingItemFromJSONTyped(json, false); +} + +export function SessionInfoFullNowPlayingItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): SessionInfoFullNowPlayingItem { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'size': !exists(json, 'Size') ? undefined : json['Size'], + 'container': !exists(json, 'Container') ? undefined : json['Container'], + 'isHD': !exists(json, 'IsHD') ? undefined : json['IsHD'], + 'isShortcut': !exists(json, 'IsShortcut') ? undefined : json['IsShortcut'], + 'shortcutPath': !exists(json, 'ShortcutPath') ? undefined : json['ShortcutPath'], + 'width': !exists(json, 'Width') ? undefined : json['Width'], + 'height': !exists(json, 'Height') ? undefined : json['Height'], + 'extraIds': !exists(json, 'ExtraIds') ? undefined : json['ExtraIds'], + 'dateLastSaved': !exists(json, 'DateLastSaved') ? undefined : (new Date(json['DateLastSaved'])), + 'remoteTrailers': !exists(json, 'RemoteTrailers') ? undefined : (json['RemoteTrailers'] === null ? null : (json['RemoteTrailers'] as Array).map(MediaUrlFromJSON)), + 'supportsExternalTransfer': !exists(json, 'SupportsExternalTransfer') ? undefined : json['SupportsExternalTransfer'], + }; +} + +export function SessionInfoFullNowPlayingItemToJSON(value?: SessionInfoFullNowPlayingItem | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Size': value.size, + 'Container': value.container, + 'IsShortcut': value.isShortcut, + 'ShortcutPath': value.shortcutPath, + 'Width': value.width, + 'Height': value.height, + 'ExtraIds': value.extraIds, + 'DateLastSaved': value.dateLastSaved === undefined ? undefined : (value.dateLastSaved.toISOString()), + 'RemoteTrailers': value.remoteTrailers === undefined ? undefined : (value.remoteTrailers === null ? null : (value.remoteTrailers as Array).map(MediaUrlToJSON)), + }; +} + diff --git a/server/jellyfin/models/SessionInfoNowPlayingItem.ts b/server/jellyfin/models/SessionInfoNowPlayingItem.ts new file mode 100644 index 0000000..85f4e44 --- /dev/null +++ b/server/jellyfin/models/SessionInfoNowPlayingItem.ts @@ -0,0 +1,1393 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { BaseItemDtoCurrentProgram } from './BaseItemDtoCurrentProgram'; +import { + BaseItemDtoCurrentProgramFromJSON, + BaseItemDtoCurrentProgramFromJSONTyped, + BaseItemDtoCurrentProgramToJSON, +} from './BaseItemDtoCurrentProgram'; +import type { BaseItemDtoImageBlurHashes } from './BaseItemDtoImageBlurHashes'; +import { + BaseItemDtoImageBlurHashesFromJSON, + BaseItemDtoImageBlurHashesFromJSONTyped, + BaseItemDtoImageBlurHashesToJSON, +} from './BaseItemDtoImageBlurHashes'; +import type { BaseItemDtoUserData } from './BaseItemDtoUserData'; +import { + BaseItemDtoUserDataFromJSON, + BaseItemDtoUserDataFromJSONTyped, + BaseItemDtoUserDataToJSON, +} from './BaseItemDtoUserData'; +import type { BaseItemKind } from './BaseItemKind'; +import { + BaseItemKindFromJSON, + BaseItemKindFromJSONTyped, + BaseItemKindToJSON, +} from './BaseItemKind'; +import type { BaseItemPerson } from './BaseItemPerson'; +import { + BaseItemPersonFromJSON, + BaseItemPersonFromJSONTyped, + BaseItemPersonToJSON, +} from './BaseItemPerson'; +import type { ChannelType } from './ChannelType'; +import { + ChannelTypeFromJSON, + ChannelTypeFromJSONTyped, + ChannelTypeToJSON, +} from './ChannelType'; +import type { ChapterInfo } from './ChapterInfo'; +import { + ChapterInfoFromJSON, + ChapterInfoFromJSONTyped, + ChapterInfoToJSON, +} from './ChapterInfo'; +import type { DayOfWeek } from './DayOfWeek'; +import { + DayOfWeekFromJSON, + DayOfWeekFromJSONTyped, + DayOfWeekToJSON, +} from './DayOfWeek'; +import type { ExternalUrl } from './ExternalUrl'; +import { + ExternalUrlFromJSON, + ExternalUrlFromJSONTyped, + ExternalUrlToJSON, +} from './ExternalUrl'; +import type { ImageOrientation } from './ImageOrientation'; +import { + ImageOrientationFromJSON, + ImageOrientationFromJSONTyped, + ImageOrientationToJSON, +} from './ImageOrientation'; +import type { IsoType } from './IsoType'; +import { + IsoTypeFromJSON, + IsoTypeFromJSONTyped, + IsoTypeToJSON, +} from './IsoType'; +import type { LocationType } from './LocationType'; +import { + LocationTypeFromJSON, + LocationTypeFromJSONTyped, + LocationTypeToJSON, +} from './LocationType'; +import type { MediaSourceInfo } from './MediaSourceInfo'; +import { + MediaSourceInfoFromJSON, + MediaSourceInfoFromJSONTyped, + MediaSourceInfoToJSON, +} from './MediaSourceInfo'; +import type { MediaStream } from './MediaStream'; +import { + MediaStreamFromJSON, + MediaStreamFromJSONTyped, + MediaStreamToJSON, +} from './MediaStream'; +import type { MediaUrl } from './MediaUrl'; +import { + MediaUrlFromJSON, + MediaUrlFromJSONTyped, + MediaUrlToJSON, +} from './MediaUrl'; +import type { MetadataField } from './MetadataField'; +import { + MetadataFieldFromJSON, + MetadataFieldFromJSONTyped, + MetadataFieldToJSON, +} from './MetadataField'; +import type { NameGuidPair } from './NameGuidPair'; +import { + NameGuidPairFromJSON, + NameGuidPairFromJSONTyped, + NameGuidPairToJSON, +} from './NameGuidPair'; +import type { PlayAccess } from './PlayAccess'; +import { + PlayAccessFromJSON, + PlayAccessFromJSONTyped, + PlayAccessToJSON, +} from './PlayAccess'; +import type { ProgramAudio } from './ProgramAudio'; +import { + ProgramAudioFromJSON, + ProgramAudioFromJSONTyped, + ProgramAudioToJSON, +} from './ProgramAudio'; +import type { Video3DFormat } from './Video3DFormat'; +import { + Video3DFormatFromJSON, + Video3DFormatFromJSONTyped, + Video3DFormatToJSON, +} from './Video3DFormat'; +import type { VideoType } from './VideoType'; +import { + VideoTypeFromJSON, + VideoTypeFromJSONTyped, + VideoTypeToJSON, +} from './VideoType'; + +/** + * This is strictly used as a data transfer object from the api layer. + * This holds information about a BaseItem in a format that is convenient for the client. + * @export + * @interface SessionInfoNowPlayingItem + */ +export interface SessionInfoNowPlayingItem { + /** + * Gets or sets the name. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + name?: string | null; + /** + * + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + originalTitle?: string | null; + /** + * Gets or sets the server identifier. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + serverId?: string | null; + /** + * Gets or sets the id. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + id?: string; + /** + * Gets or sets the etag. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + etag?: string | null; + /** + * Gets or sets the type of the source. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + sourceType?: string | null; + /** + * Gets or sets the playlist item identifier. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + playlistItemId?: string | null; + /** + * Gets or sets the date created. + * @type {Date} + * @memberof SessionInfoNowPlayingItem + */ + dateCreated?: Date | null; + /** + * + * @type {Date} + * @memberof SessionInfoNowPlayingItem + */ + dateLastMediaAdded?: Date | null; + /** + * + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + extraType?: string | null; + /** + * + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + airsBeforeSeasonNumber?: number | null; + /** + * + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + airsAfterSeasonNumber?: number | null; + /** + * + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + airsBeforeEpisodeNumber?: number | null; + /** + * + * @type {boolean} + * @memberof SessionInfoNowPlayingItem + */ + canDelete?: boolean | null; + /** + * + * @type {boolean} + * @memberof SessionInfoNowPlayingItem + */ + canDownload?: boolean | null; + /** + * + * @type {boolean} + * @memberof SessionInfoNowPlayingItem + */ + hasSubtitles?: boolean | null; + /** + * + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + preferredMetadataLanguage?: string | null; + /** + * + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + preferredMetadataCountryCode?: string | null; + /** + * Gets or sets a value indicating whether [supports synchronize]. + * @type {boolean} + * @memberof SessionInfoNowPlayingItem + */ + supportsSync?: boolean | null; + /** + * + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + container?: string | null; + /** + * Gets or sets the name of the sort. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + sortName?: string | null; + /** + * + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + forcedSortName?: string | null; + /** + * + * @type {Video3DFormat} + * @memberof SessionInfoNowPlayingItem + */ + video3DFormat?: Video3DFormat | null; + /** + * Gets or sets the premiere date. + * @type {Date} + * @memberof SessionInfoNowPlayingItem + */ + premiereDate?: Date | null; + /** + * Gets or sets the external urls. + * @type {Array} + * @memberof SessionInfoNowPlayingItem + */ + externalUrls?: Array | null; + /** + * Gets or sets the media versions. + * @type {Array} + * @memberof SessionInfoNowPlayingItem + */ + mediaSources?: Array | null; + /** + * Gets or sets the critic rating. + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + criticRating?: number | null; + /** + * + * @type {Array} + * @memberof SessionInfoNowPlayingItem + */ + productionLocations?: Array | null; + /** + * Gets or sets the path. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + path?: string | null; + /** + * + * @type {boolean} + * @memberof SessionInfoNowPlayingItem + */ + enableMediaSourceDisplay?: boolean | null; + /** + * Gets or sets the official rating. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + officialRating?: string | null; + /** + * Gets or sets the custom rating. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + customRating?: string | null; + /** + * Gets or sets the channel identifier. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + channelId?: string | null; + /** + * + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + channelName?: string | null; + /** + * Gets or sets the overview. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + overview?: string | null; + /** + * Gets or sets the taglines. + * @type {Array} + * @memberof SessionInfoNowPlayingItem + */ + taglines?: Array | null; + /** + * Gets or sets the genres. + * @type {Array} + * @memberof SessionInfoNowPlayingItem + */ + genres?: Array | null; + /** + * Gets or sets the community rating. + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + communityRating?: number | null; + /** + * Gets or sets the cumulative run time ticks. + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + cumulativeRunTimeTicks?: number | null; + /** + * Gets or sets the run time ticks. + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + runTimeTicks?: number | null; + /** + * + * @type {PlayAccess} + * @memberof SessionInfoNowPlayingItem + */ + playAccess?: PlayAccess | null; + /** + * Gets or sets the aspect ratio. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + aspectRatio?: string | null; + /** + * Gets or sets the production year. + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + productionYear?: number | null; + /** + * Gets or sets a value indicating whether this instance is place holder. + * @type {boolean} + * @memberof SessionInfoNowPlayingItem + */ + isPlaceHolder?: boolean | null; + /** + * Gets or sets the number. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + number?: string | null; + /** + * + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + channelNumber?: string | null; + /** + * Gets or sets the index number. + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + indexNumber?: number | null; + /** + * Gets or sets the index number end. + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + indexNumberEnd?: number | null; + /** + * Gets or sets the parent index number. + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + parentIndexNumber?: number | null; + /** + * Gets or sets the trailer urls. + * @type {Array} + * @memberof SessionInfoNowPlayingItem + */ + remoteTrailers?: Array | null; + /** + * Gets or sets the provider ids. + * @type {{ [key: string]: string; }} + * @memberof SessionInfoNowPlayingItem + */ + providerIds?: { [key: string]: string; } | null; + /** + * Gets or sets a value indicating whether this instance is HD. + * @type {boolean} + * @memberof SessionInfoNowPlayingItem + */ + isHD?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is folder. + * @type {boolean} + * @memberof SessionInfoNowPlayingItem + */ + isFolder?: boolean | null; + /** + * Gets or sets the parent id. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + parentId?: string | null; + /** + * + * @type {BaseItemKind} + * @memberof SessionInfoNowPlayingItem + */ + type?: BaseItemKind; + /** + * Gets or sets the people. + * @type {Array} + * @memberof SessionInfoNowPlayingItem + */ + people?: Array | null; + /** + * Gets or sets the studios. + * @type {Array} + * @memberof SessionInfoNowPlayingItem + */ + studios?: Array | null; + /** + * + * @type {Array} + * @memberof SessionInfoNowPlayingItem + */ + genreItems?: Array | null; + /** + * Gets or sets wether the item has a logo, this will hold the Id of the Parent that has one. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + parentLogoItemId?: string | null; + /** + * Gets or sets wether the item has any backdrops, this will hold the Id of the Parent that has one. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + parentBackdropItemId?: string | null; + /** + * Gets or sets the parent backdrop image tags. + * @type {Array} + * @memberof SessionInfoNowPlayingItem + */ + parentBackdropImageTags?: Array | null; + /** + * Gets or sets the local trailer count. + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + localTrailerCount?: number | null; + /** + * + * @type {BaseItemDtoUserData} + * @memberof SessionInfoNowPlayingItem + */ + userData?: BaseItemDtoUserData | null; + /** + * Gets or sets the recursive item count. + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + recursiveItemCount?: number | null; + /** + * Gets or sets the child count. + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + childCount?: number | null; + /** + * Gets or sets the name of the series. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + seriesName?: string | null; + /** + * Gets or sets the series id. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + seriesId?: string | null; + /** + * Gets or sets the season identifier. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + seasonId?: string | null; + /** + * Gets or sets the special feature count. + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + specialFeatureCount?: number | null; + /** + * Gets or sets the display preferences id. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + displayPreferencesId?: string | null; + /** + * Gets or sets the status. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + status?: string | null; + /** + * Gets or sets the air time. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + airTime?: string | null; + /** + * Gets or sets the air days. + * @type {Array} + * @memberof SessionInfoNowPlayingItem + */ + airDays?: Array | null; + /** + * Gets or sets the tags. + * @type {Array} + * @memberof SessionInfoNowPlayingItem + */ + tags?: Array | null; + /** + * Gets or sets the primary image aspect ratio, after image enhancements. + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + primaryImageAspectRatio?: number | null; + /** + * Gets or sets the artists. + * @type {Array} + * @memberof SessionInfoNowPlayingItem + */ + artists?: Array | null; + /** + * Gets or sets the artist items. + * @type {Array} + * @memberof SessionInfoNowPlayingItem + */ + artistItems?: Array | null; + /** + * Gets or sets the album. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + album?: string | null; + /** + * Gets or sets the type of the collection. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + collectionType?: string | null; + /** + * Gets or sets the display order. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + displayOrder?: string | null; + /** + * Gets or sets the album id. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + albumId?: string | null; + /** + * Gets or sets the album image tag. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + albumPrimaryImageTag?: string | null; + /** + * Gets or sets the series primary image tag. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + seriesPrimaryImageTag?: string | null; + /** + * Gets or sets the album artist. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + albumArtist?: string | null; + /** + * Gets or sets the album artists. + * @type {Array} + * @memberof SessionInfoNowPlayingItem + */ + albumArtists?: Array | null; + /** + * Gets or sets the name of the season. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + seasonName?: string | null; + /** + * Gets or sets the media streams. + * @type {Array} + * @memberof SessionInfoNowPlayingItem + */ + mediaStreams?: Array | null; + /** + * + * @type {VideoType} + * @memberof SessionInfoNowPlayingItem + */ + videoType?: VideoType | null; + /** + * Gets or sets the part count. + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + partCount?: number | null; + /** + * + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + mediaSourceCount?: number | null; + /** + * Gets or sets the image tags. + * @type {{ [key: string]: string; }} + * @memberof SessionInfoNowPlayingItem + */ + imageTags?: { [key: string]: string; } | null; + /** + * Gets or sets the backdrop image tags. + * @type {Array} + * @memberof SessionInfoNowPlayingItem + */ + backdropImageTags?: Array | null; + /** + * Gets or sets the screenshot image tags. + * @type {Array} + * @memberof SessionInfoNowPlayingItem + */ + screenshotImageTags?: Array | null; + /** + * Gets or sets the parent logo image tag. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + parentLogoImageTag?: string | null; + /** + * Gets or sets wether the item has fan art, this will hold the Id of the Parent that has one. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + parentArtItemId?: string | null; + /** + * Gets or sets the parent art image tag. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + parentArtImageTag?: string | null; + /** + * Gets or sets the series thumb image tag. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + seriesThumbImageTag?: string | null; + /** + * + * @type {BaseItemDtoImageBlurHashes} + * @memberof SessionInfoNowPlayingItem + */ + imageBlurHashes?: BaseItemDtoImageBlurHashes | null; + /** + * Gets or sets the series studio. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + seriesStudio?: string | null; + /** + * Gets or sets the parent thumb item id. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + parentThumbItemId?: string | null; + /** + * Gets or sets the parent thumb image tag. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + parentThumbImageTag?: string | null; + /** + * Gets or sets the parent primary image item identifier. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + parentPrimaryImageItemId?: string | null; + /** + * Gets or sets the parent primary image tag. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + parentPrimaryImageTag?: string | null; + /** + * Gets or sets the chapters. + * @type {Array} + * @memberof SessionInfoNowPlayingItem + */ + chapters?: Array | null; + /** + * + * @type {LocationType} + * @memberof SessionInfoNowPlayingItem + */ + locationType?: LocationType | null; + /** + * + * @type {IsoType} + * @memberof SessionInfoNowPlayingItem + */ + isoType?: IsoType | null; + /** + * Gets or sets the type of the media. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + mediaType?: string | null; + /** + * Gets or sets the end date. + * @type {Date} + * @memberof SessionInfoNowPlayingItem + */ + endDate?: Date | null; + /** + * Gets or sets the locked fields. + * @type {Array} + * @memberof SessionInfoNowPlayingItem + */ + lockedFields?: Array | null; + /** + * Gets or sets the trailer count. + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + trailerCount?: number | null; + /** + * Gets or sets the movie count. + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + movieCount?: number | null; + /** + * Gets or sets the series count. + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + seriesCount?: number | null; + /** + * + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + programCount?: number | null; + /** + * Gets or sets the episode count. + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + episodeCount?: number | null; + /** + * Gets or sets the song count. + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + songCount?: number | null; + /** + * Gets or sets the album count. + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + albumCount?: number | null; + /** + * + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + artistCount?: number | null; + /** + * Gets or sets the music video count. + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + musicVideoCount?: number | null; + /** + * Gets or sets a value indicating whether [enable internet providers]. + * @type {boolean} + * @memberof SessionInfoNowPlayingItem + */ + lockData?: boolean | null; + /** + * + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + width?: number | null; + /** + * + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + height?: number | null; + /** + * + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + cameraMake?: string | null; + /** + * + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + cameraModel?: string | null; + /** + * + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + software?: string | null; + /** + * + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + exposureTime?: number | null; + /** + * + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + focalLength?: number | null; + /** + * + * @type {ImageOrientation} + * @memberof SessionInfoNowPlayingItem + */ + imageOrientation?: ImageOrientation | null; + /** + * + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + aperture?: number | null; + /** + * + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + shutterSpeed?: number | null; + /** + * + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + latitude?: number | null; + /** + * + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + longitude?: number | null; + /** + * + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + altitude?: number | null; + /** + * + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + isoSpeedRating?: number | null; + /** + * Gets or sets the series timer identifier. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + seriesTimerId?: string | null; + /** + * Gets or sets the program identifier. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + programId?: string | null; + /** + * Gets or sets the channel primary image tag. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + channelPrimaryImageTag?: string | null; + /** + * Gets or sets the start date of the recording, in UTC. + * @type {Date} + * @memberof SessionInfoNowPlayingItem + */ + startDate?: Date | null; + /** + * Gets or sets the completion percentage. + * @type {number} + * @memberof SessionInfoNowPlayingItem + */ + completionPercentage?: number | null; + /** + * Gets or sets a value indicating whether this instance is repeat. + * @type {boolean} + * @memberof SessionInfoNowPlayingItem + */ + isRepeat?: boolean | null; + /** + * Gets or sets the episode title. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + episodeTitle?: string | null; + /** + * + * @type {ChannelType} + * @memberof SessionInfoNowPlayingItem + */ + channelType?: ChannelType | null; + /** + * + * @type {ProgramAudio} + * @memberof SessionInfoNowPlayingItem + */ + audio?: ProgramAudio | null; + /** + * Gets or sets a value indicating whether this instance is movie. + * @type {boolean} + * @memberof SessionInfoNowPlayingItem + */ + isMovie?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is sports. + * @type {boolean} + * @memberof SessionInfoNowPlayingItem + */ + isSports?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is series. + * @type {boolean} + * @memberof SessionInfoNowPlayingItem + */ + isSeries?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is live. + * @type {boolean} + * @memberof SessionInfoNowPlayingItem + */ + isLive?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is news. + * @type {boolean} + * @memberof SessionInfoNowPlayingItem + */ + isNews?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is kids. + * @type {boolean} + * @memberof SessionInfoNowPlayingItem + */ + isKids?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is premiere. + * @type {boolean} + * @memberof SessionInfoNowPlayingItem + */ + isPremiere?: boolean | null; + /** + * Gets or sets the timer identifier. + * @type {string} + * @memberof SessionInfoNowPlayingItem + */ + timerId?: string | null; + /** + * + * @type {BaseItemDtoCurrentProgram} + * @memberof SessionInfoNowPlayingItem + */ + currentProgram?: BaseItemDtoCurrentProgram | null; +} + +/** + * Check if a given object implements the SessionInfoNowPlayingItem interface. + */ +export function instanceOfSessionInfoNowPlayingItem(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SessionInfoNowPlayingItemFromJSON(json: any): SessionInfoNowPlayingItem { + return SessionInfoNowPlayingItemFromJSONTyped(json, false); +} + +export function SessionInfoNowPlayingItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): SessionInfoNowPlayingItem { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'originalTitle': !exists(json, 'OriginalTitle') ? undefined : json['OriginalTitle'], + 'serverId': !exists(json, 'ServerId') ? undefined : json['ServerId'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'etag': !exists(json, 'Etag') ? undefined : json['Etag'], + 'sourceType': !exists(json, 'SourceType') ? undefined : json['SourceType'], + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + 'dateCreated': !exists(json, 'DateCreated') ? undefined : (json['DateCreated'] === null ? null : new Date(json['DateCreated'])), + 'dateLastMediaAdded': !exists(json, 'DateLastMediaAdded') ? undefined : (json['DateLastMediaAdded'] === null ? null : new Date(json['DateLastMediaAdded'])), + 'extraType': !exists(json, 'ExtraType') ? undefined : json['ExtraType'], + 'airsBeforeSeasonNumber': !exists(json, 'AirsBeforeSeasonNumber') ? undefined : json['AirsBeforeSeasonNumber'], + 'airsAfterSeasonNumber': !exists(json, 'AirsAfterSeasonNumber') ? undefined : json['AirsAfterSeasonNumber'], + 'airsBeforeEpisodeNumber': !exists(json, 'AirsBeforeEpisodeNumber') ? undefined : json['AirsBeforeEpisodeNumber'], + 'canDelete': !exists(json, 'CanDelete') ? undefined : json['CanDelete'], + 'canDownload': !exists(json, 'CanDownload') ? undefined : json['CanDownload'], + 'hasSubtitles': !exists(json, 'HasSubtitles') ? undefined : json['HasSubtitles'], + 'preferredMetadataLanguage': !exists(json, 'PreferredMetadataLanguage') ? undefined : json['PreferredMetadataLanguage'], + 'preferredMetadataCountryCode': !exists(json, 'PreferredMetadataCountryCode') ? undefined : json['PreferredMetadataCountryCode'], + 'supportsSync': !exists(json, 'SupportsSync') ? undefined : json['SupportsSync'], + 'container': !exists(json, 'Container') ? undefined : json['Container'], + 'sortName': !exists(json, 'SortName') ? undefined : json['SortName'], + 'forcedSortName': !exists(json, 'ForcedSortName') ? undefined : json['ForcedSortName'], + 'video3DFormat': !exists(json, 'Video3DFormat') ? undefined : Video3DFormatFromJSON(json['Video3DFormat']), + 'premiereDate': !exists(json, 'PremiereDate') ? undefined : (json['PremiereDate'] === null ? null : new Date(json['PremiereDate'])), + 'externalUrls': !exists(json, 'ExternalUrls') ? undefined : (json['ExternalUrls'] === null ? null : (json['ExternalUrls'] as Array).map(ExternalUrlFromJSON)), + 'mediaSources': !exists(json, 'MediaSources') ? undefined : (json['MediaSources'] === null ? null : (json['MediaSources'] as Array).map(MediaSourceInfoFromJSON)), + 'criticRating': !exists(json, 'CriticRating') ? undefined : json['CriticRating'], + 'productionLocations': !exists(json, 'ProductionLocations') ? undefined : json['ProductionLocations'], + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'enableMediaSourceDisplay': !exists(json, 'EnableMediaSourceDisplay') ? undefined : json['EnableMediaSourceDisplay'], + 'officialRating': !exists(json, 'OfficialRating') ? undefined : json['OfficialRating'], + 'customRating': !exists(json, 'CustomRating') ? undefined : json['CustomRating'], + 'channelId': !exists(json, 'ChannelId') ? undefined : json['ChannelId'], + 'channelName': !exists(json, 'ChannelName') ? undefined : json['ChannelName'], + 'overview': !exists(json, 'Overview') ? undefined : json['Overview'], + 'taglines': !exists(json, 'Taglines') ? undefined : json['Taglines'], + 'genres': !exists(json, 'Genres') ? undefined : json['Genres'], + 'communityRating': !exists(json, 'CommunityRating') ? undefined : json['CommunityRating'], + 'cumulativeRunTimeTicks': !exists(json, 'CumulativeRunTimeTicks') ? undefined : json['CumulativeRunTimeTicks'], + 'runTimeTicks': !exists(json, 'RunTimeTicks') ? undefined : json['RunTimeTicks'], + 'playAccess': !exists(json, 'PlayAccess') ? undefined : PlayAccessFromJSON(json['PlayAccess']), + 'aspectRatio': !exists(json, 'AspectRatio') ? undefined : json['AspectRatio'], + 'productionYear': !exists(json, 'ProductionYear') ? undefined : json['ProductionYear'], + 'isPlaceHolder': !exists(json, 'IsPlaceHolder') ? undefined : json['IsPlaceHolder'], + 'number': !exists(json, 'Number') ? undefined : json['Number'], + 'channelNumber': !exists(json, 'ChannelNumber') ? undefined : json['ChannelNumber'], + 'indexNumber': !exists(json, 'IndexNumber') ? undefined : json['IndexNumber'], + 'indexNumberEnd': !exists(json, 'IndexNumberEnd') ? undefined : json['IndexNumberEnd'], + 'parentIndexNumber': !exists(json, 'ParentIndexNumber') ? undefined : json['ParentIndexNumber'], + 'remoteTrailers': !exists(json, 'RemoteTrailers') ? undefined : (json['RemoteTrailers'] === null ? null : (json['RemoteTrailers'] as Array).map(MediaUrlFromJSON)), + 'providerIds': !exists(json, 'ProviderIds') ? undefined : json['ProviderIds'], + 'isHD': !exists(json, 'IsHD') ? undefined : json['IsHD'], + 'isFolder': !exists(json, 'IsFolder') ? undefined : json['IsFolder'], + 'parentId': !exists(json, 'ParentId') ? undefined : json['ParentId'], + 'type': !exists(json, 'Type') ? undefined : BaseItemKindFromJSON(json['Type']), + 'people': !exists(json, 'People') ? undefined : (json['People'] === null ? null : (json['People'] as Array).map(BaseItemPersonFromJSON)), + 'studios': !exists(json, 'Studios') ? undefined : (json['Studios'] === null ? null : (json['Studios'] as Array).map(NameGuidPairFromJSON)), + 'genreItems': !exists(json, 'GenreItems') ? undefined : (json['GenreItems'] === null ? null : (json['GenreItems'] as Array).map(NameGuidPairFromJSON)), + 'parentLogoItemId': !exists(json, 'ParentLogoItemId') ? undefined : json['ParentLogoItemId'], + 'parentBackdropItemId': !exists(json, 'ParentBackdropItemId') ? undefined : json['ParentBackdropItemId'], + 'parentBackdropImageTags': !exists(json, 'ParentBackdropImageTags') ? undefined : json['ParentBackdropImageTags'], + 'localTrailerCount': !exists(json, 'LocalTrailerCount') ? undefined : json['LocalTrailerCount'], + 'userData': !exists(json, 'UserData') ? undefined : BaseItemDtoUserDataFromJSON(json['UserData']), + 'recursiveItemCount': !exists(json, 'RecursiveItemCount') ? undefined : json['RecursiveItemCount'], + 'childCount': !exists(json, 'ChildCount') ? undefined : json['ChildCount'], + 'seriesName': !exists(json, 'SeriesName') ? undefined : json['SeriesName'], + 'seriesId': !exists(json, 'SeriesId') ? undefined : json['SeriesId'], + 'seasonId': !exists(json, 'SeasonId') ? undefined : json['SeasonId'], + 'specialFeatureCount': !exists(json, 'SpecialFeatureCount') ? undefined : json['SpecialFeatureCount'], + 'displayPreferencesId': !exists(json, 'DisplayPreferencesId') ? undefined : json['DisplayPreferencesId'], + 'status': !exists(json, 'Status') ? undefined : json['Status'], + 'airTime': !exists(json, 'AirTime') ? undefined : json['AirTime'], + 'airDays': !exists(json, 'AirDays') ? undefined : (json['AirDays'] === null ? null : (json['AirDays'] as Array).map(DayOfWeekFromJSON)), + 'tags': !exists(json, 'Tags') ? undefined : json['Tags'], + 'primaryImageAspectRatio': !exists(json, 'PrimaryImageAspectRatio') ? undefined : json['PrimaryImageAspectRatio'], + 'artists': !exists(json, 'Artists') ? undefined : json['Artists'], + 'artistItems': !exists(json, 'ArtistItems') ? undefined : (json['ArtistItems'] === null ? null : (json['ArtistItems'] as Array).map(NameGuidPairFromJSON)), + 'album': !exists(json, 'Album') ? undefined : json['Album'], + 'collectionType': !exists(json, 'CollectionType') ? undefined : json['CollectionType'], + 'displayOrder': !exists(json, 'DisplayOrder') ? undefined : json['DisplayOrder'], + 'albumId': !exists(json, 'AlbumId') ? undefined : json['AlbumId'], + 'albumPrimaryImageTag': !exists(json, 'AlbumPrimaryImageTag') ? undefined : json['AlbumPrimaryImageTag'], + 'seriesPrimaryImageTag': !exists(json, 'SeriesPrimaryImageTag') ? undefined : json['SeriesPrimaryImageTag'], + 'albumArtist': !exists(json, 'AlbumArtist') ? undefined : json['AlbumArtist'], + 'albumArtists': !exists(json, 'AlbumArtists') ? undefined : (json['AlbumArtists'] === null ? null : (json['AlbumArtists'] as Array).map(NameGuidPairFromJSON)), + 'seasonName': !exists(json, 'SeasonName') ? undefined : json['SeasonName'], + 'mediaStreams': !exists(json, 'MediaStreams') ? undefined : (json['MediaStreams'] === null ? null : (json['MediaStreams'] as Array).map(MediaStreamFromJSON)), + 'videoType': !exists(json, 'VideoType') ? undefined : VideoTypeFromJSON(json['VideoType']), + 'partCount': !exists(json, 'PartCount') ? undefined : json['PartCount'], + 'mediaSourceCount': !exists(json, 'MediaSourceCount') ? undefined : json['MediaSourceCount'], + 'imageTags': !exists(json, 'ImageTags') ? undefined : json['ImageTags'], + 'backdropImageTags': !exists(json, 'BackdropImageTags') ? undefined : json['BackdropImageTags'], + 'screenshotImageTags': !exists(json, 'ScreenshotImageTags') ? undefined : json['ScreenshotImageTags'], + 'parentLogoImageTag': !exists(json, 'ParentLogoImageTag') ? undefined : json['ParentLogoImageTag'], + 'parentArtItemId': !exists(json, 'ParentArtItemId') ? undefined : json['ParentArtItemId'], + 'parentArtImageTag': !exists(json, 'ParentArtImageTag') ? undefined : json['ParentArtImageTag'], + 'seriesThumbImageTag': !exists(json, 'SeriesThumbImageTag') ? undefined : json['SeriesThumbImageTag'], + 'imageBlurHashes': !exists(json, 'ImageBlurHashes') ? undefined : BaseItemDtoImageBlurHashesFromJSON(json['ImageBlurHashes']), + 'seriesStudio': !exists(json, 'SeriesStudio') ? undefined : json['SeriesStudio'], + 'parentThumbItemId': !exists(json, 'ParentThumbItemId') ? undefined : json['ParentThumbItemId'], + 'parentThumbImageTag': !exists(json, 'ParentThumbImageTag') ? undefined : json['ParentThumbImageTag'], + 'parentPrimaryImageItemId': !exists(json, 'ParentPrimaryImageItemId') ? undefined : json['ParentPrimaryImageItemId'], + 'parentPrimaryImageTag': !exists(json, 'ParentPrimaryImageTag') ? undefined : json['ParentPrimaryImageTag'], + 'chapters': !exists(json, 'Chapters') ? undefined : (json['Chapters'] === null ? null : (json['Chapters'] as Array).map(ChapterInfoFromJSON)), + 'locationType': !exists(json, 'LocationType') ? undefined : LocationTypeFromJSON(json['LocationType']), + 'isoType': !exists(json, 'IsoType') ? undefined : IsoTypeFromJSON(json['IsoType']), + 'mediaType': !exists(json, 'MediaType') ? undefined : json['MediaType'], + 'endDate': !exists(json, 'EndDate') ? undefined : (json['EndDate'] === null ? null : new Date(json['EndDate'])), + 'lockedFields': !exists(json, 'LockedFields') ? undefined : (json['LockedFields'] === null ? null : (json['LockedFields'] as Array).map(MetadataFieldFromJSON)), + 'trailerCount': !exists(json, 'TrailerCount') ? undefined : json['TrailerCount'], + 'movieCount': !exists(json, 'MovieCount') ? undefined : json['MovieCount'], + 'seriesCount': !exists(json, 'SeriesCount') ? undefined : json['SeriesCount'], + 'programCount': !exists(json, 'ProgramCount') ? undefined : json['ProgramCount'], + 'episodeCount': !exists(json, 'EpisodeCount') ? undefined : json['EpisodeCount'], + 'songCount': !exists(json, 'SongCount') ? undefined : json['SongCount'], + 'albumCount': !exists(json, 'AlbumCount') ? undefined : json['AlbumCount'], + 'artistCount': !exists(json, 'ArtistCount') ? undefined : json['ArtistCount'], + 'musicVideoCount': !exists(json, 'MusicVideoCount') ? undefined : json['MusicVideoCount'], + 'lockData': !exists(json, 'LockData') ? undefined : json['LockData'], + 'width': !exists(json, 'Width') ? undefined : json['Width'], + 'height': !exists(json, 'Height') ? undefined : json['Height'], + 'cameraMake': !exists(json, 'CameraMake') ? undefined : json['CameraMake'], + 'cameraModel': !exists(json, 'CameraModel') ? undefined : json['CameraModel'], + 'software': !exists(json, 'Software') ? undefined : json['Software'], + 'exposureTime': !exists(json, 'ExposureTime') ? undefined : json['ExposureTime'], + 'focalLength': !exists(json, 'FocalLength') ? undefined : json['FocalLength'], + 'imageOrientation': !exists(json, 'ImageOrientation') ? undefined : ImageOrientationFromJSON(json['ImageOrientation']), + 'aperture': !exists(json, 'Aperture') ? undefined : json['Aperture'], + 'shutterSpeed': !exists(json, 'ShutterSpeed') ? undefined : json['ShutterSpeed'], + 'latitude': !exists(json, 'Latitude') ? undefined : json['Latitude'], + 'longitude': !exists(json, 'Longitude') ? undefined : json['Longitude'], + 'altitude': !exists(json, 'Altitude') ? undefined : json['Altitude'], + 'isoSpeedRating': !exists(json, 'IsoSpeedRating') ? undefined : json['IsoSpeedRating'], + 'seriesTimerId': !exists(json, 'SeriesTimerId') ? undefined : json['SeriesTimerId'], + 'programId': !exists(json, 'ProgramId') ? undefined : json['ProgramId'], + 'channelPrimaryImageTag': !exists(json, 'ChannelPrimaryImageTag') ? undefined : json['ChannelPrimaryImageTag'], + 'startDate': !exists(json, 'StartDate') ? undefined : (json['StartDate'] === null ? null : new Date(json['StartDate'])), + 'completionPercentage': !exists(json, 'CompletionPercentage') ? undefined : json['CompletionPercentage'], + 'isRepeat': !exists(json, 'IsRepeat') ? undefined : json['IsRepeat'], + 'episodeTitle': !exists(json, 'EpisodeTitle') ? undefined : json['EpisodeTitle'], + 'channelType': !exists(json, 'ChannelType') ? undefined : ChannelTypeFromJSON(json['ChannelType']), + 'audio': !exists(json, 'Audio') ? undefined : ProgramAudioFromJSON(json['Audio']), + 'isMovie': !exists(json, 'IsMovie') ? undefined : json['IsMovie'], + 'isSports': !exists(json, 'IsSports') ? undefined : json['IsSports'], + 'isSeries': !exists(json, 'IsSeries') ? undefined : json['IsSeries'], + 'isLive': !exists(json, 'IsLive') ? undefined : json['IsLive'], + 'isNews': !exists(json, 'IsNews') ? undefined : json['IsNews'], + 'isKids': !exists(json, 'IsKids') ? undefined : json['IsKids'], + 'isPremiere': !exists(json, 'IsPremiere') ? undefined : json['IsPremiere'], + 'timerId': !exists(json, 'TimerId') ? undefined : json['TimerId'], + 'currentProgram': !exists(json, 'CurrentProgram') ? undefined : BaseItemDtoCurrentProgramFromJSON(json['CurrentProgram']), + }; +} + +export function SessionInfoNowPlayingItemToJSON(value?: SessionInfoNowPlayingItem | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'OriginalTitle': value.originalTitle, + 'ServerId': value.serverId, + 'Id': value.id, + 'Etag': value.etag, + 'SourceType': value.sourceType, + 'PlaylistItemId': value.playlistItemId, + 'DateCreated': value.dateCreated === undefined ? undefined : (value.dateCreated === null ? null : value.dateCreated.toISOString()), + 'DateLastMediaAdded': value.dateLastMediaAdded === undefined ? undefined : (value.dateLastMediaAdded === null ? null : value.dateLastMediaAdded.toISOString()), + 'ExtraType': value.extraType, + 'AirsBeforeSeasonNumber': value.airsBeforeSeasonNumber, + 'AirsAfterSeasonNumber': value.airsAfterSeasonNumber, + 'AirsBeforeEpisodeNumber': value.airsBeforeEpisodeNumber, + 'CanDelete': value.canDelete, + 'CanDownload': value.canDownload, + 'HasSubtitles': value.hasSubtitles, + 'PreferredMetadataLanguage': value.preferredMetadataLanguage, + 'PreferredMetadataCountryCode': value.preferredMetadataCountryCode, + 'SupportsSync': value.supportsSync, + 'Container': value.container, + 'SortName': value.sortName, + 'ForcedSortName': value.forcedSortName, + 'Video3DFormat': Video3DFormatToJSON(value.video3DFormat), + 'PremiereDate': value.premiereDate === undefined ? undefined : (value.premiereDate === null ? null : value.premiereDate.toISOString()), + 'ExternalUrls': value.externalUrls === undefined ? undefined : (value.externalUrls === null ? null : (value.externalUrls as Array).map(ExternalUrlToJSON)), + 'MediaSources': value.mediaSources === undefined ? undefined : (value.mediaSources === null ? null : (value.mediaSources as Array).map(MediaSourceInfoToJSON)), + 'CriticRating': value.criticRating, + 'ProductionLocations': value.productionLocations, + 'Path': value.path, + 'EnableMediaSourceDisplay': value.enableMediaSourceDisplay, + 'OfficialRating': value.officialRating, + 'CustomRating': value.customRating, + 'ChannelId': value.channelId, + 'ChannelName': value.channelName, + 'Overview': value.overview, + 'Taglines': value.taglines, + 'Genres': value.genres, + 'CommunityRating': value.communityRating, + 'CumulativeRunTimeTicks': value.cumulativeRunTimeTicks, + 'RunTimeTicks': value.runTimeTicks, + 'PlayAccess': PlayAccessToJSON(value.playAccess), + 'AspectRatio': value.aspectRatio, + 'ProductionYear': value.productionYear, + 'IsPlaceHolder': value.isPlaceHolder, + 'Number': value.number, + 'ChannelNumber': value.channelNumber, + 'IndexNumber': value.indexNumber, + 'IndexNumberEnd': value.indexNumberEnd, + 'ParentIndexNumber': value.parentIndexNumber, + 'RemoteTrailers': value.remoteTrailers === undefined ? undefined : (value.remoteTrailers === null ? null : (value.remoteTrailers as Array).map(MediaUrlToJSON)), + 'ProviderIds': value.providerIds, + 'IsHD': value.isHD, + 'IsFolder': value.isFolder, + 'ParentId': value.parentId, + 'Type': BaseItemKindToJSON(value.type), + 'People': value.people === undefined ? undefined : (value.people === null ? null : (value.people as Array).map(BaseItemPersonToJSON)), + 'Studios': value.studios === undefined ? undefined : (value.studios === null ? null : (value.studios as Array).map(NameGuidPairToJSON)), + 'GenreItems': value.genreItems === undefined ? undefined : (value.genreItems === null ? null : (value.genreItems as Array).map(NameGuidPairToJSON)), + 'ParentLogoItemId': value.parentLogoItemId, + 'ParentBackdropItemId': value.parentBackdropItemId, + 'ParentBackdropImageTags': value.parentBackdropImageTags, + 'LocalTrailerCount': value.localTrailerCount, + 'UserData': BaseItemDtoUserDataToJSON(value.userData), + 'RecursiveItemCount': value.recursiveItemCount, + 'ChildCount': value.childCount, + 'SeriesName': value.seriesName, + 'SeriesId': value.seriesId, + 'SeasonId': value.seasonId, + 'SpecialFeatureCount': value.specialFeatureCount, + 'DisplayPreferencesId': value.displayPreferencesId, + 'Status': value.status, + 'AirTime': value.airTime, + 'AirDays': value.airDays === undefined ? undefined : (value.airDays === null ? null : (value.airDays as Array).map(DayOfWeekToJSON)), + 'Tags': value.tags, + 'PrimaryImageAspectRatio': value.primaryImageAspectRatio, + 'Artists': value.artists, + 'ArtistItems': value.artistItems === undefined ? undefined : (value.artistItems === null ? null : (value.artistItems as Array).map(NameGuidPairToJSON)), + 'Album': value.album, + 'CollectionType': value.collectionType, + 'DisplayOrder': value.displayOrder, + 'AlbumId': value.albumId, + 'AlbumPrimaryImageTag': value.albumPrimaryImageTag, + 'SeriesPrimaryImageTag': value.seriesPrimaryImageTag, + 'AlbumArtist': value.albumArtist, + 'AlbumArtists': value.albumArtists === undefined ? undefined : (value.albumArtists === null ? null : (value.albumArtists as Array).map(NameGuidPairToJSON)), + 'SeasonName': value.seasonName, + 'MediaStreams': value.mediaStreams === undefined ? undefined : (value.mediaStreams === null ? null : (value.mediaStreams as Array).map(MediaStreamToJSON)), + 'VideoType': VideoTypeToJSON(value.videoType), + 'PartCount': value.partCount, + 'MediaSourceCount': value.mediaSourceCount, + 'ImageTags': value.imageTags, + 'BackdropImageTags': value.backdropImageTags, + 'ScreenshotImageTags': value.screenshotImageTags, + 'ParentLogoImageTag': value.parentLogoImageTag, + 'ParentArtItemId': value.parentArtItemId, + 'ParentArtImageTag': value.parentArtImageTag, + 'SeriesThumbImageTag': value.seriesThumbImageTag, + 'ImageBlurHashes': BaseItemDtoImageBlurHashesToJSON(value.imageBlurHashes), + 'SeriesStudio': value.seriesStudio, + 'ParentThumbItemId': value.parentThumbItemId, + 'ParentThumbImageTag': value.parentThumbImageTag, + 'ParentPrimaryImageItemId': value.parentPrimaryImageItemId, + 'ParentPrimaryImageTag': value.parentPrimaryImageTag, + 'Chapters': value.chapters === undefined ? undefined : (value.chapters === null ? null : (value.chapters as Array).map(ChapterInfoToJSON)), + 'LocationType': LocationTypeToJSON(value.locationType), + 'IsoType': IsoTypeToJSON(value.isoType), + 'MediaType': value.mediaType, + 'EndDate': value.endDate === undefined ? undefined : (value.endDate === null ? null : value.endDate.toISOString()), + 'LockedFields': value.lockedFields === undefined ? undefined : (value.lockedFields === null ? null : (value.lockedFields as Array).map(MetadataFieldToJSON)), + 'TrailerCount': value.trailerCount, + 'MovieCount': value.movieCount, + 'SeriesCount': value.seriesCount, + 'ProgramCount': value.programCount, + 'EpisodeCount': value.episodeCount, + 'SongCount': value.songCount, + 'AlbumCount': value.albumCount, + 'ArtistCount': value.artistCount, + 'MusicVideoCount': value.musicVideoCount, + 'LockData': value.lockData, + 'Width': value.width, + 'Height': value.height, + 'CameraMake': value.cameraMake, + 'CameraModel': value.cameraModel, + 'Software': value.software, + 'ExposureTime': value.exposureTime, + 'FocalLength': value.focalLength, + 'ImageOrientation': ImageOrientationToJSON(value.imageOrientation), + 'Aperture': value.aperture, + 'ShutterSpeed': value.shutterSpeed, + 'Latitude': value.latitude, + 'Longitude': value.longitude, + 'Altitude': value.altitude, + 'IsoSpeedRating': value.isoSpeedRating, + 'SeriesTimerId': value.seriesTimerId, + 'ProgramId': value.programId, + 'ChannelPrimaryImageTag': value.channelPrimaryImageTag, + 'StartDate': value.startDate === undefined ? undefined : (value.startDate === null ? null : value.startDate.toISOString()), + 'CompletionPercentage': value.completionPercentage, + 'IsRepeat': value.isRepeat, + 'EpisodeTitle': value.episodeTitle, + 'ChannelType': ChannelTypeToJSON(value.channelType), + 'Audio': ProgramAudioToJSON(value.audio), + 'IsMovie': value.isMovie, + 'IsSports': value.isSports, + 'IsSeries': value.isSeries, + 'IsLive': value.isLive, + 'IsNews': value.isNews, + 'IsKids': value.isKids, + 'IsPremiere': value.isPremiere, + 'TimerId': value.timerId, + 'CurrentProgram': BaseItemDtoCurrentProgramToJSON(value.currentProgram), + }; +} + diff --git a/server/jellyfin/models/SessionMessageType.ts b/server/jellyfin/models/SessionMessageType.ts new file mode 100644 index 0000000..3c26e06 --- /dev/null +++ b/server/jellyfin/models/SessionMessageType.ts @@ -0,0 +1,70 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * The different kinds of messages that are used in the WebSocket api. + * @export + */ +export const SessionMessageType = { + ForceKeepAlive: 'ForceKeepAlive', + GeneralCommand: 'GeneralCommand', + UserDataChanged: 'UserDataChanged', + Sessions: 'Sessions', + Play: 'Play', + SyncPlayCommand: 'SyncPlayCommand', + SyncPlayGroupUpdate: 'SyncPlayGroupUpdate', + Playstate: 'Playstate', + RestartRequired: 'RestartRequired', + ServerShuttingDown: 'ServerShuttingDown', + ServerRestarting: 'ServerRestarting', + LibraryChanged: 'LibraryChanged', + UserDeleted: 'UserDeleted', + UserUpdated: 'UserUpdated', + SeriesTimerCreated: 'SeriesTimerCreated', + TimerCreated: 'TimerCreated', + SeriesTimerCancelled: 'SeriesTimerCancelled', + TimerCancelled: 'TimerCancelled', + RefreshProgress: 'RefreshProgress', + ScheduledTaskEnded: 'ScheduledTaskEnded', + PackageInstallationCancelled: 'PackageInstallationCancelled', + PackageInstallationFailed: 'PackageInstallationFailed', + PackageInstallationCompleted: 'PackageInstallationCompleted', + PackageInstalling: 'PackageInstalling', + PackageUninstalled: 'PackageUninstalled', + ActivityLogEntry: 'ActivityLogEntry', + ScheduledTasksInfo: 'ScheduledTasksInfo', + ActivityLogEntryStart: 'ActivityLogEntryStart', + ActivityLogEntryStop: 'ActivityLogEntryStop', + SessionsStart: 'SessionsStart', + SessionsStop: 'SessionsStop', + ScheduledTasksInfoStart: 'ScheduledTasksInfoStart', + ScheduledTasksInfoStop: 'ScheduledTasksInfoStop', + KeepAlive: 'KeepAlive' +} as const; +export type SessionMessageType = typeof SessionMessageType[keyof typeof SessionMessageType]; + + +export function SessionMessageTypeFromJSON(json: any): SessionMessageType { + return SessionMessageTypeFromJSONTyped(json, false); +} + +export function SessionMessageTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): SessionMessageType { + return json as SessionMessageType; +} + +export function SessionMessageTypeToJSON(value?: SessionMessageType | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/SessionUserInfo.ts b/server/jellyfin/models/SessionUserInfo.ts new file mode 100644 index 0000000..2bf046f --- /dev/null +++ b/server/jellyfin/models/SessionUserInfo.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class SessionUserInfo. + * @export + * @interface SessionUserInfo + */ +export interface SessionUserInfo { + /** + * Gets or sets the user identifier. + * @type {string} + * @memberof SessionUserInfo + */ + userId?: string; + /** + * Gets or sets the name of the user. + * @type {string} + * @memberof SessionUserInfo + */ + userName?: string | null; +} + +/** + * Check if a given object implements the SessionUserInfo interface. + */ +export function instanceOfSessionUserInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SessionUserInfoFromJSON(json: any): SessionUserInfo { + return SessionUserInfoFromJSONTyped(json, false); +} + +export function SessionUserInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SessionUserInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'userId': !exists(json, 'UserId') ? undefined : json['UserId'], + 'userName': !exists(json, 'UserName') ? undefined : json['UserName'], + }; +} + +export function SessionUserInfoToJSON(value?: SessionUserInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'UserId': value.userId, + 'UserName': value.userName, + }; +} + diff --git a/server/jellyfin/models/SetChannelMappingDto.ts b/server/jellyfin/models/SetChannelMappingDto.ts new file mode 100644 index 0000000..7a7a3eb --- /dev/null +++ b/server/jellyfin/models/SetChannelMappingDto.ts @@ -0,0 +1,84 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Set channel mapping dto. + * @export + * @interface SetChannelMappingDto + */ +export interface SetChannelMappingDto { + /** + * Gets or sets the provider id. + * @type {string} + * @memberof SetChannelMappingDto + */ + providerId: string; + /** + * Gets or sets the tuner channel id. + * @type {string} + * @memberof SetChannelMappingDto + */ + tunerChannelId: string; + /** + * Gets or sets the provider channel id. + * @type {string} + * @memberof SetChannelMappingDto + */ + providerChannelId: string; +} + +/** + * Check if a given object implements the SetChannelMappingDto interface. + */ +export function instanceOfSetChannelMappingDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "providerId" in value; + isInstance = isInstance && "tunerChannelId" in value; + isInstance = isInstance && "providerChannelId" in value; + + return isInstance; +} + +export function SetChannelMappingDtoFromJSON(json: any): SetChannelMappingDto { + return SetChannelMappingDtoFromJSONTyped(json, false); +} + +export function SetChannelMappingDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SetChannelMappingDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'providerId': json['ProviderId'], + 'tunerChannelId': json['TunerChannelId'], + 'providerChannelId': json['ProviderChannelId'], + }; +} + +export function SetChannelMappingDtoToJSON(value?: SetChannelMappingDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'ProviderId': value.providerId, + 'TunerChannelId': value.tunerChannelId, + 'ProviderChannelId': value.providerChannelId, + }; +} + diff --git a/server/jellyfin/models/SetChannelMappingRequest.ts b/server/jellyfin/models/SetChannelMappingRequest.ts new file mode 100644 index 0000000..dd6c630 --- /dev/null +++ b/server/jellyfin/models/SetChannelMappingRequest.ts @@ -0,0 +1,84 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Set channel mapping dto. + * @export + * @interface SetChannelMappingRequest + */ +export interface SetChannelMappingRequest { + /** + * Gets or sets the provider id. + * @type {string} + * @memberof SetChannelMappingRequest + */ + providerId: string; + /** + * Gets or sets the tuner channel id. + * @type {string} + * @memberof SetChannelMappingRequest + */ + tunerChannelId: string; + /** + * Gets or sets the provider channel id. + * @type {string} + * @memberof SetChannelMappingRequest + */ + providerChannelId: string; +} + +/** + * Check if a given object implements the SetChannelMappingRequest interface. + */ +export function instanceOfSetChannelMappingRequest(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "providerId" in value; + isInstance = isInstance && "tunerChannelId" in value; + isInstance = isInstance && "providerChannelId" in value; + + return isInstance; +} + +export function SetChannelMappingRequestFromJSON(json: any): SetChannelMappingRequest { + return SetChannelMappingRequestFromJSONTyped(json, false); +} + +export function SetChannelMappingRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SetChannelMappingRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'providerId': json['ProviderId'], + 'tunerChannelId': json['TunerChannelId'], + 'providerChannelId': json['ProviderChannelId'], + }; +} + +export function SetChannelMappingRequestToJSON(value?: SetChannelMappingRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'ProviderId': value.providerId, + 'TunerChannelId': value.tunerChannelId, + 'ProviderChannelId': value.providerChannelId, + }; +} + diff --git a/server/jellyfin/models/SetPlaylistItemRequestDto.ts b/server/jellyfin/models/SetPlaylistItemRequestDto.ts new file mode 100644 index 0000000..8d0410e --- /dev/null +++ b/server/jellyfin/models/SetPlaylistItemRequestDto.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class SetPlaylistItemRequestDto. + * @export + * @interface SetPlaylistItemRequestDto + */ +export interface SetPlaylistItemRequestDto { + /** + * Gets or sets the playlist identifier of the playing item. + * @type {string} + * @memberof SetPlaylistItemRequestDto + */ + playlistItemId?: string; +} + +/** + * Check if a given object implements the SetPlaylistItemRequestDto interface. + */ +export function instanceOfSetPlaylistItemRequestDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SetPlaylistItemRequestDtoFromJSON(json: any): SetPlaylistItemRequestDto { + return SetPlaylistItemRequestDtoFromJSONTyped(json, false); +} + +export function SetPlaylistItemRequestDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SetPlaylistItemRequestDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + }; +} + +export function SetPlaylistItemRequestDtoToJSON(value?: SetPlaylistItemRequestDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'PlaylistItemId': value.playlistItemId, + }; +} + diff --git a/server/jellyfin/models/SetRemoteAccessRequest.ts b/server/jellyfin/models/SetRemoteAccessRequest.ts new file mode 100644 index 0000000..c170e25 --- /dev/null +++ b/server/jellyfin/models/SetRemoteAccessRequest.ts @@ -0,0 +1,75 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Startup remote access dto. + * @export + * @interface SetRemoteAccessRequest + */ +export interface SetRemoteAccessRequest { + /** + * Gets or sets a value indicating whether enable remote access. + * @type {boolean} + * @memberof SetRemoteAccessRequest + */ + enableRemoteAccess: boolean; + /** + * Gets or sets a value indicating whether enable automatic port mapping. + * @type {boolean} + * @memberof SetRemoteAccessRequest + */ + enableAutomaticPortMapping: boolean; +} + +/** + * Check if a given object implements the SetRemoteAccessRequest interface. + */ +export function instanceOfSetRemoteAccessRequest(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "enableRemoteAccess" in value; + isInstance = isInstance && "enableAutomaticPortMapping" in value; + + return isInstance; +} + +export function SetRemoteAccessRequestFromJSON(json: any): SetRemoteAccessRequest { + return SetRemoteAccessRequestFromJSONTyped(json, false); +} + +export function SetRemoteAccessRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SetRemoteAccessRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'enableRemoteAccess': json['EnableRemoteAccess'], + 'enableAutomaticPortMapping': json['EnableAutomaticPortMapping'], + }; +} + +export function SetRemoteAccessRequestToJSON(value?: SetRemoteAccessRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'EnableRemoteAccess': value.enableRemoteAccess, + 'EnableAutomaticPortMapping': value.enableAutomaticPortMapping, + }; +} + diff --git a/server/jellyfin/models/SetRepeatModeRequestDto.ts b/server/jellyfin/models/SetRepeatModeRequestDto.ts new file mode 100644 index 0000000..8900362 --- /dev/null +++ b/server/jellyfin/models/SetRepeatModeRequestDto.ts @@ -0,0 +1,72 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { GroupRepeatMode } from './GroupRepeatMode'; +import { + GroupRepeatModeFromJSON, + GroupRepeatModeFromJSONTyped, + GroupRepeatModeToJSON, +} from './GroupRepeatMode'; + +/** + * Class SetRepeatModeRequestDto. + * @export + * @interface SetRepeatModeRequestDto + */ +export interface SetRepeatModeRequestDto { + /** + * + * @type {GroupRepeatMode} + * @memberof SetRepeatModeRequestDto + */ + mode?: GroupRepeatMode; +} + +/** + * Check if a given object implements the SetRepeatModeRequestDto interface. + */ +export function instanceOfSetRepeatModeRequestDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SetRepeatModeRequestDtoFromJSON(json: any): SetRepeatModeRequestDto { + return SetRepeatModeRequestDtoFromJSONTyped(json, false); +} + +export function SetRepeatModeRequestDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SetRepeatModeRequestDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'mode': !exists(json, 'Mode') ? undefined : GroupRepeatModeFromJSON(json['Mode']), + }; +} + +export function SetRepeatModeRequestDtoToJSON(value?: SetRepeatModeRequestDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Mode': GroupRepeatModeToJSON(value.mode), + }; +} + diff --git a/server/jellyfin/models/SetShuffleModeRequestDto.ts b/server/jellyfin/models/SetShuffleModeRequestDto.ts new file mode 100644 index 0000000..229ba73 --- /dev/null +++ b/server/jellyfin/models/SetShuffleModeRequestDto.ts @@ -0,0 +1,72 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { GroupShuffleMode } from './GroupShuffleMode'; +import { + GroupShuffleModeFromJSON, + GroupShuffleModeFromJSONTyped, + GroupShuffleModeToJSON, +} from './GroupShuffleMode'; + +/** + * Class SetShuffleModeRequestDto. + * @export + * @interface SetShuffleModeRequestDto + */ +export interface SetShuffleModeRequestDto { + /** + * + * @type {GroupShuffleMode} + * @memberof SetShuffleModeRequestDto + */ + mode?: GroupShuffleMode; +} + +/** + * Check if a given object implements the SetShuffleModeRequestDto interface. + */ +export function instanceOfSetShuffleModeRequestDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SetShuffleModeRequestDtoFromJSON(json: any): SetShuffleModeRequestDto { + return SetShuffleModeRequestDtoFromJSONTyped(json, false); +} + +export function SetShuffleModeRequestDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SetShuffleModeRequestDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'mode': !exists(json, 'Mode') ? undefined : GroupShuffleModeFromJSON(json['Mode']), + }; +} + +export function SetShuffleModeRequestDtoToJSON(value?: SetShuffleModeRequestDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Mode': GroupShuffleModeToJSON(value.mode), + }; +} + diff --git a/server/jellyfin/models/SongInfo.ts b/server/jellyfin/models/SongInfo.ts new file mode 100644 index 0000000..a54caf8 --- /dev/null +++ b/server/jellyfin/models/SongInfo.ts @@ -0,0 +1,169 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface SongInfo + */ +export interface SongInfo { + /** + * Gets or sets the name. + * @type {string} + * @memberof SongInfo + */ + name?: string | null; + /** + * Gets or sets the original title. + * @type {string} + * @memberof SongInfo + */ + originalTitle?: string | null; + /** + * Gets or sets the path. + * @type {string} + * @memberof SongInfo + */ + path?: string | null; + /** + * Gets or sets the metadata language. + * @type {string} + * @memberof SongInfo + */ + metadataLanguage?: string | null; + /** + * Gets or sets the metadata country code. + * @type {string} + * @memberof SongInfo + */ + metadataCountryCode?: string | null; + /** + * Gets or sets the provider ids. + * @type {{ [key: string]: string; }} + * @memberof SongInfo + */ + providerIds?: { [key: string]: string; } | null; + /** + * Gets or sets the year. + * @type {number} + * @memberof SongInfo + */ + year?: number | null; + /** + * + * @type {number} + * @memberof SongInfo + */ + indexNumber?: number | null; + /** + * + * @type {number} + * @memberof SongInfo + */ + parentIndexNumber?: number | null; + /** + * + * @type {Date} + * @memberof SongInfo + */ + premiereDate?: Date | null; + /** + * + * @type {boolean} + * @memberof SongInfo + */ + isAutomated?: boolean; + /** + * + * @type {Array} + * @memberof SongInfo + */ + albumArtists?: Array | null; + /** + * + * @type {string} + * @memberof SongInfo + */ + album?: string | null; + /** + * + * @type {Array} + * @memberof SongInfo + */ + artists?: Array | null; +} + +/** + * Check if a given object implements the SongInfo interface. + */ +export function instanceOfSongInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SongInfoFromJSON(json: any): SongInfo { + return SongInfoFromJSONTyped(json, false); +} + +export function SongInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SongInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'originalTitle': !exists(json, 'OriginalTitle') ? undefined : json['OriginalTitle'], + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'metadataLanguage': !exists(json, 'MetadataLanguage') ? undefined : json['MetadataLanguage'], + 'metadataCountryCode': !exists(json, 'MetadataCountryCode') ? undefined : json['MetadataCountryCode'], + 'providerIds': !exists(json, 'ProviderIds') ? undefined : json['ProviderIds'], + 'year': !exists(json, 'Year') ? undefined : json['Year'], + 'indexNumber': !exists(json, 'IndexNumber') ? undefined : json['IndexNumber'], + 'parentIndexNumber': !exists(json, 'ParentIndexNumber') ? undefined : json['ParentIndexNumber'], + 'premiereDate': !exists(json, 'PremiereDate') ? undefined : (json['PremiereDate'] === null ? null : new Date(json['PremiereDate'])), + 'isAutomated': !exists(json, 'IsAutomated') ? undefined : json['IsAutomated'], + 'albumArtists': !exists(json, 'AlbumArtists') ? undefined : json['AlbumArtists'], + 'album': !exists(json, 'Album') ? undefined : json['Album'], + 'artists': !exists(json, 'Artists') ? undefined : json['Artists'], + }; +} + +export function SongInfoToJSON(value?: SongInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'OriginalTitle': value.originalTitle, + 'Path': value.path, + 'MetadataLanguage': value.metadataLanguage, + 'MetadataCountryCode': value.metadataCountryCode, + 'ProviderIds': value.providerIds, + 'Year': value.year, + 'IndexNumber': value.indexNumber, + 'ParentIndexNumber': value.parentIndexNumber, + 'PremiereDate': value.premiereDate === undefined ? undefined : (value.premiereDate === null ? null : value.premiereDate.toISOString()), + 'IsAutomated': value.isAutomated, + 'AlbumArtists': value.albumArtists, + 'Album': value.album, + 'Artists': value.artists, + }; +} + diff --git a/server/jellyfin/models/SortOrder.ts b/server/jellyfin/models/SortOrder.ts new file mode 100644 index 0000000..9daf9a0 --- /dev/null +++ b/server/jellyfin/models/SortOrder.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * An enum representing the sorting order. + * @export + */ +export const SortOrder = { + Ascending: 'Ascending', + Descending: 'Descending' +} as const; +export type SortOrder = typeof SortOrder[keyof typeof SortOrder]; + + +export function SortOrderFromJSON(json: any): SortOrder { + return SortOrderFromJSONTyped(json, false); +} + +export function SortOrderFromJSONTyped(json: any, ignoreDiscriminator: boolean): SortOrder { + return json as SortOrder; +} + +export function SortOrderToJSON(value?: SortOrder | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/SpecialViewOptionDto.ts b/server/jellyfin/models/SpecialViewOptionDto.ts new file mode 100644 index 0000000..43914b9 --- /dev/null +++ b/server/jellyfin/models/SpecialViewOptionDto.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Special view option dto. + * @export + * @interface SpecialViewOptionDto + */ +export interface SpecialViewOptionDto { + /** + * Gets or sets view option name. + * @type {string} + * @memberof SpecialViewOptionDto + */ + name?: string | null; + /** + * Gets or sets view option id. + * @type {string} + * @memberof SpecialViewOptionDto + */ + id?: string | null; +} + +/** + * Check if a given object implements the SpecialViewOptionDto interface. + */ +export function instanceOfSpecialViewOptionDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SpecialViewOptionDtoFromJSON(json: any): SpecialViewOptionDto { + return SpecialViewOptionDtoFromJSONTyped(json, false); +} + +export function SpecialViewOptionDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SpecialViewOptionDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + }; +} + +export function SpecialViewOptionDtoToJSON(value?: SpecialViewOptionDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Id': value.id, + }; +} + diff --git a/server/jellyfin/models/StartupConfigurationDto.ts b/server/jellyfin/models/StartupConfigurationDto.ts new file mode 100644 index 0000000..16f4fe9 --- /dev/null +++ b/server/jellyfin/models/StartupConfigurationDto.ts @@ -0,0 +1,81 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * The startup configuration DTO. + * @export + * @interface StartupConfigurationDto + */ +export interface StartupConfigurationDto { + /** + * Gets or sets UI language culture. + * @type {string} + * @memberof StartupConfigurationDto + */ + uICulture?: string | null; + /** + * Gets or sets the metadata country code. + * @type {string} + * @memberof StartupConfigurationDto + */ + metadataCountryCode?: string | null; + /** + * Gets or sets the preferred language for the metadata. + * @type {string} + * @memberof StartupConfigurationDto + */ + preferredMetadataLanguage?: string | null; +} + +/** + * Check if a given object implements the StartupConfigurationDto interface. + */ +export function instanceOfStartupConfigurationDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function StartupConfigurationDtoFromJSON(json: any): StartupConfigurationDto { + return StartupConfigurationDtoFromJSONTyped(json, false); +} + +export function StartupConfigurationDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): StartupConfigurationDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'uICulture': !exists(json, 'UICulture') ? undefined : json['UICulture'], + 'metadataCountryCode': !exists(json, 'MetadataCountryCode') ? undefined : json['MetadataCountryCode'], + 'preferredMetadataLanguage': !exists(json, 'PreferredMetadataLanguage') ? undefined : json['PreferredMetadataLanguage'], + }; +} + +export function StartupConfigurationDtoToJSON(value?: StartupConfigurationDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'UICulture': value.uICulture, + 'MetadataCountryCode': value.metadataCountryCode, + 'PreferredMetadataLanguage': value.preferredMetadataLanguage, + }; +} + diff --git a/server/jellyfin/models/StartupRemoteAccessDto.ts b/server/jellyfin/models/StartupRemoteAccessDto.ts new file mode 100644 index 0000000..5658b80 --- /dev/null +++ b/server/jellyfin/models/StartupRemoteAccessDto.ts @@ -0,0 +1,75 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Startup remote access dto. + * @export + * @interface StartupRemoteAccessDto + */ +export interface StartupRemoteAccessDto { + /** + * Gets or sets a value indicating whether enable remote access. + * @type {boolean} + * @memberof StartupRemoteAccessDto + */ + enableRemoteAccess: boolean; + /** + * Gets or sets a value indicating whether enable automatic port mapping. + * @type {boolean} + * @memberof StartupRemoteAccessDto + */ + enableAutomaticPortMapping: boolean; +} + +/** + * Check if a given object implements the StartupRemoteAccessDto interface. + */ +export function instanceOfStartupRemoteAccessDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "enableRemoteAccess" in value; + isInstance = isInstance && "enableAutomaticPortMapping" in value; + + return isInstance; +} + +export function StartupRemoteAccessDtoFromJSON(json: any): StartupRemoteAccessDto { + return StartupRemoteAccessDtoFromJSONTyped(json, false); +} + +export function StartupRemoteAccessDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): StartupRemoteAccessDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'enableRemoteAccess': json['EnableRemoteAccess'], + 'enableAutomaticPortMapping': json['EnableAutomaticPortMapping'], + }; +} + +export function StartupRemoteAccessDtoToJSON(value?: StartupRemoteAccessDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'EnableRemoteAccess': value.enableRemoteAccess, + 'EnableAutomaticPortMapping': value.enableAutomaticPortMapping, + }; +} + diff --git a/server/jellyfin/models/StartupUserDto.ts b/server/jellyfin/models/StartupUserDto.ts new file mode 100644 index 0000000..8ac0a24 --- /dev/null +++ b/server/jellyfin/models/StartupUserDto.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * The startup user DTO. + * @export + * @interface StartupUserDto + */ +export interface StartupUserDto { + /** + * Gets or sets the username. + * @type {string} + * @memberof StartupUserDto + */ + name?: string | null; + /** + * Gets or sets the user's password. + * @type {string} + * @memberof StartupUserDto + */ + password?: string | null; +} + +/** + * Check if a given object implements the StartupUserDto interface. + */ +export function instanceOfStartupUserDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function StartupUserDtoFromJSON(json: any): StartupUserDto { + return StartupUserDtoFromJSONTyped(json, false); +} + +export function StartupUserDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): StartupUserDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'password': !exists(json, 'Password') ? undefined : json['Password'], + }; +} + +export function StartupUserDtoToJSON(value?: StartupUserDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Password': value.password, + }; +} + diff --git a/server/jellyfin/models/SubtitleDeliveryMethod.ts b/server/jellyfin/models/SubtitleDeliveryMethod.ts new file mode 100644 index 0000000..d536322 --- /dev/null +++ b/server/jellyfin/models/SubtitleDeliveryMethod.ts @@ -0,0 +1,41 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Delivery method to use during playback of a specific subtitle format. + * @export + */ +export const SubtitleDeliveryMethod = { + Encode: 'Encode', + Embed: 'Embed', + External: 'External', + Hls: 'Hls', + Drop: 'Drop' +} as const; +export type SubtitleDeliveryMethod = typeof SubtitleDeliveryMethod[keyof typeof SubtitleDeliveryMethod]; + + +export function SubtitleDeliveryMethodFromJSON(json: any): SubtitleDeliveryMethod { + return SubtitleDeliveryMethodFromJSONTyped(json, false); +} + +export function SubtitleDeliveryMethodFromJSONTyped(json: any, ignoreDiscriminator: boolean): SubtitleDeliveryMethod { + return json as SubtitleDeliveryMethod; +} + +export function SubtitleDeliveryMethodToJSON(value?: SubtitleDeliveryMethod | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/SubtitleOptions.ts b/server/jellyfin/models/SubtitleOptions.ts new file mode 100644 index 0000000..ea56a51 --- /dev/null +++ b/server/jellyfin/models/SubtitleOptions.ts @@ -0,0 +1,129 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface SubtitleOptions + */ +export interface SubtitleOptions { + /** + * + * @type {boolean} + * @memberof SubtitleOptions + */ + skipIfEmbeddedSubtitlesPresent?: boolean; + /** + * + * @type {boolean} + * @memberof SubtitleOptions + */ + skipIfAudioTrackMatches?: boolean; + /** + * + * @type {Array} + * @memberof SubtitleOptions + */ + downloadLanguages?: Array | null; + /** + * + * @type {boolean} + * @memberof SubtitleOptions + */ + downloadMovieSubtitles?: boolean; + /** + * + * @type {boolean} + * @memberof SubtitleOptions + */ + downloadEpisodeSubtitles?: boolean; + /** + * + * @type {string} + * @memberof SubtitleOptions + */ + openSubtitlesUsername?: string | null; + /** + * + * @type {string} + * @memberof SubtitleOptions + */ + openSubtitlesPasswordHash?: string | null; + /** + * + * @type {boolean} + * @memberof SubtitleOptions + */ + isOpenSubtitleVipAccount?: boolean; + /** + * + * @type {boolean} + * @memberof SubtitleOptions + */ + requirePerfectMatch?: boolean; +} + +/** + * Check if a given object implements the SubtitleOptions interface. + */ +export function instanceOfSubtitleOptions(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SubtitleOptionsFromJSON(json: any): SubtitleOptions { + return SubtitleOptionsFromJSONTyped(json, false); +} + +export function SubtitleOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): SubtitleOptions { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'skipIfEmbeddedSubtitlesPresent': !exists(json, 'SkipIfEmbeddedSubtitlesPresent') ? undefined : json['SkipIfEmbeddedSubtitlesPresent'], + 'skipIfAudioTrackMatches': !exists(json, 'SkipIfAudioTrackMatches') ? undefined : json['SkipIfAudioTrackMatches'], + 'downloadLanguages': !exists(json, 'DownloadLanguages') ? undefined : json['DownloadLanguages'], + 'downloadMovieSubtitles': !exists(json, 'DownloadMovieSubtitles') ? undefined : json['DownloadMovieSubtitles'], + 'downloadEpisodeSubtitles': !exists(json, 'DownloadEpisodeSubtitles') ? undefined : json['DownloadEpisodeSubtitles'], + 'openSubtitlesUsername': !exists(json, 'OpenSubtitlesUsername') ? undefined : json['OpenSubtitlesUsername'], + 'openSubtitlesPasswordHash': !exists(json, 'OpenSubtitlesPasswordHash') ? undefined : json['OpenSubtitlesPasswordHash'], + 'isOpenSubtitleVipAccount': !exists(json, 'IsOpenSubtitleVipAccount') ? undefined : json['IsOpenSubtitleVipAccount'], + 'requirePerfectMatch': !exists(json, 'RequirePerfectMatch') ? undefined : json['RequirePerfectMatch'], + }; +} + +export function SubtitleOptionsToJSON(value?: SubtitleOptions | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'SkipIfEmbeddedSubtitlesPresent': value.skipIfEmbeddedSubtitlesPresent, + 'SkipIfAudioTrackMatches': value.skipIfAudioTrackMatches, + 'DownloadLanguages': value.downloadLanguages, + 'DownloadMovieSubtitles': value.downloadMovieSubtitles, + 'DownloadEpisodeSubtitles': value.downloadEpisodeSubtitles, + 'OpenSubtitlesUsername': value.openSubtitlesUsername, + 'OpenSubtitlesPasswordHash': value.openSubtitlesPasswordHash, + 'IsOpenSubtitleVipAccount': value.isOpenSubtitleVipAccount, + 'RequirePerfectMatch': value.requirePerfectMatch, + }; +} + diff --git a/server/jellyfin/models/SubtitlePlaybackMode.ts b/server/jellyfin/models/SubtitlePlaybackMode.ts new file mode 100644 index 0000000..2621c95 --- /dev/null +++ b/server/jellyfin/models/SubtitlePlaybackMode.ts @@ -0,0 +1,41 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * An enum representing a subtitle playback mode. + * @export + */ +export const SubtitlePlaybackMode = { + Default: 'Default', + Always: 'Always', + OnlyForced: 'OnlyForced', + None: 'None', + Smart: 'Smart' +} as const; +export type SubtitlePlaybackMode = typeof SubtitlePlaybackMode[keyof typeof SubtitlePlaybackMode]; + + +export function SubtitlePlaybackModeFromJSON(json: any): SubtitlePlaybackMode { + return SubtitlePlaybackModeFromJSONTyped(json, false); +} + +export function SubtitlePlaybackModeFromJSONTyped(json: any, ignoreDiscriminator: boolean): SubtitlePlaybackMode { + return json as SubtitlePlaybackMode; +} + +export function SubtitlePlaybackModeToJSON(value?: SubtitlePlaybackMode | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/SubtitleProfile.ts b/server/jellyfin/models/SubtitleProfile.ts new file mode 100644 index 0000000..caee98f --- /dev/null +++ b/server/jellyfin/models/SubtitleProfile.ts @@ -0,0 +1,104 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { SubtitleDeliveryMethod } from './SubtitleDeliveryMethod'; +import { + SubtitleDeliveryMethodFromJSON, + SubtitleDeliveryMethodFromJSONTyped, + SubtitleDeliveryMethodToJSON, +} from './SubtitleDeliveryMethod'; + +/** + * + * @export + * @interface SubtitleProfile + */ +export interface SubtitleProfile { + /** + * + * @type {string} + * @memberof SubtitleProfile + */ + format?: string | null; + /** + * + * @type {SubtitleDeliveryMethod} + * @memberof SubtitleProfile + */ + method?: SubtitleDeliveryMethod; + /** + * + * @type {string} + * @memberof SubtitleProfile + */ + didlMode?: string | null; + /** + * + * @type {string} + * @memberof SubtitleProfile + */ + language?: string | null; + /** + * + * @type {string} + * @memberof SubtitleProfile + */ + container?: string | null; +} + +/** + * Check if a given object implements the SubtitleProfile interface. + */ +export function instanceOfSubtitleProfile(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SubtitleProfileFromJSON(json: any): SubtitleProfile { + return SubtitleProfileFromJSONTyped(json, false); +} + +export function SubtitleProfileFromJSONTyped(json: any, ignoreDiscriminator: boolean): SubtitleProfile { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'format': !exists(json, 'Format') ? undefined : json['Format'], + 'method': !exists(json, 'Method') ? undefined : SubtitleDeliveryMethodFromJSON(json['Method']), + 'didlMode': !exists(json, 'DidlMode') ? undefined : json['DidlMode'], + 'language': !exists(json, 'Language') ? undefined : json['Language'], + 'container': !exists(json, 'Container') ? undefined : json['Container'], + }; +} + +export function SubtitleProfileToJSON(value?: SubtitleProfile | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Format': value.format, + 'Method': SubtitleDeliveryMethodToJSON(value.method), + 'DidlMode': value.didlMode, + 'Language': value.language, + 'Container': value.container, + }; +} + diff --git a/server/jellyfin/models/SyncPlayBufferingRequest.ts b/server/jellyfin/models/SyncPlayBufferingRequest.ts new file mode 100644 index 0000000..65bffbe --- /dev/null +++ b/server/jellyfin/models/SyncPlayBufferingRequest.ts @@ -0,0 +1,89 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class BufferRequestDto. + * @export + * @interface SyncPlayBufferingRequest + */ +export interface SyncPlayBufferingRequest { + /** + * Gets or sets when the request has been made by the client. + * @type {Date} + * @memberof SyncPlayBufferingRequest + */ + when?: Date; + /** + * Gets or sets the position ticks. + * @type {number} + * @memberof SyncPlayBufferingRequest + */ + positionTicks?: number; + /** + * Gets or sets a value indicating whether the client playback is unpaused. + * @type {boolean} + * @memberof SyncPlayBufferingRequest + */ + isPlaying?: boolean; + /** + * Gets or sets the playlist item identifier of the playing item. + * @type {string} + * @memberof SyncPlayBufferingRequest + */ + playlistItemId?: string; +} + +/** + * Check if a given object implements the SyncPlayBufferingRequest interface. + */ +export function instanceOfSyncPlayBufferingRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SyncPlayBufferingRequestFromJSON(json: any): SyncPlayBufferingRequest { + return SyncPlayBufferingRequestFromJSONTyped(json, false); +} + +export function SyncPlayBufferingRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SyncPlayBufferingRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'when': !exists(json, 'When') ? undefined : (new Date(json['When'])), + 'positionTicks': !exists(json, 'PositionTicks') ? undefined : json['PositionTicks'], + 'isPlaying': !exists(json, 'IsPlaying') ? undefined : json['IsPlaying'], + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + }; +} + +export function SyncPlayBufferingRequestToJSON(value?: SyncPlayBufferingRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'When': value.when === undefined ? undefined : (value.when.toISOString()), + 'PositionTicks': value.positionTicks, + 'IsPlaying': value.isPlaying, + 'PlaylistItemId': value.playlistItemId, + }; +} + diff --git a/server/jellyfin/models/SyncPlayCreateGroupRequest.ts b/server/jellyfin/models/SyncPlayCreateGroupRequest.ts new file mode 100644 index 0000000..d3f05c7 --- /dev/null +++ b/server/jellyfin/models/SyncPlayCreateGroupRequest.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class NewGroupRequestDto. + * @export + * @interface SyncPlayCreateGroupRequest + */ +export interface SyncPlayCreateGroupRequest { + /** + * Gets or sets the group name. + * @type {string} + * @memberof SyncPlayCreateGroupRequest + */ + groupName?: string; +} + +/** + * Check if a given object implements the SyncPlayCreateGroupRequest interface. + */ +export function instanceOfSyncPlayCreateGroupRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SyncPlayCreateGroupRequestFromJSON(json: any): SyncPlayCreateGroupRequest { + return SyncPlayCreateGroupRequestFromJSONTyped(json, false); +} + +export function SyncPlayCreateGroupRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SyncPlayCreateGroupRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'groupName': !exists(json, 'GroupName') ? undefined : json['GroupName'], + }; +} + +export function SyncPlayCreateGroupRequestToJSON(value?: SyncPlayCreateGroupRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'GroupName': value.groupName, + }; +} + diff --git a/server/jellyfin/models/SyncPlayJoinGroupRequest.ts b/server/jellyfin/models/SyncPlayJoinGroupRequest.ts new file mode 100644 index 0000000..4df74c8 --- /dev/null +++ b/server/jellyfin/models/SyncPlayJoinGroupRequest.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class JoinGroupRequestDto. + * @export + * @interface SyncPlayJoinGroupRequest + */ +export interface SyncPlayJoinGroupRequest { + /** + * Gets or sets the group identifier. + * @type {string} + * @memberof SyncPlayJoinGroupRequest + */ + groupId?: string; +} + +/** + * Check if a given object implements the SyncPlayJoinGroupRequest interface. + */ +export function instanceOfSyncPlayJoinGroupRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SyncPlayJoinGroupRequestFromJSON(json: any): SyncPlayJoinGroupRequest { + return SyncPlayJoinGroupRequestFromJSONTyped(json, false); +} + +export function SyncPlayJoinGroupRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SyncPlayJoinGroupRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'groupId': !exists(json, 'GroupId') ? undefined : json['GroupId'], + }; +} + +export function SyncPlayJoinGroupRequestToJSON(value?: SyncPlayJoinGroupRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'GroupId': value.groupId, + }; +} + diff --git a/server/jellyfin/models/SyncPlayMovePlaylistItemRequest.ts b/server/jellyfin/models/SyncPlayMovePlaylistItemRequest.ts new file mode 100644 index 0000000..9dbb2c9 --- /dev/null +++ b/server/jellyfin/models/SyncPlayMovePlaylistItemRequest.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class MovePlaylistItemRequestDto. + * @export + * @interface SyncPlayMovePlaylistItemRequest + */ +export interface SyncPlayMovePlaylistItemRequest { + /** + * Gets or sets the playlist identifier of the item. + * @type {string} + * @memberof SyncPlayMovePlaylistItemRequest + */ + playlistItemId?: string; + /** + * Gets or sets the new position. + * @type {number} + * @memberof SyncPlayMovePlaylistItemRequest + */ + newIndex?: number; +} + +/** + * Check if a given object implements the SyncPlayMovePlaylistItemRequest interface. + */ +export function instanceOfSyncPlayMovePlaylistItemRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SyncPlayMovePlaylistItemRequestFromJSON(json: any): SyncPlayMovePlaylistItemRequest { + return SyncPlayMovePlaylistItemRequestFromJSONTyped(json, false); +} + +export function SyncPlayMovePlaylistItemRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SyncPlayMovePlaylistItemRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + 'newIndex': !exists(json, 'NewIndex') ? undefined : json['NewIndex'], + }; +} + +export function SyncPlayMovePlaylistItemRequestToJSON(value?: SyncPlayMovePlaylistItemRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'PlaylistItemId': value.playlistItemId, + 'NewIndex': value.newIndex, + }; +} + diff --git a/server/jellyfin/models/SyncPlayNextItemRequest.ts b/server/jellyfin/models/SyncPlayNextItemRequest.ts new file mode 100644 index 0000000..9588bfb --- /dev/null +++ b/server/jellyfin/models/SyncPlayNextItemRequest.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class NextItemRequestDto. + * @export + * @interface SyncPlayNextItemRequest + */ +export interface SyncPlayNextItemRequest { + /** + * Gets or sets the playing item identifier. + * @type {string} + * @memberof SyncPlayNextItemRequest + */ + playlistItemId?: string; +} + +/** + * Check if a given object implements the SyncPlayNextItemRequest interface. + */ +export function instanceOfSyncPlayNextItemRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SyncPlayNextItemRequestFromJSON(json: any): SyncPlayNextItemRequest { + return SyncPlayNextItemRequestFromJSONTyped(json, false); +} + +export function SyncPlayNextItemRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SyncPlayNextItemRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + }; +} + +export function SyncPlayNextItemRequestToJSON(value?: SyncPlayNextItemRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'PlaylistItemId': value.playlistItemId, + }; +} + diff --git a/server/jellyfin/models/SyncPlayPingRequest.ts b/server/jellyfin/models/SyncPlayPingRequest.ts new file mode 100644 index 0000000..43d1d5b --- /dev/null +++ b/server/jellyfin/models/SyncPlayPingRequest.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class PingRequestDto. + * @export + * @interface SyncPlayPingRequest + */ +export interface SyncPlayPingRequest { + /** + * Gets or sets the ping time. + * @type {number} + * @memberof SyncPlayPingRequest + */ + ping?: number; +} + +/** + * Check if a given object implements the SyncPlayPingRequest interface. + */ +export function instanceOfSyncPlayPingRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SyncPlayPingRequestFromJSON(json: any): SyncPlayPingRequest { + return SyncPlayPingRequestFromJSONTyped(json, false); +} + +export function SyncPlayPingRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SyncPlayPingRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'ping': !exists(json, 'Ping') ? undefined : json['Ping'], + }; +} + +export function SyncPlayPingRequestToJSON(value?: SyncPlayPingRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Ping': value.ping, + }; +} + diff --git a/server/jellyfin/models/SyncPlayPreviousItemRequest.ts b/server/jellyfin/models/SyncPlayPreviousItemRequest.ts new file mode 100644 index 0000000..790e308 --- /dev/null +++ b/server/jellyfin/models/SyncPlayPreviousItemRequest.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class PreviousItemRequestDto. + * @export + * @interface SyncPlayPreviousItemRequest + */ +export interface SyncPlayPreviousItemRequest { + /** + * Gets or sets the playing item identifier. + * @type {string} + * @memberof SyncPlayPreviousItemRequest + */ + playlistItemId?: string; +} + +/** + * Check if a given object implements the SyncPlayPreviousItemRequest interface. + */ +export function instanceOfSyncPlayPreviousItemRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SyncPlayPreviousItemRequestFromJSON(json: any): SyncPlayPreviousItemRequest { + return SyncPlayPreviousItemRequestFromJSONTyped(json, false); +} + +export function SyncPlayPreviousItemRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SyncPlayPreviousItemRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + }; +} + +export function SyncPlayPreviousItemRequestToJSON(value?: SyncPlayPreviousItemRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'PlaylistItemId': value.playlistItemId, + }; +} + diff --git a/server/jellyfin/models/SyncPlayQueueRequest.ts b/server/jellyfin/models/SyncPlayQueueRequest.ts new file mode 100644 index 0000000..ac60866 --- /dev/null +++ b/server/jellyfin/models/SyncPlayQueueRequest.ts @@ -0,0 +1,80 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { GroupQueueMode } from './GroupQueueMode'; +import { + GroupQueueModeFromJSON, + GroupQueueModeFromJSONTyped, + GroupQueueModeToJSON, +} from './GroupQueueMode'; + +/** + * Class QueueRequestDto. + * @export + * @interface SyncPlayQueueRequest + */ +export interface SyncPlayQueueRequest { + /** + * Gets or sets the items to enqueue. + * @type {Array} + * @memberof SyncPlayQueueRequest + */ + itemIds?: Array; + /** + * + * @type {GroupQueueMode} + * @memberof SyncPlayQueueRequest + */ + mode?: GroupQueueMode; +} + +/** + * Check if a given object implements the SyncPlayQueueRequest interface. + */ +export function instanceOfSyncPlayQueueRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SyncPlayQueueRequestFromJSON(json: any): SyncPlayQueueRequest { + return SyncPlayQueueRequestFromJSONTyped(json, false); +} + +export function SyncPlayQueueRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SyncPlayQueueRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'itemIds': !exists(json, 'ItemIds') ? undefined : json['ItemIds'], + 'mode': !exists(json, 'Mode') ? undefined : GroupQueueModeFromJSON(json['Mode']), + }; +} + +export function SyncPlayQueueRequestToJSON(value?: SyncPlayQueueRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'ItemIds': value.itemIds, + 'Mode': GroupQueueModeToJSON(value.mode), + }; +} + diff --git a/server/jellyfin/models/SyncPlayReadyRequest.ts b/server/jellyfin/models/SyncPlayReadyRequest.ts new file mode 100644 index 0000000..d83222c --- /dev/null +++ b/server/jellyfin/models/SyncPlayReadyRequest.ts @@ -0,0 +1,89 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class ReadyRequest. + * @export + * @interface SyncPlayReadyRequest + */ +export interface SyncPlayReadyRequest { + /** + * Gets or sets when the request has been made by the client. + * @type {Date} + * @memberof SyncPlayReadyRequest + */ + when?: Date; + /** + * Gets or sets the position ticks. + * @type {number} + * @memberof SyncPlayReadyRequest + */ + positionTicks?: number; + /** + * Gets or sets a value indicating whether the client playback is unpaused. + * @type {boolean} + * @memberof SyncPlayReadyRequest + */ + isPlaying?: boolean; + /** + * Gets or sets the playlist item identifier of the playing item. + * @type {string} + * @memberof SyncPlayReadyRequest + */ + playlistItemId?: string; +} + +/** + * Check if a given object implements the SyncPlayReadyRequest interface. + */ +export function instanceOfSyncPlayReadyRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SyncPlayReadyRequestFromJSON(json: any): SyncPlayReadyRequest { + return SyncPlayReadyRequestFromJSONTyped(json, false); +} + +export function SyncPlayReadyRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SyncPlayReadyRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'when': !exists(json, 'When') ? undefined : (new Date(json['When'])), + 'positionTicks': !exists(json, 'PositionTicks') ? undefined : json['PositionTicks'], + 'isPlaying': !exists(json, 'IsPlaying') ? undefined : json['IsPlaying'], + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + }; +} + +export function SyncPlayReadyRequestToJSON(value?: SyncPlayReadyRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'When': value.when === undefined ? undefined : (value.when.toISOString()), + 'PositionTicks': value.positionTicks, + 'IsPlaying': value.isPlaying, + 'PlaylistItemId': value.playlistItemId, + }; +} + diff --git a/server/jellyfin/models/SyncPlayRemoveFromPlaylistRequest.ts b/server/jellyfin/models/SyncPlayRemoveFromPlaylistRequest.ts new file mode 100644 index 0000000..505417c --- /dev/null +++ b/server/jellyfin/models/SyncPlayRemoveFromPlaylistRequest.ts @@ -0,0 +1,81 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class RemoveFromPlaylistRequestDto. + * @export + * @interface SyncPlayRemoveFromPlaylistRequest + */ +export interface SyncPlayRemoveFromPlaylistRequest { + /** + * Gets or sets the playlist identifiers ot the items. Ignored when clearing the playlist. + * @type {Array} + * @memberof SyncPlayRemoveFromPlaylistRequest + */ + playlistItemIds?: Array; + /** + * Gets or sets a value indicating whether the entire playlist should be cleared. + * @type {boolean} + * @memberof SyncPlayRemoveFromPlaylistRequest + */ + clearPlaylist?: boolean; + /** + * Gets or sets a value indicating whether the playing item should be removed as well. Used only when clearing the playlist. + * @type {boolean} + * @memberof SyncPlayRemoveFromPlaylistRequest + */ + clearPlayingItem?: boolean; +} + +/** + * Check if a given object implements the SyncPlayRemoveFromPlaylistRequest interface. + */ +export function instanceOfSyncPlayRemoveFromPlaylistRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SyncPlayRemoveFromPlaylistRequestFromJSON(json: any): SyncPlayRemoveFromPlaylistRequest { + return SyncPlayRemoveFromPlaylistRequestFromJSONTyped(json, false); +} + +export function SyncPlayRemoveFromPlaylistRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SyncPlayRemoveFromPlaylistRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'playlistItemIds': !exists(json, 'PlaylistItemIds') ? undefined : json['PlaylistItemIds'], + 'clearPlaylist': !exists(json, 'ClearPlaylist') ? undefined : json['ClearPlaylist'], + 'clearPlayingItem': !exists(json, 'ClearPlayingItem') ? undefined : json['ClearPlayingItem'], + }; +} + +export function SyncPlayRemoveFromPlaylistRequestToJSON(value?: SyncPlayRemoveFromPlaylistRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'PlaylistItemIds': value.playlistItemIds, + 'ClearPlaylist': value.clearPlaylist, + 'ClearPlayingItem': value.clearPlayingItem, + }; +} + diff --git a/server/jellyfin/models/SyncPlaySeekRequest.ts b/server/jellyfin/models/SyncPlaySeekRequest.ts new file mode 100644 index 0000000..2d60ec4 --- /dev/null +++ b/server/jellyfin/models/SyncPlaySeekRequest.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class SeekRequestDto. + * @export + * @interface SyncPlaySeekRequest + */ +export interface SyncPlaySeekRequest { + /** + * Gets or sets the position ticks. + * @type {number} + * @memberof SyncPlaySeekRequest + */ + positionTicks?: number; +} + +/** + * Check if a given object implements the SyncPlaySeekRequest interface. + */ +export function instanceOfSyncPlaySeekRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SyncPlaySeekRequestFromJSON(json: any): SyncPlaySeekRequest { + return SyncPlaySeekRequestFromJSONTyped(json, false); +} + +export function SyncPlaySeekRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SyncPlaySeekRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'positionTicks': !exists(json, 'PositionTicks') ? undefined : json['PositionTicks'], + }; +} + +export function SyncPlaySeekRequestToJSON(value?: SyncPlaySeekRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'PositionTicks': value.positionTicks, + }; +} + diff --git a/server/jellyfin/models/SyncPlaySetIgnoreWaitRequest.ts b/server/jellyfin/models/SyncPlaySetIgnoreWaitRequest.ts new file mode 100644 index 0000000..55a63e1 --- /dev/null +++ b/server/jellyfin/models/SyncPlaySetIgnoreWaitRequest.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class IgnoreWaitRequestDto. + * @export + * @interface SyncPlaySetIgnoreWaitRequest + */ +export interface SyncPlaySetIgnoreWaitRequest { + /** + * Gets or sets a value indicating whether the client should be ignored. + * @type {boolean} + * @memberof SyncPlaySetIgnoreWaitRequest + */ + ignoreWait?: boolean; +} + +/** + * Check if a given object implements the SyncPlaySetIgnoreWaitRequest interface. + */ +export function instanceOfSyncPlaySetIgnoreWaitRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SyncPlaySetIgnoreWaitRequestFromJSON(json: any): SyncPlaySetIgnoreWaitRequest { + return SyncPlaySetIgnoreWaitRequestFromJSONTyped(json, false); +} + +export function SyncPlaySetIgnoreWaitRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SyncPlaySetIgnoreWaitRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'ignoreWait': !exists(json, 'IgnoreWait') ? undefined : json['IgnoreWait'], + }; +} + +export function SyncPlaySetIgnoreWaitRequestToJSON(value?: SyncPlaySetIgnoreWaitRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'IgnoreWait': value.ignoreWait, + }; +} + diff --git a/server/jellyfin/models/SyncPlaySetNewQueueRequest.ts b/server/jellyfin/models/SyncPlaySetNewQueueRequest.ts new file mode 100644 index 0000000..544879b --- /dev/null +++ b/server/jellyfin/models/SyncPlaySetNewQueueRequest.ts @@ -0,0 +1,81 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class PlayRequestDto. + * @export + * @interface SyncPlaySetNewQueueRequest + */ +export interface SyncPlaySetNewQueueRequest { + /** + * Gets or sets the playing queue. + * @type {Array} + * @memberof SyncPlaySetNewQueueRequest + */ + playingQueue?: Array; + /** + * Gets or sets the position of the playing item in the queue. + * @type {number} + * @memberof SyncPlaySetNewQueueRequest + */ + playingItemPosition?: number; + /** + * Gets or sets the start position ticks. + * @type {number} + * @memberof SyncPlaySetNewQueueRequest + */ + startPositionTicks?: number; +} + +/** + * Check if a given object implements the SyncPlaySetNewQueueRequest interface. + */ +export function instanceOfSyncPlaySetNewQueueRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SyncPlaySetNewQueueRequestFromJSON(json: any): SyncPlaySetNewQueueRequest { + return SyncPlaySetNewQueueRequestFromJSONTyped(json, false); +} + +export function SyncPlaySetNewQueueRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SyncPlaySetNewQueueRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'playingQueue': !exists(json, 'PlayingQueue') ? undefined : json['PlayingQueue'], + 'playingItemPosition': !exists(json, 'PlayingItemPosition') ? undefined : json['PlayingItemPosition'], + 'startPositionTicks': !exists(json, 'StartPositionTicks') ? undefined : json['StartPositionTicks'], + }; +} + +export function SyncPlaySetNewQueueRequestToJSON(value?: SyncPlaySetNewQueueRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'PlayingQueue': value.playingQueue, + 'PlayingItemPosition': value.playingItemPosition, + 'StartPositionTicks': value.startPositionTicks, + }; +} + diff --git a/server/jellyfin/models/SyncPlaySetPlaylistItemRequest.ts b/server/jellyfin/models/SyncPlaySetPlaylistItemRequest.ts new file mode 100644 index 0000000..8811222 --- /dev/null +++ b/server/jellyfin/models/SyncPlaySetPlaylistItemRequest.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class SetPlaylistItemRequestDto. + * @export + * @interface SyncPlaySetPlaylistItemRequest + */ +export interface SyncPlaySetPlaylistItemRequest { + /** + * Gets or sets the playlist identifier of the playing item. + * @type {string} + * @memberof SyncPlaySetPlaylistItemRequest + */ + playlistItemId?: string; +} + +/** + * Check if a given object implements the SyncPlaySetPlaylistItemRequest interface. + */ +export function instanceOfSyncPlaySetPlaylistItemRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SyncPlaySetPlaylistItemRequestFromJSON(json: any): SyncPlaySetPlaylistItemRequest { + return SyncPlaySetPlaylistItemRequestFromJSONTyped(json, false); +} + +export function SyncPlaySetPlaylistItemRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SyncPlaySetPlaylistItemRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + }; +} + +export function SyncPlaySetPlaylistItemRequestToJSON(value?: SyncPlaySetPlaylistItemRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'PlaylistItemId': value.playlistItemId, + }; +} + diff --git a/server/jellyfin/models/SyncPlaySetRepeatModeRequest.ts b/server/jellyfin/models/SyncPlaySetRepeatModeRequest.ts new file mode 100644 index 0000000..1c30e2a --- /dev/null +++ b/server/jellyfin/models/SyncPlaySetRepeatModeRequest.ts @@ -0,0 +1,72 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { GroupRepeatMode } from './GroupRepeatMode'; +import { + GroupRepeatModeFromJSON, + GroupRepeatModeFromJSONTyped, + GroupRepeatModeToJSON, +} from './GroupRepeatMode'; + +/** + * Class SetRepeatModeRequestDto. + * @export + * @interface SyncPlaySetRepeatModeRequest + */ +export interface SyncPlaySetRepeatModeRequest { + /** + * + * @type {GroupRepeatMode} + * @memberof SyncPlaySetRepeatModeRequest + */ + mode?: GroupRepeatMode; +} + +/** + * Check if a given object implements the SyncPlaySetRepeatModeRequest interface. + */ +export function instanceOfSyncPlaySetRepeatModeRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SyncPlaySetRepeatModeRequestFromJSON(json: any): SyncPlaySetRepeatModeRequest { + return SyncPlaySetRepeatModeRequestFromJSONTyped(json, false); +} + +export function SyncPlaySetRepeatModeRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SyncPlaySetRepeatModeRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'mode': !exists(json, 'Mode') ? undefined : GroupRepeatModeFromJSON(json['Mode']), + }; +} + +export function SyncPlaySetRepeatModeRequestToJSON(value?: SyncPlaySetRepeatModeRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Mode': GroupRepeatModeToJSON(value.mode), + }; +} + diff --git a/server/jellyfin/models/SyncPlaySetShuffleModeRequest.ts b/server/jellyfin/models/SyncPlaySetShuffleModeRequest.ts new file mode 100644 index 0000000..8bb9e02 --- /dev/null +++ b/server/jellyfin/models/SyncPlaySetShuffleModeRequest.ts @@ -0,0 +1,72 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { GroupShuffleMode } from './GroupShuffleMode'; +import { + GroupShuffleModeFromJSON, + GroupShuffleModeFromJSONTyped, + GroupShuffleModeToJSON, +} from './GroupShuffleMode'; + +/** + * Class SetShuffleModeRequestDto. + * @export + * @interface SyncPlaySetShuffleModeRequest + */ +export interface SyncPlaySetShuffleModeRequest { + /** + * + * @type {GroupShuffleMode} + * @memberof SyncPlaySetShuffleModeRequest + */ + mode?: GroupShuffleMode; +} + +/** + * Check if a given object implements the SyncPlaySetShuffleModeRequest interface. + */ +export function instanceOfSyncPlaySetShuffleModeRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SyncPlaySetShuffleModeRequestFromJSON(json: any): SyncPlaySetShuffleModeRequest { + return SyncPlaySetShuffleModeRequestFromJSONTyped(json, false); +} + +export function SyncPlaySetShuffleModeRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): SyncPlaySetShuffleModeRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'mode': !exists(json, 'Mode') ? undefined : GroupShuffleModeFromJSON(json['Mode']), + }; +} + +export function SyncPlaySetShuffleModeRequestToJSON(value?: SyncPlaySetShuffleModeRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Mode': GroupShuffleModeToJSON(value.mode), + }; +} + diff --git a/server/jellyfin/models/SyncPlayUserAccessType.ts b/server/jellyfin/models/SyncPlayUserAccessType.ts new file mode 100644 index 0000000..d5db374 --- /dev/null +++ b/server/jellyfin/models/SyncPlayUserAccessType.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Enum SyncPlayUserAccessType. + * @export + */ +export const SyncPlayUserAccessType = { + CreateAndJoinGroups: 'CreateAndJoinGroups', + JoinGroups: 'JoinGroups', + None: 'None' +} as const; +export type SyncPlayUserAccessType = typeof SyncPlayUserAccessType[keyof typeof SyncPlayUserAccessType]; + + +export function SyncPlayUserAccessTypeFromJSON(json: any): SyncPlayUserAccessType { + return SyncPlayUserAccessTypeFromJSONTyped(json, false); +} + +export function SyncPlayUserAccessTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): SyncPlayUserAccessType { + return json as SyncPlayUserAccessType; +} + +export function SyncPlayUserAccessTypeToJSON(value?: SyncPlayUserAccessType | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/SystemInfo.ts b/server/jellyfin/models/SystemInfo.ts new file mode 100644 index 0000000..7447595 --- /dev/null +++ b/server/jellyfin/models/SystemInfo.ts @@ -0,0 +1,285 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { Architecture } from './Architecture'; +import { + ArchitectureFromJSON, + ArchitectureFromJSONTyped, + ArchitectureToJSON, +} from './Architecture'; +import type { FFmpegLocation } from './FFmpegLocation'; +import { + FFmpegLocationFromJSON, + FFmpegLocationFromJSONTyped, + FFmpegLocationToJSON, +} from './FFmpegLocation'; +import type { InstallationInfo } from './InstallationInfo'; +import { + InstallationInfoFromJSON, + InstallationInfoFromJSONTyped, + InstallationInfoToJSON, +} from './InstallationInfo'; + +/** + * Class SystemInfo. + * @export + * @interface SystemInfo + */ +export interface SystemInfo { + /** + * Gets or sets the local address. + * @type {string} + * @memberof SystemInfo + */ + localAddress?: string | null; + /** + * Gets or sets the name of the server. + * @type {string} + * @memberof SystemInfo + */ + serverName?: string | null; + /** + * Gets or sets the server version. + * @type {string} + * @memberof SystemInfo + */ + version?: string | null; + /** + * Gets or sets the product name. This is the AssemblyProduct name. + * @type {string} + * @memberof SystemInfo + */ + productName?: string | null; + /** + * Gets or sets the operating system. + * @type {string} + * @memberof SystemInfo + */ + operatingSystem?: string | null; + /** + * Gets or sets the id. + * @type {string} + * @memberof SystemInfo + */ + id?: string | null; + /** + * Gets or sets a value indicating whether the startup wizard is completed. + * @type {boolean} + * @memberof SystemInfo + */ + startupWizardCompleted?: boolean | null; + /** + * Gets or sets the display name of the operating system. + * @type {string} + * @memberof SystemInfo + */ + operatingSystemDisplayName?: string | null; + /** + * Gets or sets the package name. + * @type {string} + * @memberof SystemInfo + */ + packageName?: string | null; + /** + * Gets or sets a value indicating whether this instance has pending restart. + * @type {boolean} + * @memberof SystemInfo + */ + hasPendingRestart?: boolean; + /** + * + * @type {boolean} + * @memberof SystemInfo + */ + isShuttingDown?: boolean; + /** + * Gets or sets a value indicating whether [supports library monitor]. + * @type {boolean} + * @memberof SystemInfo + */ + supportsLibraryMonitor?: boolean; + /** + * Gets or sets the web socket port number. + * @type {number} + * @memberof SystemInfo + */ + webSocketPortNumber?: number; + /** + * Gets or sets the completed installations. + * @type {Array} + * @memberof SystemInfo + */ + completedInstallations?: Array | null; + /** + * Gets or sets a value indicating whether this instance can self restart. + * @type {boolean} + * @memberof SystemInfo + */ + canSelfRestart?: boolean; + /** + * + * @type {boolean} + * @memberof SystemInfo + */ + canLaunchWebBrowser?: boolean; + /** + * Gets or sets the program data path. + * @type {string} + * @memberof SystemInfo + */ + programDataPath?: string | null; + /** + * Gets or sets the web UI resources path. + * @type {string} + * @memberof SystemInfo + */ + webPath?: string | null; + /** + * Gets or sets the items by name path. + * @type {string} + * @memberof SystemInfo + */ + itemsByNamePath?: string | null; + /** + * Gets or sets the cache path. + * @type {string} + * @memberof SystemInfo + */ + cachePath?: string | null; + /** + * Gets or sets the log path. + * @type {string} + * @memberof SystemInfo + */ + logPath?: string | null; + /** + * Gets or sets the internal metadata path. + * @type {string} + * @memberof SystemInfo + */ + internalMetadataPath?: string | null; + /** + * Gets or sets the transcode path. + * @type {string} + * @memberof SystemInfo + */ + transcodingTempPath?: string | null; + /** + * Gets or sets a value indicating whether this instance has update available. + * @type {boolean} + * @memberof SystemInfo + * @deprecated + */ + hasUpdateAvailable?: boolean; + /** + * + * @type {FFmpegLocation} + * @memberof SystemInfo + */ + encoderLocation?: FFmpegLocation; + /** + * + * @type {Architecture} + * @memberof SystemInfo + */ + systemArchitecture?: Architecture; +} + +/** + * Check if a given object implements the SystemInfo interface. + */ +export function instanceOfSystemInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SystemInfoFromJSON(json: any): SystemInfo { + return SystemInfoFromJSONTyped(json, false); +} + +export function SystemInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SystemInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'localAddress': !exists(json, 'LocalAddress') ? undefined : json['LocalAddress'], + 'serverName': !exists(json, 'ServerName') ? undefined : json['ServerName'], + 'version': !exists(json, 'Version') ? undefined : json['Version'], + 'productName': !exists(json, 'ProductName') ? undefined : json['ProductName'], + 'operatingSystem': !exists(json, 'OperatingSystem') ? undefined : json['OperatingSystem'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'startupWizardCompleted': !exists(json, 'StartupWizardCompleted') ? undefined : json['StartupWizardCompleted'], + 'operatingSystemDisplayName': !exists(json, 'OperatingSystemDisplayName') ? undefined : json['OperatingSystemDisplayName'], + 'packageName': !exists(json, 'PackageName') ? undefined : json['PackageName'], + 'hasPendingRestart': !exists(json, 'HasPendingRestart') ? undefined : json['HasPendingRestart'], + 'isShuttingDown': !exists(json, 'IsShuttingDown') ? undefined : json['IsShuttingDown'], + 'supportsLibraryMonitor': !exists(json, 'SupportsLibraryMonitor') ? undefined : json['SupportsLibraryMonitor'], + 'webSocketPortNumber': !exists(json, 'WebSocketPortNumber') ? undefined : json['WebSocketPortNumber'], + 'completedInstallations': !exists(json, 'CompletedInstallations') ? undefined : (json['CompletedInstallations'] === null ? null : (json['CompletedInstallations'] as Array).map(InstallationInfoFromJSON)), + 'canSelfRestart': !exists(json, 'CanSelfRestart') ? undefined : json['CanSelfRestart'], + 'canLaunchWebBrowser': !exists(json, 'CanLaunchWebBrowser') ? undefined : json['CanLaunchWebBrowser'], + 'programDataPath': !exists(json, 'ProgramDataPath') ? undefined : json['ProgramDataPath'], + 'webPath': !exists(json, 'WebPath') ? undefined : json['WebPath'], + 'itemsByNamePath': !exists(json, 'ItemsByNamePath') ? undefined : json['ItemsByNamePath'], + 'cachePath': !exists(json, 'CachePath') ? undefined : json['CachePath'], + 'logPath': !exists(json, 'LogPath') ? undefined : json['LogPath'], + 'internalMetadataPath': !exists(json, 'InternalMetadataPath') ? undefined : json['InternalMetadataPath'], + 'transcodingTempPath': !exists(json, 'TranscodingTempPath') ? undefined : json['TranscodingTempPath'], + 'hasUpdateAvailable': !exists(json, 'HasUpdateAvailable') ? undefined : json['HasUpdateAvailable'], + 'encoderLocation': !exists(json, 'EncoderLocation') ? undefined : FFmpegLocationFromJSON(json['EncoderLocation']), + 'systemArchitecture': !exists(json, 'SystemArchitecture') ? undefined : ArchitectureFromJSON(json['SystemArchitecture']), + }; +} + +export function SystemInfoToJSON(value?: SystemInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'LocalAddress': value.localAddress, + 'ServerName': value.serverName, + 'Version': value.version, + 'ProductName': value.productName, + 'OperatingSystem': value.operatingSystem, + 'Id': value.id, + 'StartupWizardCompleted': value.startupWizardCompleted, + 'OperatingSystemDisplayName': value.operatingSystemDisplayName, + 'PackageName': value.packageName, + 'HasPendingRestart': value.hasPendingRestart, + 'IsShuttingDown': value.isShuttingDown, + 'SupportsLibraryMonitor': value.supportsLibraryMonitor, + 'WebSocketPortNumber': value.webSocketPortNumber, + 'CompletedInstallations': value.completedInstallations === undefined ? undefined : (value.completedInstallations === null ? null : (value.completedInstallations as Array).map(InstallationInfoToJSON)), + 'CanSelfRestart': value.canSelfRestart, + 'CanLaunchWebBrowser': value.canLaunchWebBrowser, + 'ProgramDataPath': value.programDataPath, + 'WebPath': value.webPath, + 'ItemsByNamePath': value.itemsByNamePath, + 'CachePath': value.cachePath, + 'LogPath': value.logPath, + 'InternalMetadataPath': value.internalMetadataPath, + 'TranscodingTempPath': value.transcodingTempPath, + 'HasUpdateAvailable': value.hasUpdateAvailable, + 'EncoderLocation': FFmpegLocationToJSON(value.encoderLocation), + 'SystemArchitecture': ArchitectureToJSON(value.systemArchitecture), + }; +} + diff --git a/server/jellyfin/models/TaskCompletionStatus.ts b/server/jellyfin/models/TaskCompletionStatus.ts new file mode 100644 index 0000000..1d8107c --- /dev/null +++ b/server/jellyfin/models/TaskCompletionStatus.ts @@ -0,0 +1,40 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Enum TaskCompletionStatus. + * @export + */ +export const TaskCompletionStatus = { + Completed: 'Completed', + Failed: 'Failed', + Cancelled: 'Cancelled', + Aborted: 'Aborted' +} as const; +export type TaskCompletionStatus = typeof TaskCompletionStatus[keyof typeof TaskCompletionStatus]; + + +export function TaskCompletionStatusFromJSON(json: any): TaskCompletionStatus { + return TaskCompletionStatusFromJSONTyped(json, false); +} + +export function TaskCompletionStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): TaskCompletionStatus { + return json as TaskCompletionStatus; +} + +export function TaskCompletionStatusToJSON(value?: TaskCompletionStatus | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/TaskInfo.ts b/server/jellyfin/models/TaskInfo.ts new file mode 100644 index 0000000..92c5451 --- /dev/null +++ b/server/jellyfin/models/TaskInfo.ts @@ -0,0 +1,156 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { TaskInfoLastExecutionResult } from './TaskInfoLastExecutionResult'; +import { + TaskInfoLastExecutionResultFromJSON, + TaskInfoLastExecutionResultFromJSONTyped, + TaskInfoLastExecutionResultToJSON, +} from './TaskInfoLastExecutionResult'; +import type { TaskState } from './TaskState'; +import { + TaskStateFromJSON, + TaskStateFromJSONTyped, + TaskStateToJSON, +} from './TaskState'; +import type { TaskTriggerInfo } from './TaskTriggerInfo'; +import { + TaskTriggerInfoFromJSON, + TaskTriggerInfoFromJSONTyped, + TaskTriggerInfoToJSON, +} from './TaskTriggerInfo'; + +/** + * Class TaskInfo. + * @export + * @interface TaskInfo + */ +export interface TaskInfo { + /** + * Gets or sets the name. + * @type {string} + * @memberof TaskInfo + */ + name?: string | null; + /** + * + * @type {TaskState} + * @memberof TaskInfo + */ + state?: TaskState; + /** + * Gets or sets the progress. + * @type {number} + * @memberof TaskInfo + */ + currentProgressPercentage?: number | null; + /** + * Gets or sets the id. + * @type {string} + * @memberof TaskInfo + */ + id?: string | null; + /** + * + * @type {TaskInfoLastExecutionResult} + * @memberof TaskInfo + */ + lastExecutionResult?: TaskInfoLastExecutionResult | null; + /** + * Gets or sets the triggers. + * @type {Array} + * @memberof TaskInfo + */ + triggers?: Array | null; + /** + * Gets or sets the description. + * @type {string} + * @memberof TaskInfo + */ + description?: string | null; + /** + * Gets or sets the category. + * @type {string} + * @memberof TaskInfo + */ + category?: string | null; + /** + * Gets or sets a value indicating whether this instance is hidden. + * @type {boolean} + * @memberof TaskInfo + */ + isHidden?: boolean; + /** + * Gets or sets the key. + * @type {string} + * @memberof TaskInfo + */ + key?: string | null; +} + +/** + * Check if a given object implements the TaskInfo interface. + */ +export function instanceOfTaskInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function TaskInfoFromJSON(json: any): TaskInfo { + return TaskInfoFromJSONTyped(json, false); +} + +export function TaskInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): TaskInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'state': !exists(json, 'State') ? undefined : TaskStateFromJSON(json['State']), + 'currentProgressPercentage': !exists(json, 'CurrentProgressPercentage') ? undefined : json['CurrentProgressPercentage'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'lastExecutionResult': !exists(json, 'LastExecutionResult') ? undefined : TaskInfoLastExecutionResultFromJSON(json['LastExecutionResult']), + 'triggers': !exists(json, 'Triggers') ? undefined : (json['Triggers'] === null ? null : (json['Triggers'] as Array).map(TaskTriggerInfoFromJSON)), + 'description': !exists(json, 'Description') ? undefined : json['Description'], + 'category': !exists(json, 'Category') ? undefined : json['Category'], + 'isHidden': !exists(json, 'IsHidden') ? undefined : json['IsHidden'], + 'key': !exists(json, 'Key') ? undefined : json['Key'], + }; +} + +export function TaskInfoToJSON(value?: TaskInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'State': TaskStateToJSON(value.state), + 'CurrentProgressPercentage': value.currentProgressPercentage, + 'Id': value.id, + 'LastExecutionResult': TaskInfoLastExecutionResultToJSON(value.lastExecutionResult), + 'Triggers': value.triggers === undefined ? undefined : (value.triggers === null ? null : (value.triggers as Array).map(TaskTriggerInfoToJSON)), + 'Description': value.description, + 'Category': value.category, + 'IsHidden': value.isHidden, + 'Key': value.key, + }; +} + diff --git a/server/jellyfin/models/TaskInfoLastExecutionResult.ts b/server/jellyfin/models/TaskInfoLastExecutionResult.ts new file mode 100644 index 0000000..831ce34 --- /dev/null +++ b/server/jellyfin/models/TaskInfoLastExecutionResult.ts @@ -0,0 +1,128 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { TaskCompletionStatus } from './TaskCompletionStatus'; +import { + TaskCompletionStatusFromJSON, + TaskCompletionStatusFromJSONTyped, + TaskCompletionStatusToJSON, +} from './TaskCompletionStatus'; + +/** + * Gets or sets the last execution result. + * @export + * @interface TaskInfoLastExecutionResult + */ +export interface TaskInfoLastExecutionResult { + /** + * Gets or sets the start time UTC. + * @type {Date} + * @memberof TaskInfoLastExecutionResult + */ + startTimeUtc?: Date; + /** + * Gets or sets the end time UTC. + * @type {Date} + * @memberof TaskInfoLastExecutionResult + */ + endTimeUtc?: Date; + /** + * + * @type {TaskCompletionStatus} + * @memberof TaskInfoLastExecutionResult + */ + status?: TaskCompletionStatus; + /** + * Gets or sets the name. + * @type {string} + * @memberof TaskInfoLastExecutionResult + */ + name?: string | null; + /** + * Gets or sets the key. + * @type {string} + * @memberof TaskInfoLastExecutionResult + */ + key?: string | null; + /** + * Gets or sets the id. + * @type {string} + * @memberof TaskInfoLastExecutionResult + */ + id?: string | null; + /** + * Gets or sets the error message. + * @type {string} + * @memberof TaskInfoLastExecutionResult + */ + errorMessage?: string | null; + /** + * Gets or sets the long error message. + * @type {string} + * @memberof TaskInfoLastExecutionResult + */ + longErrorMessage?: string | null; +} + +/** + * Check if a given object implements the TaskInfoLastExecutionResult interface. + */ +export function instanceOfTaskInfoLastExecutionResult(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function TaskInfoLastExecutionResultFromJSON(json: any): TaskInfoLastExecutionResult { + return TaskInfoLastExecutionResultFromJSONTyped(json, false); +} + +export function TaskInfoLastExecutionResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): TaskInfoLastExecutionResult { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'startTimeUtc': !exists(json, 'StartTimeUtc') ? undefined : (new Date(json['StartTimeUtc'])), + 'endTimeUtc': !exists(json, 'EndTimeUtc') ? undefined : (new Date(json['EndTimeUtc'])), + 'status': !exists(json, 'Status') ? undefined : TaskCompletionStatusFromJSON(json['Status']), + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'key': !exists(json, 'Key') ? undefined : json['Key'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'errorMessage': !exists(json, 'ErrorMessage') ? undefined : json['ErrorMessage'], + 'longErrorMessage': !exists(json, 'LongErrorMessage') ? undefined : json['LongErrorMessage'], + }; +} + +export function TaskInfoLastExecutionResultToJSON(value?: TaskInfoLastExecutionResult | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'StartTimeUtc': value.startTimeUtc === undefined ? undefined : (value.startTimeUtc.toISOString()), + 'EndTimeUtc': value.endTimeUtc === undefined ? undefined : (value.endTimeUtc.toISOString()), + 'Status': TaskCompletionStatusToJSON(value.status), + 'Name': value.name, + 'Key': value.key, + 'Id': value.id, + 'ErrorMessage': value.errorMessage, + 'LongErrorMessage': value.longErrorMessage, + }; +} + diff --git a/server/jellyfin/models/TaskResult.ts b/server/jellyfin/models/TaskResult.ts new file mode 100644 index 0000000..33cb799 --- /dev/null +++ b/server/jellyfin/models/TaskResult.ts @@ -0,0 +1,128 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { TaskCompletionStatus } from './TaskCompletionStatus'; +import { + TaskCompletionStatusFromJSON, + TaskCompletionStatusFromJSONTyped, + TaskCompletionStatusToJSON, +} from './TaskCompletionStatus'; + +/** + * Class TaskExecutionInfo. + * @export + * @interface TaskResult + */ +export interface TaskResult { + /** + * Gets or sets the start time UTC. + * @type {Date} + * @memberof TaskResult + */ + startTimeUtc?: Date; + /** + * Gets or sets the end time UTC. + * @type {Date} + * @memberof TaskResult + */ + endTimeUtc?: Date; + /** + * + * @type {TaskCompletionStatus} + * @memberof TaskResult + */ + status?: TaskCompletionStatus; + /** + * Gets or sets the name. + * @type {string} + * @memberof TaskResult + */ + name?: string | null; + /** + * Gets or sets the key. + * @type {string} + * @memberof TaskResult + */ + key?: string | null; + /** + * Gets or sets the id. + * @type {string} + * @memberof TaskResult + */ + id?: string | null; + /** + * Gets or sets the error message. + * @type {string} + * @memberof TaskResult + */ + errorMessage?: string | null; + /** + * Gets or sets the long error message. + * @type {string} + * @memberof TaskResult + */ + longErrorMessage?: string | null; +} + +/** + * Check if a given object implements the TaskResult interface. + */ +export function instanceOfTaskResult(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function TaskResultFromJSON(json: any): TaskResult { + return TaskResultFromJSONTyped(json, false); +} + +export function TaskResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): TaskResult { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'startTimeUtc': !exists(json, 'StartTimeUtc') ? undefined : (new Date(json['StartTimeUtc'])), + 'endTimeUtc': !exists(json, 'EndTimeUtc') ? undefined : (new Date(json['EndTimeUtc'])), + 'status': !exists(json, 'Status') ? undefined : TaskCompletionStatusFromJSON(json['Status']), + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'key': !exists(json, 'Key') ? undefined : json['Key'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'errorMessage': !exists(json, 'ErrorMessage') ? undefined : json['ErrorMessage'], + 'longErrorMessage': !exists(json, 'LongErrorMessage') ? undefined : json['LongErrorMessage'], + }; +} + +export function TaskResultToJSON(value?: TaskResult | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'StartTimeUtc': value.startTimeUtc === undefined ? undefined : (value.startTimeUtc.toISOString()), + 'EndTimeUtc': value.endTimeUtc === undefined ? undefined : (value.endTimeUtc.toISOString()), + 'Status': TaskCompletionStatusToJSON(value.status), + 'Name': value.name, + 'Key': value.key, + 'Id': value.id, + 'ErrorMessage': value.errorMessage, + 'LongErrorMessage': value.longErrorMessage, + }; +} + diff --git a/server/jellyfin/models/TaskState.ts b/server/jellyfin/models/TaskState.ts new file mode 100644 index 0000000..93d084b --- /dev/null +++ b/server/jellyfin/models/TaskState.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Enum TaskState. + * @export + */ +export const TaskState = { + Idle: 'Idle', + Cancelling: 'Cancelling', + Running: 'Running' +} as const; +export type TaskState = typeof TaskState[keyof typeof TaskState]; + + +export function TaskStateFromJSON(json: any): TaskState { + return TaskStateFromJSONTyped(json, false); +} + +export function TaskStateFromJSONTyped(json: any, ignoreDiscriminator: boolean): TaskState { + return json as TaskState; +} + +export function TaskStateToJSON(value?: TaskState | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/TaskTriggerInfo.ts b/server/jellyfin/models/TaskTriggerInfo.ts new file mode 100644 index 0000000..8d76249 --- /dev/null +++ b/server/jellyfin/models/TaskTriggerInfo.ts @@ -0,0 +1,104 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { DayOfWeek } from './DayOfWeek'; +import { + DayOfWeekFromJSON, + DayOfWeekFromJSONTyped, + DayOfWeekToJSON, +} from './DayOfWeek'; + +/** + * Class TaskTriggerInfo. + * @export + * @interface TaskTriggerInfo + */ +export interface TaskTriggerInfo { + /** + * Gets or sets the type. + * @type {string} + * @memberof TaskTriggerInfo + */ + type?: string | null; + /** + * Gets or sets the time of day. + * @type {number} + * @memberof TaskTriggerInfo + */ + timeOfDayTicks?: number | null; + /** + * Gets or sets the interval. + * @type {number} + * @memberof TaskTriggerInfo + */ + intervalTicks?: number | null; + /** + * + * @type {DayOfWeek} + * @memberof TaskTriggerInfo + */ + dayOfWeek?: DayOfWeek | null; + /** + * Gets or sets the maximum runtime ticks. + * @type {number} + * @memberof TaskTriggerInfo + */ + maxRuntimeTicks?: number | null; +} + +/** + * Check if a given object implements the TaskTriggerInfo interface. + */ +export function instanceOfTaskTriggerInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function TaskTriggerInfoFromJSON(json: any): TaskTriggerInfo { + return TaskTriggerInfoFromJSONTyped(json, false); +} + +export function TaskTriggerInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): TaskTriggerInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'type': !exists(json, 'Type') ? undefined : json['Type'], + 'timeOfDayTicks': !exists(json, 'TimeOfDayTicks') ? undefined : json['TimeOfDayTicks'], + 'intervalTicks': !exists(json, 'IntervalTicks') ? undefined : json['IntervalTicks'], + 'dayOfWeek': !exists(json, 'DayOfWeek') ? undefined : DayOfWeekFromJSON(json['DayOfWeek']), + 'maxRuntimeTicks': !exists(json, 'MaxRuntimeTicks') ? undefined : json['MaxRuntimeTicks'], + }; +} + +export function TaskTriggerInfoToJSON(value?: TaskTriggerInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Type': value.type, + 'TimeOfDayTicks': value.timeOfDayTicks, + 'IntervalTicks': value.intervalTicks, + 'DayOfWeek': DayOfWeekToJSON(value.dayOfWeek), + 'MaxRuntimeTicks': value.maxRuntimeTicks, + }; +} + diff --git a/server/jellyfin/models/ThemeMediaResult.ts b/server/jellyfin/models/ThemeMediaResult.ts new file mode 100644 index 0000000..f9ab40c --- /dev/null +++ b/server/jellyfin/models/ThemeMediaResult.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { BaseItemDto } from './BaseItemDto'; +import { + BaseItemDtoFromJSON, + BaseItemDtoFromJSONTyped, + BaseItemDtoToJSON, +} from './BaseItemDto'; + +/** + * Class ThemeMediaResult. + * @export + * @interface ThemeMediaResult + */ +export interface ThemeMediaResult { + /** + * Gets or sets the items. + * @type {Array} + * @memberof ThemeMediaResult + */ + items?: Array | null; + /** + * Gets or sets the total number of records available. + * @type {number} + * @memberof ThemeMediaResult + */ + totalRecordCount?: number; + /** + * Gets or sets the index of the first record in Items. + * @type {number} + * @memberof ThemeMediaResult + */ + startIndex?: number; + /** + * Gets or sets the owner id. + * @type {string} + * @memberof ThemeMediaResult + */ + ownerId?: string; +} + +/** + * Check if a given object implements the ThemeMediaResult interface. + */ +export function instanceOfThemeMediaResult(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ThemeMediaResultFromJSON(json: any): ThemeMediaResult { + return ThemeMediaResultFromJSONTyped(json, false); +} + +export function ThemeMediaResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): ThemeMediaResult { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'items': !exists(json, 'Items') ? undefined : (json['Items'] === null ? null : (json['Items'] as Array).map(BaseItemDtoFromJSON)), + 'totalRecordCount': !exists(json, 'TotalRecordCount') ? undefined : json['TotalRecordCount'], + 'startIndex': !exists(json, 'StartIndex') ? undefined : json['StartIndex'], + 'ownerId': !exists(json, 'OwnerId') ? undefined : json['OwnerId'], + }; +} + +export function ThemeMediaResultToJSON(value?: ThemeMediaResult | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Items': value.items === undefined ? undefined : (value.items === null ? null : (value.items as Array).map(BaseItemDtoToJSON)), + 'TotalRecordCount': value.totalRecordCount, + 'StartIndex': value.startIndex, + 'OwnerId': value.ownerId, + }; +} + diff --git a/server/jellyfin/models/TimerEventInfo.ts b/server/jellyfin/models/TimerEventInfo.ts new file mode 100644 index 0000000..873acbe --- /dev/null +++ b/server/jellyfin/models/TimerEventInfo.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface TimerEventInfo + */ +export interface TimerEventInfo { + /** + * + * @type {string} + * @memberof TimerEventInfo + */ + id?: string; + /** + * + * @type {string} + * @memberof TimerEventInfo + */ + programId?: string | null; +} + +/** + * Check if a given object implements the TimerEventInfo interface. + */ +export function instanceOfTimerEventInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function TimerEventInfoFromJSON(json: any): TimerEventInfo { + return TimerEventInfoFromJSONTyped(json, false); +} + +export function TimerEventInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): TimerEventInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'programId': !exists(json, 'ProgramId') ? undefined : json['ProgramId'], + }; +} + +export function TimerEventInfoToJSON(value?: TimerEventInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Id': value.id, + 'ProgramId': value.programId, + }; +} + diff --git a/server/jellyfin/models/TimerInfoDto.ts b/server/jellyfin/models/TimerInfoDto.ts new file mode 100644 index 0000000..5e7e038 --- /dev/null +++ b/server/jellyfin/models/TimerInfoDto.ts @@ -0,0 +1,300 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { KeepUntil } from './KeepUntil'; +import { + KeepUntilFromJSON, + KeepUntilFromJSONTyped, + KeepUntilToJSON, +} from './KeepUntil'; +import type { RecordingStatus } from './RecordingStatus'; +import { + RecordingStatusFromJSON, + RecordingStatusFromJSONTyped, + RecordingStatusToJSON, +} from './RecordingStatus'; +import type { TimerInfoDtoProgramInfo } from './TimerInfoDtoProgramInfo'; +import { + TimerInfoDtoProgramInfoFromJSON, + TimerInfoDtoProgramInfoFromJSONTyped, + TimerInfoDtoProgramInfoToJSON, +} from './TimerInfoDtoProgramInfo'; + +/** + * + * @export + * @interface TimerInfoDto + */ +export interface TimerInfoDto { + /** + * Gets or sets the Id of the recording. + * @type {string} + * @memberof TimerInfoDto + */ + id?: string | null; + /** + * + * @type {string} + * @memberof TimerInfoDto + */ + type?: string | null; + /** + * Gets or sets the server identifier. + * @type {string} + * @memberof TimerInfoDto + */ + serverId?: string | null; + /** + * Gets or sets the external identifier. + * @type {string} + * @memberof TimerInfoDto + */ + externalId?: string | null; + /** + * Gets or sets the channel id of the recording. + * @type {string} + * @memberof TimerInfoDto + */ + channelId?: string; + /** + * Gets or sets the external channel identifier. + * @type {string} + * @memberof TimerInfoDto + */ + externalChannelId?: string | null; + /** + * Gets or sets the channel name of the recording. + * @type {string} + * @memberof TimerInfoDto + */ + channelName?: string | null; + /** + * + * @type {string} + * @memberof TimerInfoDto + */ + channelPrimaryImageTag?: string | null; + /** + * Gets or sets the program identifier. + * @type {string} + * @memberof TimerInfoDto + */ + programId?: string | null; + /** + * Gets or sets the external program identifier. + * @type {string} + * @memberof TimerInfoDto + */ + externalProgramId?: string | null; + /** + * Gets or sets the name of the recording. + * @type {string} + * @memberof TimerInfoDto + */ + name?: string | null; + /** + * Gets or sets the description of the recording. + * @type {string} + * @memberof TimerInfoDto + */ + overview?: string | null; + /** + * Gets or sets the start date of the recording, in UTC. + * @type {Date} + * @memberof TimerInfoDto + */ + startDate?: Date; + /** + * Gets or sets the end date of the recording, in UTC. + * @type {Date} + * @memberof TimerInfoDto + */ + endDate?: Date; + /** + * Gets or sets the name of the service. + * @type {string} + * @memberof TimerInfoDto + */ + serviceName?: string | null; + /** + * Gets or sets the priority. + * @type {number} + * @memberof TimerInfoDto + */ + priority?: number; + /** + * Gets or sets the pre padding seconds. + * @type {number} + * @memberof TimerInfoDto + */ + prePaddingSeconds?: number; + /** + * Gets or sets the post padding seconds. + * @type {number} + * @memberof TimerInfoDto + */ + postPaddingSeconds?: number; + /** + * Gets or sets a value indicating whether this instance is pre padding required. + * @type {boolean} + * @memberof TimerInfoDto + */ + isPrePaddingRequired?: boolean; + /** + * Gets or sets the Id of the Parent that has a backdrop if the item does not have one. + * @type {string} + * @memberof TimerInfoDto + */ + parentBackdropItemId?: string | null; + /** + * Gets or sets the parent backdrop image tags. + * @type {Array} + * @memberof TimerInfoDto + */ + parentBackdropImageTags?: Array | null; + /** + * Gets or sets a value indicating whether this instance is post padding required. + * @type {boolean} + * @memberof TimerInfoDto + */ + isPostPaddingRequired?: boolean; + /** + * + * @type {KeepUntil} + * @memberof TimerInfoDto + */ + keepUntil?: KeepUntil; + /** + * + * @type {RecordingStatus} + * @memberof TimerInfoDto + */ + status?: RecordingStatus; + /** + * Gets or sets the series timer identifier. + * @type {string} + * @memberof TimerInfoDto + */ + seriesTimerId?: string | null; + /** + * Gets or sets the external series timer identifier. + * @type {string} + * @memberof TimerInfoDto + */ + externalSeriesTimerId?: string | null; + /** + * Gets or sets the run time ticks. + * @type {number} + * @memberof TimerInfoDto + */ + runTimeTicks?: number | null; + /** + * + * @type {TimerInfoDtoProgramInfo} + * @memberof TimerInfoDto + */ + programInfo?: TimerInfoDtoProgramInfo | null; +} + +/** + * Check if a given object implements the TimerInfoDto interface. + */ +export function instanceOfTimerInfoDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function TimerInfoDtoFromJSON(json: any): TimerInfoDto { + return TimerInfoDtoFromJSONTyped(json, false); +} + +export function TimerInfoDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): TimerInfoDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'type': !exists(json, 'Type') ? undefined : json['Type'], + 'serverId': !exists(json, 'ServerId') ? undefined : json['ServerId'], + 'externalId': !exists(json, 'ExternalId') ? undefined : json['ExternalId'], + 'channelId': !exists(json, 'ChannelId') ? undefined : json['ChannelId'], + 'externalChannelId': !exists(json, 'ExternalChannelId') ? undefined : json['ExternalChannelId'], + 'channelName': !exists(json, 'ChannelName') ? undefined : json['ChannelName'], + 'channelPrimaryImageTag': !exists(json, 'ChannelPrimaryImageTag') ? undefined : json['ChannelPrimaryImageTag'], + 'programId': !exists(json, 'ProgramId') ? undefined : json['ProgramId'], + 'externalProgramId': !exists(json, 'ExternalProgramId') ? undefined : json['ExternalProgramId'], + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'overview': !exists(json, 'Overview') ? undefined : json['Overview'], + 'startDate': !exists(json, 'StartDate') ? undefined : (new Date(json['StartDate'])), + 'endDate': !exists(json, 'EndDate') ? undefined : (new Date(json['EndDate'])), + 'serviceName': !exists(json, 'ServiceName') ? undefined : json['ServiceName'], + 'priority': !exists(json, 'Priority') ? undefined : json['Priority'], + 'prePaddingSeconds': !exists(json, 'PrePaddingSeconds') ? undefined : json['PrePaddingSeconds'], + 'postPaddingSeconds': !exists(json, 'PostPaddingSeconds') ? undefined : json['PostPaddingSeconds'], + 'isPrePaddingRequired': !exists(json, 'IsPrePaddingRequired') ? undefined : json['IsPrePaddingRequired'], + 'parentBackdropItemId': !exists(json, 'ParentBackdropItemId') ? undefined : json['ParentBackdropItemId'], + 'parentBackdropImageTags': !exists(json, 'ParentBackdropImageTags') ? undefined : json['ParentBackdropImageTags'], + 'isPostPaddingRequired': !exists(json, 'IsPostPaddingRequired') ? undefined : json['IsPostPaddingRequired'], + 'keepUntil': !exists(json, 'KeepUntil') ? undefined : KeepUntilFromJSON(json['KeepUntil']), + 'status': !exists(json, 'Status') ? undefined : RecordingStatusFromJSON(json['Status']), + 'seriesTimerId': !exists(json, 'SeriesTimerId') ? undefined : json['SeriesTimerId'], + 'externalSeriesTimerId': !exists(json, 'ExternalSeriesTimerId') ? undefined : json['ExternalSeriesTimerId'], + 'runTimeTicks': !exists(json, 'RunTimeTicks') ? undefined : json['RunTimeTicks'], + 'programInfo': !exists(json, 'ProgramInfo') ? undefined : TimerInfoDtoProgramInfoFromJSON(json['ProgramInfo']), + }; +} + +export function TimerInfoDtoToJSON(value?: TimerInfoDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Id': value.id, + 'Type': value.type, + 'ServerId': value.serverId, + 'ExternalId': value.externalId, + 'ChannelId': value.channelId, + 'ExternalChannelId': value.externalChannelId, + 'ChannelName': value.channelName, + 'ChannelPrimaryImageTag': value.channelPrimaryImageTag, + 'ProgramId': value.programId, + 'ExternalProgramId': value.externalProgramId, + 'Name': value.name, + 'Overview': value.overview, + 'StartDate': value.startDate === undefined ? undefined : (value.startDate.toISOString()), + 'EndDate': value.endDate === undefined ? undefined : (value.endDate.toISOString()), + 'ServiceName': value.serviceName, + 'Priority': value.priority, + 'PrePaddingSeconds': value.prePaddingSeconds, + 'PostPaddingSeconds': value.postPaddingSeconds, + 'IsPrePaddingRequired': value.isPrePaddingRequired, + 'ParentBackdropItemId': value.parentBackdropItemId, + 'ParentBackdropImageTags': value.parentBackdropImageTags, + 'IsPostPaddingRequired': value.isPostPaddingRequired, + 'KeepUntil': KeepUntilToJSON(value.keepUntil), + 'Status': RecordingStatusToJSON(value.status), + 'SeriesTimerId': value.seriesTimerId, + 'ExternalSeriesTimerId': value.externalSeriesTimerId, + 'RunTimeTicks': value.runTimeTicks, + 'ProgramInfo': TimerInfoDtoProgramInfoToJSON(value.programInfo), + }; +} + diff --git a/server/jellyfin/models/TimerInfoDtoProgramInfo.ts b/server/jellyfin/models/TimerInfoDtoProgramInfo.ts new file mode 100644 index 0000000..18457ae --- /dev/null +++ b/server/jellyfin/models/TimerInfoDtoProgramInfo.ts @@ -0,0 +1,1392 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { BaseItemDtoCurrentProgram } from './BaseItemDtoCurrentProgram'; +import { + BaseItemDtoCurrentProgramFromJSON, + BaseItemDtoCurrentProgramFromJSONTyped, + BaseItemDtoCurrentProgramToJSON, +} from './BaseItemDtoCurrentProgram'; +import type { BaseItemDtoImageBlurHashes } from './BaseItemDtoImageBlurHashes'; +import { + BaseItemDtoImageBlurHashesFromJSON, + BaseItemDtoImageBlurHashesFromJSONTyped, + BaseItemDtoImageBlurHashesToJSON, +} from './BaseItemDtoImageBlurHashes'; +import type { BaseItemDtoUserData } from './BaseItemDtoUserData'; +import { + BaseItemDtoUserDataFromJSON, + BaseItemDtoUserDataFromJSONTyped, + BaseItemDtoUserDataToJSON, +} from './BaseItemDtoUserData'; +import type { BaseItemKind } from './BaseItemKind'; +import { + BaseItemKindFromJSON, + BaseItemKindFromJSONTyped, + BaseItemKindToJSON, +} from './BaseItemKind'; +import type { BaseItemPerson } from './BaseItemPerson'; +import { + BaseItemPersonFromJSON, + BaseItemPersonFromJSONTyped, + BaseItemPersonToJSON, +} from './BaseItemPerson'; +import type { ChannelType } from './ChannelType'; +import { + ChannelTypeFromJSON, + ChannelTypeFromJSONTyped, + ChannelTypeToJSON, +} from './ChannelType'; +import type { ChapterInfo } from './ChapterInfo'; +import { + ChapterInfoFromJSON, + ChapterInfoFromJSONTyped, + ChapterInfoToJSON, +} from './ChapterInfo'; +import type { DayOfWeek } from './DayOfWeek'; +import { + DayOfWeekFromJSON, + DayOfWeekFromJSONTyped, + DayOfWeekToJSON, +} from './DayOfWeek'; +import type { ExternalUrl } from './ExternalUrl'; +import { + ExternalUrlFromJSON, + ExternalUrlFromJSONTyped, + ExternalUrlToJSON, +} from './ExternalUrl'; +import type { ImageOrientation } from './ImageOrientation'; +import { + ImageOrientationFromJSON, + ImageOrientationFromJSONTyped, + ImageOrientationToJSON, +} from './ImageOrientation'; +import type { IsoType } from './IsoType'; +import { + IsoTypeFromJSON, + IsoTypeFromJSONTyped, + IsoTypeToJSON, +} from './IsoType'; +import type { LocationType } from './LocationType'; +import { + LocationTypeFromJSON, + LocationTypeFromJSONTyped, + LocationTypeToJSON, +} from './LocationType'; +import type { MediaSourceInfo } from './MediaSourceInfo'; +import { + MediaSourceInfoFromJSON, + MediaSourceInfoFromJSONTyped, + MediaSourceInfoToJSON, +} from './MediaSourceInfo'; +import type { MediaStream } from './MediaStream'; +import { + MediaStreamFromJSON, + MediaStreamFromJSONTyped, + MediaStreamToJSON, +} from './MediaStream'; +import type { MediaUrl } from './MediaUrl'; +import { + MediaUrlFromJSON, + MediaUrlFromJSONTyped, + MediaUrlToJSON, +} from './MediaUrl'; +import type { MetadataField } from './MetadataField'; +import { + MetadataFieldFromJSON, + MetadataFieldFromJSONTyped, + MetadataFieldToJSON, +} from './MetadataField'; +import type { NameGuidPair } from './NameGuidPair'; +import { + NameGuidPairFromJSON, + NameGuidPairFromJSONTyped, + NameGuidPairToJSON, +} from './NameGuidPair'; +import type { PlayAccess } from './PlayAccess'; +import { + PlayAccessFromJSON, + PlayAccessFromJSONTyped, + PlayAccessToJSON, +} from './PlayAccess'; +import type { ProgramAudio } from './ProgramAudio'; +import { + ProgramAudioFromJSON, + ProgramAudioFromJSONTyped, + ProgramAudioToJSON, +} from './ProgramAudio'; +import type { Video3DFormat } from './Video3DFormat'; +import { + Video3DFormatFromJSON, + Video3DFormatFromJSONTyped, + Video3DFormatToJSON, +} from './Video3DFormat'; +import type { VideoType } from './VideoType'; +import { + VideoTypeFromJSON, + VideoTypeFromJSONTyped, + VideoTypeToJSON, +} from './VideoType'; + +/** + * Gets or sets the program information. + * @export + * @interface TimerInfoDtoProgramInfo + */ +export interface TimerInfoDtoProgramInfo { + /** + * Gets or sets the name. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + name?: string | null; + /** + * + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + originalTitle?: string | null; + /** + * Gets or sets the server identifier. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + serverId?: string | null; + /** + * Gets or sets the id. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + id?: string; + /** + * Gets or sets the etag. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + etag?: string | null; + /** + * Gets or sets the type of the source. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + sourceType?: string | null; + /** + * Gets or sets the playlist item identifier. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + playlistItemId?: string | null; + /** + * Gets or sets the date created. + * @type {Date} + * @memberof TimerInfoDtoProgramInfo + */ + dateCreated?: Date | null; + /** + * + * @type {Date} + * @memberof TimerInfoDtoProgramInfo + */ + dateLastMediaAdded?: Date | null; + /** + * + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + extraType?: string | null; + /** + * + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + airsBeforeSeasonNumber?: number | null; + /** + * + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + airsAfterSeasonNumber?: number | null; + /** + * + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + airsBeforeEpisodeNumber?: number | null; + /** + * + * @type {boolean} + * @memberof TimerInfoDtoProgramInfo + */ + canDelete?: boolean | null; + /** + * + * @type {boolean} + * @memberof TimerInfoDtoProgramInfo + */ + canDownload?: boolean | null; + /** + * + * @type {boolean} + * @memberof TimerInfoDtoProgramInfo + */ + hasSubtitles?: boolean | null; + /** + * + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + preferredMetadataLanguage?: string | null; + /** + * + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + preferredMetadataCountryCode?: string | null; + /** + * Gets or sets a value indicating whether [supports synchronize]. + * @type {boolean} + * @memberof TimerInfoDtoProgramInfo + */ + supportsSync?: boolean | null; + /** + * + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + container?: string | null; + /** + * Gets or sets the name of the sort. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + sortName?: string | null; + /** + * + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + forcedSortName?: string | null; + /** + * + * @type {Video3DFormat} + * @memberof TimerInfoDtoProgramInfo + */ + video3DFormat?: Video3DFormat | null; + /** + * Gets or sets the premiere date. + * @type {Date} + * @memberof TimerInfoDtoProgramInfo + */ + premiereDate?: Date | null; + /** + * Gets or sets the external urls. + * @type {Array} + * @memberof TimerInfoDtoProgramInfo + */ + externalUrls?: Array | null; + /** + * Gets or sets the media versions. + * @type {Array} + * @memberof TimerInfoDtoProgramInfo + */ + mediaSources?: Array | null; + /** + * Gets or sets the critic rating. + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + criticRating?: number | null; + /** + * + * @type {Array} + * @memberof TimerInfoDtoProgramInfo + */ + productionLocations?: Array | null; + /** + * Gets or sets the path. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + path?: string | null; + /** + * + * @type {boolean} + * @memberof TimerInfoDtoProgramInfo + */ + enableMediaSourceDisplay?: boolean | null; + /** + * Gets or sets the official rating. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + officialRating?: string | null; + /** + * Gets or sets the custom rating. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + customRating?: string | null; + /** + * Gets or sets the channel identifier. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + channelId?: string | null; + /** + * + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + channelName?: string | null; + /** + * Gets or sets the overview. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + overview?: string | null; + /** + * Gets or sets the taglines. + * @type {Array} + * @memberof TimerInfoDtoProgramInfo + */ + taglines?: Array | null; + /** + * Gets or sets the genres. + * @type {Array} + * @memberof TimerInfoDtoProgramInfo + */ + genres?: Array | null; + /** + * Gets or sets the community rating. + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + communityRating?: number | null; + /** + * Gets or sets the cumulative run time ticks. + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + cumulativeRunTimeTicks?: number | null; + /** + * Gets or sets the run time ticks. + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + runTimeTicks?: number | null; + /** + * + * @type {PlayAccess} + * @memberof TimerInfoDtoProgramInfo + */ + playAccess?: PlayAccess | null; + /** + * Gets or sets the aspect ratio. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + aspectRatio?: string | null; + /** + * Gets or sets the production year. + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + productionYear?: number | null; + /** + * Gets or sets a value indicating whether this instance is place holder. + * @type {boolean} + * @memberof TimerInfoDtoProgramInfo + */ + isPlaceHolder?: boolean | null; + /** + * Gets or sets the number. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + number?: string | null; + /** + * + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + channelNumber?: string | null; + /** + * Gets or sets the index number. + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + indexNumber?: number | null; + /** + * Gets or sets the index number end. + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + indexNumberEnd?: number | null; + /** + * Gets or sets the parent index number. + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + parentIndexNumber?: number | null; + /** + * Gets or sets the trailer urls. + * @type {Array} + * @memberof TimerInfoDtoProgramInfo + */ + remoteTrailers?: Array | null; + /** + * Gets or sets the provider ids. + * @type {{ [key: string]: string; }} + * @memberof TimerInfoDtoProgramInfo + */ + providerIds?: { [key: string]: string; } | null; + /** + * Gets or sets a value indicating whether this instance is HD. + * @type {boolean} + * @memberof TimerInfoDtoProgramInfo + */ + isHD?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is folder. + * @type {boolean} + * @memberof TimerInfoDtoProgramInfo + */ + isFolder?: boolean | null; + /** + * Gets or sets the parent id. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + parentId?: string | null; + /** + * + * @type {BaseItemKind} + * @memberof TimerInfoDtoProgramInfo + */ + type?: BaseItemKind; + /** + * Gets or sets the people. + * @type {Array} + * @memberof TimerInfoDtoProgramInfo + */ + people?: Array | null; + /** + * Gets or sets the studios. + * @type {Array} + * @memberof TimerInfoDtoProgramInfo + */ + studios?: Array | null; + /** + * + * @type {Array} + * @memberof TimerInfoDtoProgramInfo + */ + genreItems?: Array | null; + /** + * Gets or sets wether the item has a logo, this will hold the Id of the Parent that has one. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + parentLogoItemId?: string | null; + /** + * Gets or sets wether the item has any backdrops, this will hold the Id of the Parent that has one. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + parentBackdropItemId?: string | null; + /** + * Gets or sets the parent backdrop image tags. + * @type {Array} + * @memberof TimerInfoDtoProgramInfo + */ + parentBackdropImageTags?: Array | null; + /** + * Gets or sets the local trailer count. + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + localTrailerCount?: number | null; + /** + * + * @type {BaseItemDtoUserData} + * @memberof TimerInfoDtoProgramInfo + */ + userData?: BaseItemDtoUserData | null; + /** + * Gets or sets the recursive item count. + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + recursiveItemCount?: number | null; + /** + * Gets or sets the child count. + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + childCount?: number | null; + /** + * Gets or sets the name of the series. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + seriesName?: string | null; + /** + * Gets or sets the series id. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + seriesId?: string | null; + /** + * Gets or sets the season identifier. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + seasonId?: string | null; + /** + * Gets or sets the special feature count. + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + specialFeatureCount?: number | null; + /** + * Gets or sets the display preferences id. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + displayPreferencesId?: string | null; + /** + * Gets or sets the status. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + status?: string | null; + /** + * Gets or sets the air time. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + airTime?: string | null; + /** + * Gets or sets the air days. + * @type {Array} + * @memberof TimerInfoDtoProgramInfo + */ + airDays?: Array | null; + /** + * Gets or sets the tags. + * @type {Array} + * @memberof TimerInfoDtoProgramInfo + */ + tags?: Array | null; + /** + * Gets or sets the primary image aspect ratio, after image enhancements. + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + primaryImageAspectRatio?: number | null; + /** + * Gets or sets the artists. + * @type {Array} + * @memberof TimerInfoDtoProgramInfo + */ + artists?: Array | null; + /** + * Gets or sets the artist items. + * @type {Array} + * @memberof TimerInfoDtoProgramInfo + */ + artistItems?: Array | null; + /** + * Gets or sets the album. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + album?: string | null; + /** + * Gets or sets the type of the collection. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + collectionType?: string | null; + /** + * Gets or sets the display order. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + displayOrder?: string | null; + /** + * Gets or sets the album id. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + albumId?: string | null; + /** + * Gets or sets the album image tag. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + albumPrimaryImageTag?: string | null; + /** + * Gets or sets the series primary image tag. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + seriesPrimaryImageTag?: string | null; + /** + * Gets or sets the album artist. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + albumArtist?: string | null; + /** + * Gets or sets the album artists. + * @type {Array} + * @memberof TimerInfoDtoProgramInfo + */ + albumArtists?: Array | null; + /** + * Gets or sets the name of the season. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + seasonName?: string | null; + /** + * Gets or sets the media streams. + * @type {Array} + * @memberof TimerInfoDtoProgramInfo + */ + mediaStreams?: Array | null; + /** + * + * @type {VideoType} + * @memberof TimerInfoDtoProgramInfo + */ + videoType?: VideoType | null; + /** + * Gets or sets the part count. + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + partCount?: number | null; + /** + * + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + mediaSourceCount?: number | null; + /** + * Gets or sets the image tags. + * @type {{ [key: string]: string; }} + * @memberof TimerInfoDtoProgramInfo + */ + imageTags?: { [key: string]: string; } | null; + /** + * Gets or sets the backdrop image tags. + * @type {Array} + * @memberof TimerInfoDtoProgramInfo + */ + backdropImageTags?: Array | null; + /** + * Gets or sets the screenshot image tags. + * @type {Array} + * @memberof TimerInfoDtoProgramInfo + */ + screenshotImageTags?: Array | null; + /** + * Gets or sets the parent logo image tag. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + parentLogoImageTag?: string | null; + /** + * Gets or sets wether the item has fan art, this will hold the Id of the Parent that has one. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + parentArtItemId?: string | null; + /** + * Gets or sets the parent art image tag. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + parentArtImageTag?: string | null; + /** + * Gets or sets the series thumb image tag. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + seriesThumbImageTag?: string | null; + /** + * + * @type {BaseItemDtoImageBlurHashes} + * @memberof TimerInfoDtoProgramInfo + */ + imageBlurHashes?: BaseItemDtoImageBlurHashes | null; + /** + * Gets or sets the series studio. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + seriesStudio?: string | null; + /** + * Gets or sets the parent thumb item id. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + parentThumbItemId?: string | null; + /** + * Gets or sets the parent thumb image tag. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + parentThumbImageTag?: string | null; + /** + * Gets or sets the parent primary image item identifier. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + parentPrimaryImageItemId?: string | null; + /** + * Gets or sets the parent primary image tag. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + parentPrimaryImageTag?: string | null; + /** + * Gets or sets the chapters. + * @type {Array} + * @memberof TimerInfoDtoProgramInfo + */ + chapters?: Array | null; + /** + * + * @type {LocationType} + * @memberof TimerInfoDtoProgramInfo + */ + locationType?: LocationType | null; + /** + * + * @type {IsoType} + * @memberof TimerInfoDtoProgramInfo + */ + isoType?: IsoType | null; + /** + * Gets or sets the type of the media. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + mediaType?: string | null; + /** + * Gets or sets the end date. + * @type {Date} + * @memberof TimerInfoDtoProgramInfo + */ + endDate?: Date | null; + /** + * Gets or sets the locked fields. + * @type {Array} + * @memberof TimerInfoDtoProgramInfo + */ + lockedFields?: Array | null; + /** + * Gets or sets the trailer count. + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + trailerCount?: number | null; + /** + * Gets or sets the movie count. + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + movieCount?: number | null; + /** + * Gets or sets the series count. + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + seriesCount?: number | null; + /** + * + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + programCount?: number | null; + /** + * Gets or sets the episode count. + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + episodeCount?: number | null; + /** + * Gets or sets the song count. + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + songCount?: number | null; + /** + * Gets or sets the album count. + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + albumCount?: number | null; + /** + * + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + artistCount?: number | null; + /** + * Gets or sets the music video count. + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + musicVideoCount?: number | null; + /** + * Gets or sets a value indicating whether [enable internet providers]. + * @type {boolean} + * @memberof TimerInfoDtoProgramInfo + */ + lockData?: boolean | null; + /** + * + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + width?: number | null; + /** + * + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + height?: number | null; + /** + * + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + cameraMake?: string | null; + /** + * + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + cameraModel?: string | null; + /** + * + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + software?: string | null; + /** + * + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + exposureTime?: number | null; + /** + * + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + focalLength?: number | null; + /** + * + * @type {ImageOrientation} + * @memberof TimerInfoDtoProgramInfo + */ + imageOrientation?: ImageOrientation | null; + /** + * + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + aperture?: number | null; + /** + * + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + shutterSpeed?: number | null; + /** + * + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + latitude?: number | null; + /** + * + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + longitude?: number | null; + /** + * + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + altitude?: number | null; + /** + * + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + isoSpeedRating?: number | null; + /** + * Gets or sets the series timer identifier. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + seriesTimerId?: string | null; + /** + * Gets or sets the program identifier. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + programId?: string | null; + /** + * Gets or sets the channel primary image tag. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + channelPrimaryImageTag?: string | null; + /** + * Gets or sets the start date of the recording, in UTC. + * @type {Date} + * @memberof TimerInfoDtoProgramInfo + */ + startDate?: Date | null; + /** + * Gets or sets the completion percentage. + * @type {number} + * @memberof TimerInfoDtoProgramInfo + */ + completionPercentage?: number | null; + /** + * Gets or sets a value indicating whether this instance is repeat. + * @type {boolean} + * @memberof TimerInfoDtoProgramInfo + */ + isRepeat?: boolean | null; + /** + * Gets or sets the episode title. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + episodeTitle?: string | null; + /** + * + * @type {ChannelType} + * @memberof TimerInfoDtoProgramInfo + */ + channelType?: ChannelType | null; + /** + * + * @type {ProgramAudio} + * @memberof TimerInfoDtoProgramInfo + */ + audio?: ProgramAudio | null; + /** + * Gets or sets a value indicating whether this instance is movie. + * @type {boolean} + * @memberof TimerInfoDtoProgramInfo + */ + isMovie?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is sports. + * @type {boolean} + * @memberof TimerInfoDtoProgramInfo + */ + isSports?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is series. + * @type {boolean} + * @memberof TimerInfoDtoProgramInfo + */ + isSeries?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is live. + * @type {boolean} + * @memberof TimerInfoDtoProgramInfo + */ + isLive?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is news. + * @type {boolean} + * @memberof TimerInfoDtoProgramInfo + */ + isNews?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is kids. + * @type {boolean} + * @memberof TimerInfoDtoProgramInfo + */ + isKids?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is premiere. + * @type {boolean} + * @memberof TimerInfoDtoProgramInfo + */ + isPremiere?: boolean | null; + /** + * Gets or sets the timer identifier. + * @type {string} + * @memberof TimerInfoDtoProgramInfo + */ + timerId?: string | null; + /** + * + * @type {BaseItemDtoCurrentProgram} + * @memberof TimerInfoDtoProgramInfo + */ + currentProgram?: BaseItemDtoCurrentProgram | null; +} + +/** + * Check if a given object implements the TimerInfoDtoProgramInfo interface. + */ +export function instanceOfTimerInfoDtoProgramInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function TimerInfoDtoProgramInfoFromJSON(json: any): TimerInfoDtoProgramInfo { + return TimerInfoDtoProgramInfoFromJSONTyped(json, false); +} + +export function TimerInfoDtoProgramInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): TimerInfoDtoProgramInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'originalTitle': !exists(json, 'OriginalTitle') ? undefined : json['OriginalTitle'], + 'serverId': !exists(json, 'ServerId') ? undefined : json['ServerId'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'etag': !exists(json, 'Etag') ? undefined : json['Etag'], + 'sourceType': !exists(json, 'SourceType') ? undefined : json['SourceType'], + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + 'dateCreated': !exists(json, 'DateCreated') ? undefined : (json['DateCreated'] === null ? null : new Date(json['DateCreated'])), + 'dateLastMediaAdded': !exists(json, 'DateLastMediaAdded') ? undefined : (json['DateLastMediaAdded'] === null ? null : new Date(json['DateLastMediaAdded'])), + 'extraType': !exists(json, 'ExtraType') ? undefined : json['ExtraType'], + 'airsBeforeSeasonNumber': !exists(json, 'AirsBeforeSeasonNumber') ? undefined : json['AirsBeforeSeasonNumber'], + 'airsAfterSeasonNumber': !exists(json, 'AirsAfterSeasonNumber') ? undefined : json['AirsAfterSeasonNumber'], + 'airsBeforeEpisodeNumber': !exists(json, 'AirsBeforeEpisodeNumber') ? undefined : json['AirsBeforeEpisodeNumber'], + 'canDelete': !exists(json, 'CanDelete') ? undefined : json['CanDelete'], + 'canDownload': !exists(json, 'CanDownload') ? undefined : json['CanDownload'], + 'hasSubtitles': !exists(json, 'HasSubtitles') ? undefined : json['HasSubtitles'], + 'preferredMetadataLanguage': !exists(json, 'PreferredMetadataLanguage') ? undefined : json['PreferredMetadataLanguage'], + 'preferredMetadataCountryCode': !exists(json, 'PreferredMetadataCountryCode') ? undefined : json['PreferredMetadataCountryCode'], + 'supportsSync': !exists(json, 'SupportsSync') ? undefined : json['SupportsSync'], + 'container': !exists(json, 'Container') ? undefined : json['Container'], + 'sortName': !exists(json, 'SortName') ? undefined : json['SortName'], + 'forcedSortName': !exists(json, 'ForcedSortName') ? undefined : json['ForcedSortName'], + 'video3DFormat': !exists(json, 'Video3DFormat') ? undefined : Video3DFormatFromJSON(json['Video3DFormat']), + 'premiereDate': !exists(json, 'PremiereDate') ? undefined : (json['PremiereDate'] === null ? null : new Date(json['PremiereDate'])), + 'externalUrls': !exists(json, 'ExternalUrls') ? undefined : (json['ExternalUrls'] === null ? null : (json['ExternalUrls'] as Array).map(ExternalUrlFromJSON)), + 'mediaSources': !exists(json, 'MediaSources') ? undefined : (json['MediaSources'] === null ? null : (json['MediaSources'] as Array).map(MediaSourceInfoFromJSON)), + 'criticRating': !exists(json, 'CriticRating') ? undefined : json['CriticRating'], + 'productionLocations': !exists(json, 'ProductionLocations') ? undefined : json['ProductionLocations'], + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'enableMediaSourceDisplay': !exists(json, 'EnableMediaSourceDisplay') ? undefined : json['EnableMediaSourceDisplay'], + 'officialRating': !exists(json, 'OfficialRating') ? undefined : json['OfficialRating'], + 'customRating': !exists(json, 'CustomRating') ? undefined : json['CustomRating'], + 'channelId': !exists(json, 'ChannelId') ? undefined : json['ChannelId'], + 'channelName': !exists(json, 'ChannelName') ? undefined : json['ChannelName'], + 'overview': !exists(json, 'Overview') ? undefined : json['Overview'], + 'taglines': !exists(json, 'Taglines') ? undefined : json['Taglines'], + 'genres': !exists(json, 'Genres') ? undefined : json['Genres'], + 'communityRating': !exists(json, 'CommunityRating') ? undefined : json['CommunityRating'], + 'cumulativeRunTimeTicks': !exists(json, 'CumulativeRunTimeTicks') ? undefined : json['CumulativeRunTimeTicks'], + 'runTimeTicks': !exists(json, 'RunTimeTicks') ? undefined : json['RunTimeTicks'], + 'playAccess': !exists(json, 'PlayAccess') ? undefined : PlayAccessFromJSON(json['PlayAccess']), + 'aspectRatio': !exists(json, 'AspectRatio') ? undefined : json['AspectRatio'], + 'productionYear': !exists(json, 'ProductionYear') ? undefined : json['ProductionYear'], + 'isPlaceHolder': !exists(json, 'IsPlaceHolder') ? undefined : json['IsPlaceHolder'], + 'number': !exists(json, 'Number') ? undefined : json['Number'], + 'channelNumber': !exists(json, 'ChannelNumber') ? undefined : json['ChannelNumber'], + 'indexNumber': !exists(json, 'IndexNumber') ? undefined : json['IndexNumber'], + 'indexNumberEnd': !exists(json, 'IndexNumberEnd') ? undefined : json['IndexNumberEnd'], + 'parentIndexNumber': !exists(json, 'ParentIndexNumber') ? undefined : json['ParentIndexNumber'], + 'remoteTrailers': !exists(json, 'RemoteTrailers') ? undefined : (json['RemoteTrailers'] === null ? null : (json['RemoteTrailers'] as Array).map(MediaUrlFromJSON)), + 'providerIds': !exists(json, 'ProviderIds') ? undefined : json['ProviderIds'], + 'isHD': !exists(json, 'IsHD') ? undefined : json['IsHD'], + 'isFolder': !exists(json, 'IsFolder') ? undefined : json['IsFolder'], + 'parentId': !exists(json, 'ParentId') ? undefined : json['ParentId'], + 'type': !exists(json, 'Type') ? undefined : BaseItemKindFromJSON(json['Type']), + 'people': !exists(json, 'People') ? undefined : (json['People'] === null ? null : (json['People'] as Array).map(BaseItemPersonFromJSON)), + 'studios': !exists(json, 'Studios') ? undefined : (json['Studios'] === null ? null : (json['Studios'] as Array).map(NameGuidPairFromJSON)), + 'genreItems': !exists(json, 'GenreItems') ? undefined : (json['GenreItems'] === null ? null : (json['GenreItems'] as Array).map(NameGuidPairFromJSON)), + 'parentLogoItemId': !exists(json, 'ParentLogoItemId') ? undefined : json['ParentLogoItemId'], + 'parentBackdropItemId': !exists(json, 'ParentBackdropItemId') ? undefined : json['ParentBackdropItemId'], + 'parentBackdropImageTags': !exists(json, 'ParentBackdropImageTags') ? undefined : json['ParentBackdropImageTags'], + 'localTrailerCount': !exists(json, 'LocalTrailerCount') ? undefined : json['LocalTrailerCount'], + 'userData': !exists(json, 'UserData') ? undefined : BaseItemDtoUserDataFromJSON(json['UserData']), + 'recursiveItemCount': !exists(json, 'RecursiveItemCount') ? undefined : json['RecursiveItemCount'], + 'childCount': !exists(json, 'ChildCount') ? undefined : json['ChildCount'], + 'seriesName': !exists(json, 'SeriesName') ? undefined : json['SeriesName'], + 'seriesId': !exists(json, 'SeriesId') ? undefined : json['SeriesId'], + 'seasonId': !exists(json, 'SeasonId') ? undefined : json['SeasonId'], + 'specialFeatureCount': !exists(json, 'SpecialFeatureCount') ? undefined : json['SpecialFeatureCount'], + 'displayPreferencesId': !exists(json, 'DisplayPreferencesId') ? undefined : json['DisplayPreferencesId'], + 'status': !exists(json, 'Status') ? undefined : json['Status'], + 'airTime': !exists(json, 'AirTime') ? undefined : json['AirTime'], + 'airDays': !exists(json, 'AirDays') ? undefined : (json['AirDays'] === null ? null : (json['AirDays'] as Array).map(DayOfWeekFromJSON)), + 'tags': !exists(json, 'Tags') ? undefined : json['Tags'], + 'primaryImageAspectRatio': !exists(json, 'PrimaryImageAspectRatio') ? undefined : json['PrimaryImageAspectRatio'], + 'artists': !exists(json, 'Artists') ? undefined : json['Artists'], + 'artistItems': !exists(json, 'ArtistItems') ? undefined : (json['ArtistItems'] === null ? null : (json['ArtistItems'] as Array).map(NameGuidPairFromJSON)), + 'album': !exists(json, 'Album') ? undefined : json['Album'], + 'collectionType': !exists(json, 'CollectionType') ? undefined : json['CollectionType'], + 'displayOrder': !exists(json, 'DisplayOrder') ? undefined : json['DisplayOrder'], + 'albumId': !exists(json, 'AlbumId') ? undefined : json['AlbumId'], + 'albumPrimaryImageTag': !exists(json, 'AlbumPrimaryImageTag') ? undefined : json['AlbumPrimaryImageTag'], + 'seriesPrimaryImageTag': !exists(json, 'SeriesPrimaryImageTag') ? undefined : json['SeriesPrimaryImageTag'], + 'albumArtist': !exists(json, 'AlbumArtist') ? undefined : json['AlbumArtist'], + 'albumArtists': !exists(json, 'AlbumArtists') ? undefined : (json['AlbumArtists'] === null ? null : (json['AlbumArtists'] as Array).map(NameGuidPairFromJSON)), + 'seasonName': !exists(json, 'SeasonName') ? undefined : json['SeasonName'], + 'mediaStreams': !exists(json, 'MediaStreams') ? undefined : (json['MediaStreams'] === null ? null : (json['MediaStreams'] as Array).map(MediaStreamFromJSON)), + 'videoType': !exists(json, 'VideoType') ? undefined : VideoTypeFromJSON(json['VideoType']), + 'partCount': !exists(json, 'PartCount') ? undefined : json['PartCount'], + 'mediaSourceCount': !exists(json, 'MediaSourceCount') ? undefined : json['MediaSourceCount'], + 'imageTags': !exists(json, 'ImageTags') ? undefined : json['ImageTags'], + 'backdropImageTags': !exists(json, 'BackdropImageTags') ? undefined : json['BackdropImageTags'], + 'screenshotImageTags': !exists(json, 'ScreenshotImageTags') ? undefined : json['ScreenshotImageTags'], + 'parentLogoImageTag': !exists(json, 'ParentLogoImageTag') ? undefined : json['ParentLogoImageTag'], + 'parentArtItemId': !exists(json, 'ParentArtItemId') ? undefined : json['ParentArtItemId'], + 'parentArtImageTag': !exists(json, 'ParentArtImageTag') ? undefined : json['ParentArtImageTag'], + 'seriesThumbImageTag': !exists(json, 'SeriesThumbImageTag') ? undefined : json['SeriesThumbImageTag'], + 'imageBlurHashes': !exists(json, 'ImageBlurHashes') ? undefined : BaseItemDtoImageBlurHashesFromJSON(json['ImageBlurHashes']), + 'seriesStudio': !exists(json, 'SeriesStudio') ? undefined : json['SeriesStudio'], + 'parentThumbItemId': !exists(json, 'ParentThumbItemId') ? undefined : json['ParentThumbItemId'], + 'parentThumbImageTag': !exists(json, 'ParentThumbImageTag') ? undefined : json['ParentThumbImageTag'], + 'parentPrimaryImageItemId': !exists(json, 'ParentPrimaryImageItemId') ? undefined : json['ParentPrimaryImageItemId'], + 'parentPrimaryImageTag': !exists(json, 'ParentPrimaryImageTag') ? undefined : json['ParentPrimaryImageTag'], + 'chapters': !exists(json, 'Chapters') ? undefined : (json['Chapters'] === null ? null : (json['Chapters'] as Array).map(ChapterInfoFromJSON)), + 'locationType': !exists(json, 'LocationType') ? undefined : LocationTypeFromJSON(json['LocationType']), + 'isoType': !exists(json, 'IsoType') ? undefined : IsoTypeFromJSON(json['IsoType']), + 'mediaType': !exists(json, 'MediaType') ? undefined : json['MediaType'], + 'endDate': !exists(json, 'EndDate') ? undefined : (json['EndDate'] === null ? null : new Date(json['EndDate'])), + 'lockedFields': !exists(json, 'LockedFields') ? undefined : (json['LockedFields'] === null ? null : (json['LockedFields'] as Array).map(MetadataFieldFromJSON)), + 'trailerCount': !exists(json, 'TrailerCount') ? undefined : json['TrailerCount'], + 'movieCount': !exists(json, 'MovieCount') ? undefined : json['MovieCount'], + 'seriesCount': !exists(json, 'SeriesCount') ? undefined : json['SeriesCount'], + 'programCount': !exists(json, 'ProgramCount') ? undefined : json['ProgramCount'], + 'episodeCount': !exists(json, 'EpisodeCount') ? undefined : json['EpisodeCount'], + 'songCount': !exists(json, 'SongCount') ? undefined : json['SongCount'], + 'albumCount': !exists(json, 'AlbumCount') ? undefined : json['AlbumCount'], + 'artistCount': !exists(json, 'ArtistCount') ? undefined : json['ArtistCount'], + 'musicVideoCount': !exists(json, 'MusicVideoCount') ? undefined : json['MusicVideoCount'], + 'lockData': !exists(json, 'LockData') ? undefined : json['LockData'], + 'width': !exists(json, 'Width') ? undefined : json['Width'], + 'height': !exists(json, 'Height') ? undefined : json['Height'], + 'cameraMake': !exists(json, 'CameraMake') ? undefined : json['CameraMake'], + 'cameraModel': !exists(json, 'CameraModel') ? undefined : json['CameraModel'], + 'software': !exists(json, 'Software') ? undefined : json['Software'], + 'exposureTime': !exists(json, 'ExposureTime') ? undefined : json['ExposureTime'], + 'focalLength': !exists(json, 'FocalLength') ? undefined : json['FocalLength'], + 'imageOrientation': !exists(json, 'ImageOrientation') ? undefined : ImageOrientationFromJSON(json['ImageOrientation']), + 'aperture': !exists(json, 'Aperture') ? undefined : json['Aperture'], + 'shutterSpeed': !exists(json, 'ShutterSpeed') ? undefined : json['ShutterSpeed'], + 'latitude': !exists(json, 'Latitude') ? undefined : json['Latitude'], + 'longitude': !exists(json, 'Longitude') ? undefined : json['Longitude'], + 'altitude': !exists(json, 'Altitude') ? undefined : json['Altitude'], + 'isoSpeedRating': !exists(json, 'IsoSpeedRating') ? undefined : json['IsoSpeedRating'], + 'seriesTimerId': !exists(json, 'SeriesTimerId') ? undefined : json['SeriesTimerId'], + 'programId': !exists(json, 'ProgramId') ? undefined : json['ProgramId'], + 'channelPrimaryImageTag': !exists(json, 'ChannelPrimaryImageTag') ? undefined : json['ChannelPrimaryImageTag'], + 'startDate': !exists(json, 'StartDate') ? undefined : (json['StartDate'] === null ? null : new Date(json['StartDate'])), + 'completionPercentage': !exists(json, 'CompletionPercentage') ? undefined : json['CompletionPercentage'], + 'isRepeat': !exists(json, 'IsRepeat') ? undefined : json['IsRepeat'], + 'episodeTitle': !exists(json, 'EpisodeTitle') ? undefined : json['EpisodeTitle'], + 'channelType': !exists(json, 'ChannelType') ? undefined : ChannelTypeFromJSON(json['ChannelType']), + 'audio': !exists(json, 'Audio') ? undefined : ProgramAudioFromJSON(json['Audio']), + 'isMovie': !exists(json, 'IsMovie') ? undefined : json['IsMovie'], + 'isSports': !exists(json, 'IsSports') ? undefined : json['IsSports'], + 'isSeries': !exists(json, 'IsSeries') ? undefined : json['IsSeries'], + 'isLive': !exists(json, 'IsLive') ? undefined : json['IsLive'], + 'isNews': !exists(json, 'IsNews') ? undefined : json['IsNews'], + 'isKids': !exists(json, 'IsKids') ? undefined : json['IsKids'], + 'isPremiere': !exists(json, 'IsPremiere') ? undefined : json['IsPremiere'], + 'timerId': !exists(json, 'TimerId') ? undefined : json['TimerId'], + 'currentProgram': !exists(json, 'CurrentProgram') ? undefined : BaseItemDtoCurrentProgramFromJSON(json['CurrentProgram']), + }; +} + +export function TimerInfoDtoProgramInfoToJSON(value?: TimerInfoDtoProgramInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'OriginalTitle': value.originalTitle, + 'ServerId': value.serverId, + 'Id': value.id, + 'Etag': value.etag, + 'SourceType': value.sourceType, + 'PlaylistItemId': value.playlistItemId, + 'DateCreated': value.dateCreated === undefined ? undefined : (value.dateCreated === null ? null : value.dateCreated.toISOString()), + 'DateLastMediaAdded': value.dateLastMediaAdded === undefined ? undefined : (value.dateLastMediaAdded === null ? null : value.dateLastMediaAdded.toISOString()), + 'ExtraType': value.extraType, + 'AirsBeforeSeasonNumber': value.airsBeforeSeasonNumber, + 'AirsAfterSeasonNumber': value.airsAfterSeasonNumber, + 'AirsBeforeEpisodeNumber': value.airsBeforeEpisodeNumber, + 'CanDelete': value.canDelete, + 'CanDownload': value.canDownload, + 'HasSubtitles': value.hasSubtitles, + 'PreferredMetadataLanguage': value.preferredMetadataLanguage, + 'PreferredMetadataCountryCode': value.preferredMetadataCountryCode, + 'SupportsSync': value.supportsSync, + 'Container': value.container, + 'SortName': value.sortName, + 'ForcedSortName': value.forcedSortName, + 'Video3DFormat': Video3DFormatToJSON(value.video3DFormat), + 'PremiereDate': value.premiereDate === undefined ? undefined : (value.premiereDate === null ? null : value.premiereDate.toISOString()), + 'ExternalUrls': value.externalUrls === undefined ? undefined : (value.externalUrls === null ? null : (value.externalUrls as Array).map(ExternalUrlToJSON)), + 'MediaSources': value.mediaSources === undefined ? undefined : (value.mediaSources === null ? null : (value.mediaSources as Array).map(MediaSourceInfoToJSON)), + 'CriticRating': value.criticRating, + 'ProductionLocations': value.productionLocations, + 'Path': value.path, + 'EnableMediaSourceDisplay': value.enableMediaSourceDisplay, + 'OfficialRating': value.officialRating, + 'CustomRating': value.customRating, + 'ChannelId': value.channelId, + 'ChannelName': value.channelName, + 'Overview': value.overview, + 'Taglines': value.taglines, + 'Genres': value.genres, + 'CommunityRating': value.communityRating, + 'CumulativeRunTimeTicks': value.cumulativeRunTimeTicks, + 'RunTimeTicks': value.runTimeTicks, + 'PlayAccess': PlayAccessToJSON(value.playAccess), + 'AspectRatio': value.aspectRatio, + 'ProductionYear': value.productionYear, + 'IsPlaceHolder': value.isPlaceHolder, + 'Number': value.number, + 'ChannelNumber': value.channelNumber, + 'IndexNumber': value.indexNumber, + 'IndexNumberEnd': value.indexNumberEnd, + 'ParentIndexNumber': value.parentIndexNumber, + 'RemoteTrailers': value.remoteTrailers === undefined ? undefined : (value.remoteTrailers === null ? null : (value.remoteTrailers as Array).map(MediaUrlToJSON)), + 'ProviderIds': value.providerIds, + 'IsHD': value.isHD, + 'IsFolder': value.isFolder, + 'ParentId': value.parentId, + 'Type': BaseItemKindToJSON(value.type), + 'People': value.people === undefined ? undefined : (value.people === null ? null : (value.people as Array).map(BaseItemPersonToJSON)), + 'Studios': value.studios === undefined ? undefined : (value.studios === null ? null : (value.studios as Array).map(NameGuidPairToJSON)), + 'GenreItems': value.genreItems === undefined ? undefined : (value.genreItems === null ? null : (value.genreItems as Array).map(NameGuidPairToJSON)), + 'ParentLogoItemId': value.parentLogoItemId, + 'ParentBackdropItemId': value.parentBackdropItemId, + 'ParentBackdropImageTags': value.parentBackdropImageTags, + 'LocalTrailerCount': value.localTrailerCount, + 'UserData': BaseItemDtoUserDataToJSON(value.userData), + 'RecursiveItemCount': value.recursiveItemCount, + 'ChildCount': value.childCount, + 'SeriesName': value.seriesName, + 'SeriesId': value.seriesId, + 'SeasonId': value.seasonId, + 'SpecialFeatureCount': value.specialFeatureCount, + 'DisplayPreferencesId': value.displayPreferencesId, + 'Status': value.status, + 'AirTime': value.airTime, + 'AirDays': value.airDays === undefined ? undefined : (value.airDays === null ? null : (value.airDays as Array).map(DayOfWeekToJSON)), + 'Tags': value.tags, + 'PrimaryImageAspectRatio': value.primaryImageAspectRatio, + 'Artists': value.artists, + 'ArtistItems': value.artistItems === undefined ? undefined : (value.artistItems === null ? null : (value.artistItems as Array).map(NameGuidPairToJSON)), + 'Album': value.album, + 'CollectionType': value.collectionType, + 'DisplayOrder': value.displayOrder, + 'AlbumId': value.albumId, + 'AlbumPrimaryImageTag': value.albumPrimaryImageTag, + 'SeriesPrimaryImageTag': value.seriesPrimaryImageTag, + 'AlbumArtist': value.albumArtist, + 'AlbumArtists': value.albumArtists === undefined ? undefined : (value.albumArtists === null ? null : (value.albumArtists as Array).map(NameGuidPairToJSON)), + 'SeasonName': value.seasonName, + 'MediaStreams': value.mediaStreams === undefined ? undefined : (value.mediaStreams === null ? null : (value.mediaStreams as Array).map(MediaStreamToJSON)), + 'VideoType': VideoTypeToJSON(value.videoType), + 'PartCount': value.partCount, + 'MediaSourceCount': value.mediaSourceCount, + 'ImageTags': value.imageTags, + 'BackdropImageTags': value.backdropImageTags, + 'ScreenshotImageTags': value.screenshotImageTags, + 'ParentLogoImageTag': value.parentLogoImageTag, + 'ParentArtItemId': value.parentArtItemId, + 'ParentArtImageTag': value.parentArtImageTag, + 'SeriesThumbImageTag': value.seriesThumbImageTag, + 'ImageBlurHashes': BaseItemDtoImageBlurHashesToJSON(value.imageBlurHashes), + 'SeriesStudio': value.seriesStudio, + 'ParentThumbItemId': value.parentThumbItemId, + 'ParentThumbImageTag': value.parentThumbImageTag, + 'ParentPrimaryImageItemId': value.parentPrimaryImageItemId, + 'ParentPrimaryImageTag': value.parentPrimaryImageTag, + 'Chapters': value.chapters === undefined ? undefined : (value.chapters === null ? null : (value.chapters as Array).map(ChapterInfoToJSON)), + 'LocationType': LocationTypeToJSON(value.locationType), + 'IsoType': IsoTypeToJSON(value.isoType), + 'MediaType': value.mediaType, + 'EndDate': value.endDate === undefined ? undefined : (value.endDate === null ? null : value.endDate.toISOString()), + 'LockedFields': value.lockedFields === undefined ? undefined : (value.lockedFields === null ? null : (value.lockedFields as Array).map(MetadataFieldToJSON)), + 'TrailerCount': value.trailerCount, + 'MovieCount': value.movieCount, + 'SeriesCount': value.seriesCount, + 'ProgramCount': value.programCount, + 'EpisodeCount': value.episodeCount, + 'SongCount': value.songCount, + 'AlbumCount': value.albumCount, + 'ArtistCount': value.artistCount, + 'MusicVideoCount': value.musicVideoCount, + 'LockData': value.lockData, + 'Width': value.width, + 'Height': value.height, + 'CameraMake': value.cameraMake, + 'CameraModel': value.cameraModel, + 'Software': value.software, + 'ExposureTime': value.exposureTime, + 'FocalLength': value.focalLength, + 'ImageOrientation': ImageOrientationToJSON(value.imageOrientation), + 'Aperture': value.aperture, + 'ShutterSpeed': value.shutterSpeed, + 'Latitude': value.latitude, + 'Longitude': value.longitude, + 'Altitude': value.altitude, + 'IsoSpeedRating': value.isoSpeedRating, + 'SeriesTimerId': value.seriesTimerId, + 'ProgramId': value.programId, + 'ChannelPrimaryImageTag': value.channelPrimaryImageTag, + 'StartDate': value.startDate === undefined ? undefined : (value.startDate === null ? null : value.startDate.toISOString()), + 'CompletionPercentage': value.completionPercentage, + 'IsRepeat': value.isRepeat, + 'EpisodeTitle': value.episodeTitle, + 'ChannelType': ChannelTypeToJSON(value.channelType), + 'Audio': ProgramAudioToJSON(value.audio), + 'IsMovie': value.isMovie, + 'IsSports': value.isSports, + 'IsSeries': value.isSeries, + 'IsLive': value.isLive, + 'IsNews': value.isNews, + 'IsKids': value.isKids, + 'IsPremiere': value.isPremiere, + 'TimerId': value.timerId, + 'CurrentProgram': BaseItemDtoCurrentProgramToJSON(value.currentProgram), + }; +} + diff --git a/server/jellyfin/models/TimerInfoDtoQueryResult.ts b/server/jellyfin/models/TimerInfoDtoQueryResult.ts new file mode 100644 index 0000000..d0cde20 --- /dev/null +++ b/server/jellyfin/models/TimerInfoDtoQueryResult.ts @@ -0,0 +1,88 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { TimerInfoDto } from './TimerInfoDto'; +import { + TimerInfoDtoFromJSON, + TimerInfoDtoFromJSONTyped, + TimerInfoDtoToJSON, +} from './TimerInfoDto'; + +/** + * + * @export + * @interface TimerInfoDtoQueryResult + */ +export interface TimerInfoDtoQueryResult { + /** + * Gets or sets the items. + * @type {Array} + * @memberof TimerInfoDtoQueryResult + */ + items?: Array | null; + /** + * Gets or sets the total number of records available. + * @type {number} + * @memberof TimerInfoDtoQueryResult + */ + totalRecordCount?: number; + /** + * Gets or sets the index of the first record in Items. + * @type {number} + * @memberof TimerInfoDtoQueryResult + */ + startIndex?: number; +} + +/** + * Check if a given object implements the TimerInfoDtoQueryResult interface. + */ +export function instanceOfTimerInfoDtoQueryResult(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function TimerInfoDtoQueryResultFromJSON(json: any): TimerInfoDtoQueryResult { + return TimerInfoDtoQueryResultFromJSONTyped(json, false); +} + +export function TimerInfoDtoQueryResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): TimerInfoDtoQueryResult { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'items': !exists(json, 'Items') ? undefined : (json['Items'] === null ? null : (json['Items'] as Array).map(TimerInfoDtoFromJSON)), + 'totalRecordCount': !exists(json, 'TotalRecordCount') ? undefined : json['TotalRecordCount'], + 'startIndex': !exists(json, 'StartIndex') ? undefined : json['StartIndex'], + }; +} + +export function TimerInfoDtoQueryResultToJSON(value?: TimerInfoDtoQueryResult | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Items': value.items === undefined ? undefined : (value.items === null ? null : (value.items as Array).map(TimerInfoDtoToJSON)), + 'TotalRecordCount': value.totalRecordCount, + 'StartIndex': value.startIndex, + }; +} + diff --git a/server/jellyfin/models/TrailerInfo.ts b/server/jellyfin/models/TrailerInfo.ts new file mode 100644 index 0000000..068f855 --- /dev/null +++ b/server/jellyfin/models/TrailerInfo.ts @@ -0,0 +1,145 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface TrailerInfo + */ +export interface TrailerInfo { + /** + * Gets or sets the name. + * @type {string} + * @memberof TrailerInfo + */ + name?: string | null; + /** + * Gets or sets the original title. + * @type {string} + * @memberof TrailerInfo + */ + originalTitle?: string | null; + /** + * Gets or sets the path. + * @type {string} + * @memberof TrailerInfo + */ + path?: string | null; + /** + * Gets or sets the metadata language. + * @type {string} + * @memberof TrailerInfo + */ + metadataLanguage?: string | null; + /** + * Gets or sets the metadata country code. + * @type {string} + * @memberof TrailerInfo + */ + metadataCountryCode?: string | null; + /** + * Gets or sets the provider ids. + * @type {{ [key: string]: string; }} + * @memberof TrailerInfo + */ + providerIds?: { [key: string]: string; } | null; + /** + * Gets or sets the year. + * @type {number} + * @memberof TrailerInfo + */ + year?: number | null; + /** + * + * @type {number} + * @memberof TrailerInfo + */ + indexNumber?: number | null; + /** + * + * @type {number} + * @memberof TrailerInfo + */ + parentIndexNumber?: number | null; + /** + * + * @type {Date} + * @memberof TrailerInfo + */ + premiereDate?: Date | null; + /** + * + * @type {boolean} + * @memberof TrailerInfo + */ + isAutomated?: boolean; +} + +/** + * Check if a given object implements the TrailerInfo interface. + */ +export function instanceOfTrailerInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function TrailerInfoFromJSON(json: any): TrailerInfo { + return TrailerInfoFromJSONTyped(json, false); +} + +export function TrailerInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): TrailerInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'originalTitle': !exists(json, 'OriginalTitle') ? undefined : json['OriginalTitle'], + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'metadataLanguage': !exists(json, 'MetadataLanguage') ? undefined : json['MetadataLanguage'], + 'metadataCountryCode': !exists(json, 'MetadataCountryCode') ? undefined : json['MetadataCountryCode'], + 'providerIds': !exists(json, 'ProviderIds') ? undefined : json['ProviderIds'], + 'year': !exists(json, 'Year') ? undefined : json['Year'], + 'indexNumber': !exists(json, 'IndexNumber') ? undefined : json['IndexNumber'], + 'parentIndexNumber': !exists(json, 'ParentIndexNumber') ? undefined : json['ParentIndexNumber'], + 'premiereDate': !exists(json, 'PremiereDate') ? undefined : (json['PremiereDate'] === null ? null : new Date(json['PremiereDate'])), + 'isAutomated': !exists(json, 'IsAutomated') ? undefined : json['IsAutomated'], + }; +} + +export function TrailerInfoToJSON(value?: TrailerInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'OriginalTitle': value.originalTitle, + 'Path': value.path, + 'MetadataLanguage': value.metadataLanguage, + 'MetadataCountryCode': value.metadataCountryCode, + 'ProviderIds': value.providerIds, + 'Year': value.year, + 'IndexNumber': value.indexNumber, + 'ParentIndexNumber': value.parentIndexNumber, + 'PremiereDate': value.premiereDate === undefined ? undefined : (value.premiereDate === null ? null : value.premiereDate.toISOString()), + 'IsAutomated': value.isAutomated, + }; +} + diff --git a/server/jellyfin/models/TrailerInfoRemoteSearchQuery.ts b/server/jellyfin/models/TrailerInfoRemoteSearchQuery.ts new file mode 100644 index 0000000..e4f7654 --- /dev/null +++ b/server/jellyfin/models/TrailerInfoRemoteSearchQuery.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { TrailerInfo } from './TrailerInfo'; +import { + TrailerInfoFromJSON, + TrailerInfoFromJSONTyped, + TrailerInfoToJSON, +} from './TrailerInfo'; + +/** + * + * @export + * @interface TrailerInfoRemoteSearchQuery + */ +export interface TrailerInfoRemoteSearchQuery { + /** + * + * @type {TrailerInfo} + * @memberof TrailerInfoRemoteSearchQuery + */ + searchInfo?: TrailerInfo | null; + /** + * + * @type {string} + * @memberof TrailerInfoRemoteSearchQuery + */ + itemId?: string; + /** + * Gets or sets the provider name to search within if set. + * @type {string} + * @memberof TrailerInfoRemoteSearchQuery + */ + searchProviderName?: string | null; + /** + * Gets or sets a value indicating whether disabled providers should be included. + * @type {boolean} + * @memberof TrailerInfoRemoteSearchQuery + */ + includeDisabledProviders?: boolean; +} + +/** + * Check if a given object implements the TrailerInfoRemoteSearchQuery interface. + */ +export function instanceOfTrailerInfoRemoteSearchQuery(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function TrailerInfoRemoteSearchQueryFromJSON(json: any): TrailerInfoRemoteSearchQuery { + return TrailerInfoRemoteSearchQueryFromJSONTyped(json, false); +} + +export function TrailerInfoRemoteSearchQueryFromJSONTyped(json: any, ignoreDiscriminator: boolean): TrailerInfoRemoteSearchQuery { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'searchInfo': !exists(json, 'SearchInfo') ? undefined : TrailerInfoFromJSON(json['SearchInfo']), + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'searchProviderName': !exists(json, 'SearchProviderName') ? undefined : json['SearchProviderName'], + 'includeDisabledProviders': !exists(json, 'IncludeDisabledProviders') ? undefined : json['IncludeDisabledProviders'], + }; +} + +export function TrailerInfoRemoteSearchQueryToJSON(value?: TrailerInfoRemoteSearchQuery | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'SearchInfo': TrailerInfoToJSON(value.searchInfo), + 'ItemId': value.itemId, + 'SearchProviderName': value.searchProviderName, + 'IncludeDisabledProviders': value.includeDisabledProviders, + }; +} + diff --git a/server/jellyfin/models/TranscodeReason.ts b/server/jellyfin/models/TranscodeReason.ts new file mode 100644 index 0000000..0c40f2a --- /dev/null +++ b/server/jellyfin/models/TranscodeReason.ts @@ -0,0 +1,61 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const TranscodeReason = { + ContainerNotSupported: 'ContainerNotSupported', + VideoCodecNotSupported: 'VideoCodecNotSupported', + AudioCodecNotSupported: 'AudioCodecNotSupported', + SubtitleCodecNotSupported: 'SubtitleCodecNotSupported', + AudioIsExternal: 'AudioIsExternal', + SecondaryAudioNotSupported: 'SecondaryAudioNotSupported', + VideoProfileNotSupported: 'VideoProfileNotSupported', + VideoLevelNotSupported: 'VideoLevelNotSupported', + VideoResolutionNotSupported: 'VideoResolutionNotSupported', + VideoBitDepthNotSupported: 'VideoBitDepthNotSupported', + VideoFramerateNotSupported: 'VideoFramerateNotSupported', + RefFramesNotSupported: 'RefFramesNotSupported', + AnamorphicVideoNotSupported: 'AnamorphicVideoNotSupported', + InterlacedVideoNotSupported: 'InterlacedVideoNotSupported', + AudioChannelsNotSupported: 'AudioChannelsNotSupported', + AudioProfileNotSupported: 'AudioProfileNotSupported', + AudioSampleRateNotSupported: 'AudioSampleRateNotSupported', + AudioBitDepthNotSupported: 'AudioBitDepthNotSupported', + ContainerBitrateExceedsLimit: 'ContainerBitrateExceedsLimit', + VideoBitrateNotSupported: 'VideoBitrateNotSupported', + AudioBitrateNotSupported: 'AudioBitrateNotSupported', + UnknownVideoStreamInfo: 'UnknownVideoStreamInfo', + UnknownAudioStreamInfo: 'UnknownAudioStreamInfo', + DirectPlayError: 'DirectPlayError', + VideoRangeTypeNotSupported: 'VideoRangeTypeNotSupported' +} as const; +export type TranscodeReason = typeof TranscodeReason[keyof typeof TranscodeReason]; + + +export function TranscodeReasonFromJSON(json: any): TranscodeReason { + return TranscodeReasonFromJSONTyped(json, false); +} + +export function TranscodeReasonFromJSONTyped(json: any, ignoreDiscriminator: boolean): TranscodeReason { + return json as TranscodeReason; +} + +export function TranscodeReasonToJSON(value?: TranscodeReason | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/TranscodeSeekInfo.ts b/server/jellyfin/models/TranscodeSeekInfo.ts new file mode 100644 index 0000000..1e01b00 --- /dev/null +++ b/server/jellyfin/models/TranscodeSeekInfo.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const TranscodeSeekInfo = { + Auto: 'Auto', + Bytes: 'Bytes' +} as const; +export type TranscodeSeekInfo = typeof TranscodeSeekInfo[keyof typeof TranscodeSeekInfo]; + + +export function TranscodeSeekInfoFromJSON(json: any): TranscodeSeekInfo { + return TranscodeSeekInfoFromJSONTyped(json, false); +} + +export function TranscodeSeekInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): TranscodeSeekInfo { + return json as TranscodeSeekInfo; +} + +export function TranscodeSeekInfoToJSON(value?: TranscodeSeekInfo | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/TranscodingInfo.ts b/server/jellyfin/models/TranscodingInfo.ts new file mode 100644 index 0000000..f080da4 --- /dev/null +++ b/server/jellyfin/models/TranscodingInfo.ts @@ -0,0 +1,174 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { HardwareEncodingType } from './HardwareEncodingType'; +import { + HardwareEncodingTypeFromJSON, + HardwareEncodingTypeFromJSONTyped, + HardwareEncodingTypeToJSON, +} from './HardwareEncodingType'; +import type { TranscodeReason } from './TranscodeReason'; +import { + TranscodeReasonFromJSON, + TranscodeReasonFromJSONTyped, + TranscodeReasonToJSON, +} from './TranscodeReason'; + +/** + * + * @export + * @interface TranscodingInfo + */ +export interface TranscodingInfo { + /** + * + * @type {string} + * @memberof TranscodingInfo + */ + audioCodec?: string | null; + /** + * + * @type {string} + * @memberof TranscodingInfo + */ + videoCodec?: string | null; + /** + * + * @type {string} + * @memberof TranscodingInfo + */ + container?: string | null; + /** + * + * @type {boolean} + * @memberof TranscodingInfo + */ + isVideoDirect?: boolean; + /** + * + * @type {boolean} + * @memberof TranscodingInfo + */ + isAudioDirect?: boolean; + /** + * + * @type {number} + * @memberof TranscodingInfo + */ + bitrate?: number | null; + /** + * + * @type {number} + * @memberof TranscodingInfo + */ + framerate?: number | null; + /** + * + * @type {number} + * @memberof TranscodingInfo + */ + completionPercentage?: number | null; + /** + * + * @type {number} + * @memberof TranscodingInfo + */ + width?: number | null; + /** + * + * @type {number} + * @memberof TranscodingInfo + */ + height?: number | null; + /** + * + * @type {number} + * @memberof TranscodingInfo + */ + audioChannels?: number | null; + /** + * + * @type {HardwareEncodingType} + * @memberof TranscodingInfo + */ + hardwareAccelerationType?: HardwareEncodingType | null; + /** + * + * @type {Array} + * @memberof TranscodingInfo + */ + transcodeReasons?: Array; +} + +/** + * Check if a given object implements the TranscodingInfo interface. + */ +export function instanceOfTranscodingInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function TranscodingInfoFromJSON(json: any): TranscodingInfo { + return TranscodingInfoFromJSONTyped(json, false); +} + +export function TranscodingInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): TranscodingInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'audioCodec': !exists(json, 'AudioCodec') ? undefined : json['AudioCodec'], + 'videoCodec': !exists(json, 'VideoCodec') ? undefined : json['VideoCodec'], + 'container': !exists(json, 'Container') ? undefined : json['Container'], + 'isVideoDirect': !exists(json, 'IsVideoDirect') ? undefined : json['IsVideoDirect'], + 'isAudioDirect': !exists(json, 'IsAudioDirect') ? undefined : json['IsAudioDirect'], + 'bitrate': !exists(json, 'Bitrate') ? undefined : json['Bitrate'], + 'framerate': !exists(json, 'Framerate') ? undefined : json['Framerate'], + 'completionPercentage': !exists(json, 'CompletionPercentage') ? undefined : json['CompletionPercentage'], + 'width': !exists(json, 'Width') ? undefined : json['Width'], + 'height': !exists(json, 'Height') ? undefined : json['Height'], + 'audioChannels': !exists(json, 'AudioChannels') ? undefined : json['AudioChannels'], + 'hardwareAccelerationType': !exists(json, 'HardwareAccelerationType') ? undefined : HardwareEncodingTypeFromJSON(json['HardwareAccelerationType']), + 'transcodeReasons': !exists(json, 'TranscodeReasons') ? undefined : ((json['TranscodeReasons'] as Array).map(TranscodeReasonFromJSON)), + }; +} + +export function TranscodingInfoToJSON(value?: TranscodingInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'AudioCodec': value.audioCodec, + 'VideoCodec': value.videoCodec, + 'Container': value.container, + 'IsVideoDirect': value.isVideoDirect, + 'IsAudioDirect': value.isAudioDirect, + 'Bitrate': value.bitrate, + 'Framerate': value.framerate, + 'CompletionPercentage': value.completionPercentage, + 'Width': value.width, + 'Height': value.height, + 'AudioChannels': value.audioChannels, + 'HardwareAccelerationType': HardwareEncodingTypeToJSON(value.hardwareAccelerationType), + 'TranscodeReasons': value.transcodeReasons === undefined ? undefined : ((value.transcodeReasons as Array).map(TranscodeReasonToJSON)), + }; +} + diff --git a/server/jellyfin/models/TranscodingProfile.ts b/server/jellyfin/models/TranscodingProfile.ts new file mode 100644 index 0000000..fe9bb1c --- /dev/null +++ b/server/jellyfin/models/TranscodingProfile.ts @@ -0,0 +1,210 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { DlnaProfileType } from './DlnaProfileType'; +import { + DlnaProfileTypeFromJSON, + DlnaProfileTypeFromJSONTyped, + DlnaProfileTypeToJSON, +} from './DlnaProfileType'; +import type { EncodingContext } from './EncodingContext'; +import { + EncodingContextFromJSON, + EncodingContextFromJSONTyped, + EncodingContextToJSON, +} from './EncodingContext'; +import type { ProfileCondition } from './ProfileCondition'; +import { + ProfileConditionFromJSON, + ProfileConditionFromJSONTyped, + ProfileConditionToJSON, +} from './ProfileCondition'; +import type { TranscodeSeekInfo } from './TranscodeSeekInfo'; +import { + TranscodeSeekInfoFromJSON, + TranscodeSeekInfoFromJSONTyped, + TranscodeSeekInfoToJSON, +} from './TranscodeSeekInfo'; + +/** + * + * @export + * @interface TranscodingProfile + */ +export interface TranscodingProfile { + /** + * + * @type {string} + * @memberof TranscodingProfile + */ + container?: string; + /** + * + * @type {DlnaProfileType} + * @memberof TranscodingProfile + */ + type?: DlnaProfileType; + /** + * + * @type {string} + * @memberof TranscodingProfile + */ + videoCodec?: string; + /** + * + * @type {string} + * @memberof TranscodingProfile + */ + audioCodec?: string; + /** + * + * @type {string} + * @memberof TranscodingProfile + */ + protocol?: string; + /** + * + * @type {boolean} + * @memberof TranscodingProfile + */ + estimateContentLength?: boolean; + /** + * + * @type {boolean} + * @memberof TranscodingProfile + */ + enableMpegtsM2TsMode?: boolean; + /** + * + * @type {TranscodeSeekInfo} + * @memberof TranscodingProfile + */ + transcodeSeekInfo?: TranscodeSeekInfo; + /** + * + * @type {boolean} + * @memberof TranscodingProfile + */ + copyTimestamps?: boolean; + /** + * + * @type {EncodingContext} + * @memberof TranscodingProfile + */ + context?: EncodingContext; + /** + * + * @type {boolean} + * @memberof TranscodingProfile + */ + enableSubtitlesInManifest?: boolean; + /** + * + * @type {string} + * @memberof TranscodingProfile + */ + maxAudioChannels?: string | null; + /** + * + * @type {number} + * @memberof TranscodingProfile + */ + minSegments?: number; + /** + * + * @type {number} + * @memberof TranscodingProfile + */ + segmentLength?: number; + /** + * + * @type {boolean} + * @memberof TranscodingProfile + */ + breakOnNonKeyFrames?: boolean; + /** + * + * @type {Array} + * @memberof TranscodingProfile + */ + conditions?: Array; +} + +/** + * Check if a given object implements the TranscodingProfile interface. + */ +export function instanceOfTranscodingProfile(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function TranscodingProfileFromJSON(json: any): TranscodingProfile { + return TranscodingProfileFromJSONTyped(json, false); +} + +export function TranscodingProfileFromJSONTyped(json: any, ignoreDiscriminator: boolean): TranscodingProfile { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'container': !exists(json, 'Container') ? undefined : json['Container'], + 'type': !exists(json, 'Type') ? undefined : DlnaProfileTypeFromJSON(json['Type']), + 'videoCodec': !exists(json, 'VideoCodec') ? undefined : json['VideoCodec'], + 'audioCodec': !exists(json, 'AudioCodec') ? undefined : json['AudioCodec'], + 'protocol': !exists(json, 'Protocol') ? undefined : json['Protocol'], + 'estimateContentLength': !exists(json, 'EstimateContentLength') ? undefined : json['EstimateContentLength'], + 'enableMpegtsM2TsMode': !exists(json, 'EnableMpegtsM2TsMode') ? undefined : json['EnableMpegtsM2TsMode'], + 'transcodeSeekInfo': !exists(json, 'TranscodeSeekInfo') ? undefined : TranscodeSeekInfoFromJSON(json['TranscodeSeekInfo']), + 'copyTimestamps': !exists(json, 'CopyTimestamps') ? undefined : json['CopyTimestamps'], + 'context': !exists(json, 'Context') ? undefined : EncodingContextFromJSON(json['Context']), + 'enableSubtitlesInManifest': !exists(json, 'EnableSubtitlesInManifest') ? undefined : json['EnableSubtitlesInManifest'], + 'maxAudioChannels': !exists(json, 'MaxAudioChannels') ? undefined : json['MaxAudioChannels'], + 'minSegments': !exists(json, 'MinSegments') ? undefined : json['MinSegments'], + 'segmentLength': !exists(json, 'SegmentLength') ? undefined : json['SegmentLength'], + 'breakOnNonKeyFrames': !exists(json, 'BreakOnNonKeyFrames') ? undefined : json['BreakOnNonKeyFrames'], + 'conditions': !exists(json, 'Conditions') ? undefined : ((json['Conditions'] as Array).map(ProfileConditionFromJSON)), + }; +} + +export function TranscodingProfileToJSON(value?: TranscodingProfile | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Container': value.container, + 'Type': DlnaProfileTypeToJSON(value.type), + 'VideoCodec': value.videoCodec, + 'AudioCodec': value.audioCodec, + 'Protocol': value.protocol, + 'EstimateContentLength': value.estimateContentLength, + 'EnableMpegtsM2TsMode': value.enableMpegtsM2TsMode, + 'TranscodeSeekInfo': TranscodeSeekInfoToJSON(value.transcodeSeekInfo), + 'CopyTimestamps': value.copyTimestamps, + 'Context': EncodingContextToJSON(value.context), + 'EnableSubtitlesInManifest': value.enableSubtitlesInManifest, + 'MaxAudioChannels': value.maxAudioChannels, + 'MinSegments': value.minSegments, + 'SegmentLength': value.segmentLength, + 'BreakOnNonKeyFrames': value.breakOnNonKeyFrames, + 'Conditions': value.conditions === undefined ? undefined : ((value.conditions as Array).map(ProfileConditionToJSON)), + }; +} + diff --git a/server/jellyfin/models/TransportStreamTimestamp.ts b/server/jellyfin/models/TransportStreamTimestamp.ts new file mode 100644 index 0000000..4da39c0 --- /dev/null +++ b/server/jellyfin/models/TransportStreamTimestamp.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const TransportStreamTimestamp = { + None: 'None', + Zero: 'Zero', + Valid: 'Valid' +} as const; +export type TransportStreamTimestamp = typeof TransportStreamTimestamp[keyof typeof TransportStreamTimestamp]; + + +export function TransportStreamTimestampFromJSON(json: any): TransportStreamTimestamp { + return TransportStreamTimestampFromJSONTyped(json, false); +} + +export function TransportStreamTimestampFromJSONTyped(json: any, ignoreDiscriminator: boolean): TransportStreamTimestamp { + return json as TransportStreamTimestamp; +} + +export function TransportStreamTimestampToJSON(value?: TransportStreamTimestamp | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/TunerChannelMapping.ts b/server/jellyfin/models/TunerChannelMapping.ts new file mode 100644 index 0000000..66d809b --- /dev/null +++ b/server/jellyfin/models/TunerChannelMapping.ts @@ -0,0 +1,89 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface TunerChannelMapping + */ +export interface TunerChannelMapping { + /** + * + * @type {string} + * @memberof TunerChannelMapping + */ + name?: string | null; + /** + * + * @type {string} + * @memberof TunerChannelMapping + */ + providerChannelName?: string | null; + /** + * + * @type {string} + * @memberof TunerChannelMapping + */ + providerChannelId?: string | null; + /** + * + * @type {string} + * @memberof TunerChannelMapping + */ + id?: string | null; +} + +/** + * Check if a given object implements the TunerChannelMapping interface. + */ +export function instanceOfTunerChannelMapping(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function TunerChannelMappingFromJSON(json: any): TunerChannelMapping { + return TunerChannelMappingFromJSONTyped(json, false); +} + +export function TunerChannelMappingFromJSONTyped(json: any, ignoreDiscriminator: boolean): TunerChannelMapping { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'providerChannelName': !exists(json, 'ProviderChannelName') ? undefined : json['ProviderChannelName'], + 'providerChannelId': !exists(json, 'ProviderChannelId') ? undefined : json['ProviderChannelId'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + }; +} + +export function TunerChannelMappingToJSON(value?: TunerChannelMapping | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'ProviderChannelName': value.providerChannelName, + 'ProviderChannelId': value.providerChannelId, + 'Id': value.id, + }; +} + diff --git a/server/jellyfin/models/TunerHostInfo.ts b/server/jellyfin/models/TunerHostInfo.ts new file mode 100644 index 0000000..156a170 --- /dev/null +++ b/server/jellyfin/models/TunerHostInfo.ts @@ -0,0 +1,145 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface TunerHostInfo + */ +export interface TunerHostInfo { + /** + * + * @type {string} + * @memberof TunerHostInfo + */ + id?: string | null; + /** + * + * @type {string} + * @memberof TunerHostInfo + */ + url?: string | null; + /** + * + * @type {string} + * @memberof TunerHostInfo + */ + type?: string | null; + /** + * + * @type {string} + * @memberof TunerHostInfo + */ + deviceId?: string | null; + /** + * + * @type {string} + * @memberof TunerHostInfo + */ + friendlyName?: string | null; + /** + * + * @type {boolean} + * @memberof TunerHostInfo + */ + importFavoritesOnly?: boolean; + /** + * + * @type {boolean} + * @memberof TunerHostInfo + */ + allowHWTranscoding?: boolean; + /** + * + * @type {boolean} + * @memberof TunerHostInfo + */ + enableStreamLooping?: boolean; + /** + * + * @type {string} + * @memberof TunerHostInfo + */ + source?: string | null; + /** + * + * @type {number} + * @memberof TunerHostInfo + */ + tunerCount?: number; + /** + * + * @type {string} + * @memberof TunerHostInfo + */ + userAgent?: string | null; +} + +/** + * Check if a given object implements the TunerHostInfo interface. + */ +export function instanceOfTunerHostInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function TunerHostInfoFromJSON(json: any): TunerHostInfo { + return TunerHostInfoFromJSONTyped(json, false); +} + +export function TunerHostInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): TunerHostInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'url': !exists(json, 'Url') ? undefined : json['Url'], + 'type': !exists(json, 'Type') ? undefined : json['Type'], + 'deviceId': !exists(json, 'DeviceId') ? undefined : json['DeviceId'], + 'friendlyName': !exists(json, 'FriendlyName') ? undefined : json['FriendlyName'], + 'importFavoritesOnly': !exists(json, 'ImportFavoritesOnly') ? undefined : json['ImportFavoritesOnly'], + 'allowHWTranscoding': !exists(json, 'AllowHWTranscoding') ? undefined : json['AllowHWTranscoding'], + 'enableStreamLooping': !exists(json, 'EnableStreamLooping') ? undefined : json['EnableStreamLooping'], + 'source': !exists(json, 'Source') ? undefined : json['Source'], + 'tunerCount': !exists(json, 'TunerCount') ? undefined : json['TunerCount'], + 'userAgent': !exists(json, 'UserAgent') ? undefined : json['UserAgent'], + }; +} + +export function TunerHostInfoToJSON(value?: TunerHostInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Id': value.id, + 'Url': value.url, + 'Type': value.type, + 'DeviceId': value.deviceId, + 'FriendlyName': value.friendlyName, + 'ImportFavoritesOnly': value.importFavoritesOnly, + 'AllowHWTranscoding': value.allowHWTranscoding, + 'EnableStreamLooping': value.enableStreamLooping, + 'Source': value.source, + 'TunerCount': value.tunerCount, + 'UserAgent': value.userAgent, + }; +} + diff --git a/server/jellyfin/models/TypeOptions.ts b/server/jellyfin/models/TypeOptions.ts new file mode 100644 index 0000000..6c7bd2a --- /dev/null +++ b/server/jellyfin/models/TypeOptions.ts @@ -0,0 +1,112 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ImageOption } from './ImageOption'; +import { + ImageOptionFromJSON, + ImageOptionFromJSONTyped, + ImageOptionToJSON, +} from './ImageOption'; + +/** + * + * @export + * @interface TypeOptions + */ +export interface TypeOptions { + /** + * + * @type {string} + * @memberof TypeOptions + */ + type?: string | null; + /** + * + * @type {Array} + * @memberof TypeOptions + */ + metadataFetchers?: Array | null; + /** + * + * @type {Array} + * @memberof TypeOptions + */ + metadataFetcherOrder?: Array | null; + /** + * + * @type {Array} + * @memberof TypeOptions + */ + imageFetchers?: Array | null; + /** + * + * @type {Array} + * @memberof TypeOptions + */ + imageFetcherOrder?: Array | null; + /** + * + * @type {Array} + * @memberof TypeOptions + */ + imageOptions?: Array | null; +} + +/** + * Check if a given object implements the TypeOptions interface. + */ +export function instanceOfTypeOptions(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function TypeOptionsFromJSON(json: any): TypeOptions { + return TypeOptionsFromJSONTyped(json, false); +} + +export function TypeOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): TypeOptions { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'type': !exists(json, 'Type') ? undefined : json['Type'], + 'metadataFetchers': !exists(json, 'MetadataFetchers') ? undefined : json['MetadataFetchers'], + 'metadataFetcherOrder': !exists(json, 'MetadataFetcherOrder') ? undefined : json['MetadataFetcherOrder'], + 'imageFetchers': !exists(json, 'ImageFetchers') ? undefined : json['ImageFetchers'], + 'imageFetcherOrder': !exists(json, 'ImageFetcherOrder') ? undefined : json['ImageFetcherOrder'], + 'imageOptions': !exists(json, 'ImageOptions') ? undefined : (json['ImageOptions'] === null ? null : (json['ImageOptions'] as Array).map(ImageOptionFromJSON)), + }; +} + +export function TypeOptionsToJSON(value?: TypeOptions | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Type': value.type, + 'MetadataFetchers': value.metadataFetchers, + 'MetadataFetcherOrder': value.metadataFetcherOrder, + 'ImageFetchers': value.imageFetchers, + 'ImageFetcherOrder': value.imageFetcherOrder, + 'ImageOptions': value.imageOptions === undefined ? undefined : (value.imageOptions === null ? null : (value.imageOptions as Array).map(ImageOptionToJSON)), + }; +} + diff --git a/server/jellyfin/models/UnratedItem.ts b/server/jellyfin/models/UnratedItem.ts new file mode 100644 index 0000000..dfeed38 --- /dev/null +++ b/server/jellyfin/models/UnratedItem.ts @@ -0,0 +1,45 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * An enum representing an unrated item. + * @export + */ +export const UnratedItem = { + Movie: 'Movie', + Trailer: 'Trailer', + Series: 'Series', + Music: 'Music', + Book: 'Book', + LiveTvChannel: 'LiveTvChannel', + LiveTvProgram: 'LiveTvProgram', + ChannelContent: 'ChannelContent', + Other: 'Other' +} as const; +export type UnratedItem = typeof UnratedItem[keyof typeof UnratedItem]; + + +export function UnratedItemFromJSON(json: any): UnratedItem { + return UnratedItemFromJSONTyped(json, false); +} + +export function UnratedItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): UnratedItem { + return json as UnratedItem; +} + +export function UnratedItemToJSON(value?: UnratedItem | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/UpdateConfigurationRequest.ts b/server/jellyfin/models/UpdateConfigurationRequest.ts new file mode 100644 index 0000000..d0f112c --- /dev/null +++ b/server/jellyfin/models/UpdateConfigurationRequest.ts @@ -0,0 +1,475 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ImageSavingConvention } from './ImageSavingConvention'; +import { + ImageSavingConventionFromJSON, + ImageSavingConventionFromJSONTyped, + ImageSavingConventionToJSON, +} from './ImageSavingConvention'; +import type { MetadataOptions } from './MetadataOptions'; +import { + MetadataOptionsFromJSON, + MetadataOptionsFromJSONTyped, + MetadataOptionsToJSON, +} from './MetadataOptions'; +import type { NameValuePair } from './NameValuePair'; +import { + NameValuePairFromJSON, + NameValuePairFromJSONTyped, + NameValuePairToJSON, +} from './NameValuePair'; +import type { PathSubstitution } from './PathSubstitution'; +import { + PathSubstitutionFromJSON, + PathSubstitutionFromJSONTyped, + PathSubstitutionToJSON, +} from './PathSubstitution'; +import type { RepositoryInfo } from './RepositoryInfo'; +import { + RepositoryInfoFromJSON, + RepositoryInfoFromJSONTyped, + RepositoryInfoToJSON, +} from './RepositoryInfo'; + +/** + * Represents the server configuration. + * @export + * @interface UpdateConfigurationRequest + */ +export interface UpdateConfigurationRequest { + /** + * Gets or sets the number of days we should retain log files. + * @type {number} + * @memberof UpdateConfigurationRequest + */ + logFileRetentionDays?: number; + /** + * Gets or sets a value indicating whether this instance is first run. + * @type {boolean} + * @memberof UpdateConfigurationRequest + */ + isStartupWizardCompleted?: boolean; + /** + * Gets or sets the cache path. + * @type {string} + * @memberof UpdateConfigurationRequest + */ + cachePath?: string | null; + /** + * Gets or sets the last known version that was ran using the configuration. + * @type {string} + * @memberof UpdateConfigurationRequest + */ + previousVersion?: string | null; + /** + * Gets or sets the stringified PreviousVersion to be stored/loaded, + * because System.Version itself isn't xml-serializable. + * @type {string} + * @memberof UpdateConfigurationRequest + */ + previousVersionStr?: string | null; + /** + * Gets or sets a value indicating whether to enable prometheus metrics exporting. + * @type {boolean} + * @memberof UpdateConfigurationRequest + */ + enableMetrics?: boolean; + /** + * + * @type {boolean} + * @memberof UpdateConfigurationRequest + */ + enableNormalizedItemByNameIds?: boolean; + /** + * Gets or sets a value indicating whether this instance is port authorized. + * @type {boolean} + * @memberof UpdateConfigurationRequest + */ + isPortAuthorized?: boolean; + /** + * Gets or sets a value indicating whether quick connect is available for use on this server. + * @type {boolean} + * @memberof UpdateConfigurationRequest + */ + quickConnectAvailable?: boolean; + /** + * Gets or sets a value indicating whether [enable case sensitive item ids]. + * @type {boolean} + * @memberof UpdateConfigurationRequest + */ + enableCaseSensitiveItemIds?: boolean; + /** + * + * @type {boolean} + * @memberof UpdateConfigurationRequest + */ + disableLiveTvChannelUserDataName?: boolean; + /** + * Gets or sets the metadata path. + * @type {string} + * @memberof UpdateConfigurationRequest + */ + metadataPath?: string; + /** + * + * @type {string} + * @memberof UpdateConfigurationRequest + */ + metadataNetworkPath?: string; + /** + * Gets or sets the preferred metadata language. + * @type {string} + * @memberof UpdateConfigurationRequest + */ + preferredMetadataLanguage?: string; + /** + * Gets or sets the metadata country code. + * @type {string} + * @memberof UpdateConfigurationRequest + */ + metadataCountryCode?: string; + /** + * Gets or sets characters to be replaced with a ' ' in strings to create a sort name. + * @type {Array} + * @memberof UpdateConfigurationRequest + */ + sortReplaceCharacters?: Array; + /** + * Gets or sets characters to be removed from strings to create a sort name. + * @type {Array} + * @memberof UpdateConfigurationRequest + */ + sortRemoveCharacters?: Array; + /** + * Gets or sets words to be removed from strings to create a sort name. + * @type {Array} + * @memberof UpdateConfigurationRequest + */ + sortRemoveWords?: Array; + /** + * Gets or sets the minimum percentage of an item that must be played in order for playstate to be updated. + * @type {number} + * @memberof UpdateConfigurationRequest + */ + minResumePct?: number; + /** + * Gets or sets the maximum percentage of an item that can be played while still saving playstate. If this percentage is crossed playstate will be reset to the beginning and the item will be marked watched. + * @type {number} + * @memberof UpdateConfigurationRequest + */ + maxResumePct?: number; + /** + * Gets or sets the minimum duration that an item must have in order to be eligible for playstate updates.. + * @type {number} + * @memberof UpdateConfigurationRequest + */ + minResumeDurationSeconds?: number; + /** + * Gets or sets the minimum minutes of a book that must be played in order for playstate to be updated. + * @type {number} + * @memberof UpdateConfigurationRequest + */ + minAudiobookResume?: number; + /** + * Gets or sets the remaining minutes of a book that can be played while still saving playstate. If this percentage is crossed playstate will be reset to the beginning and the item will be marked watched. + * @type {number} + * @memberof UpdateConfigurationRequest + */ + maxAudiobookResume?: number; + /** + * Gets or sets the delay in seconds that we will wait after a file system change to try and discover what has been added/removed + * Some delay is necessary with some items because their creation is not atomic. It involves the creation of several + * different directories and files. + * @type {number} + * @memberof UpdateConfigurationRequest + */ + libraryMonitorDelay?: number; + /** + * + * @type {ImageSavingConvention} + * @memberof UpdateConfigurationRequest + */ + imageSavingConvention?: ImageSavingConvention; + /** + * + * @type {Array} + * @memberof UpdateConfigurationRequest + */ + metadataOptions?: Array; + /** + * + * @type {boolean} + * @memberof UpdateConfigurationRequest + */ + skipDeserializationForBasicTypes?: boolean; + /** + * + * @type {string} + * @memberof UpdateConfigurationRequest + */ + serverName?: string; + /** + * + * @type {string} + * @memberof UpdateConfigurationRequest + */ + uICulture?: string; + /** + * + * @type {boolean} + * @memberof UpdateConfigurationRequest + */ + saveMetadataHidden?: boolean; + /** + * + * @type {Array} + * @memberof UpdateConfigurationRequest + */ + contentTypes?: Array; + /** + * + * @type {number} + * @memberof UpdateConfigurationRequest + */ + remoteClientBitrateLimit?: number; + /** + * + * @type {boolean} + * @memberof UpdateConfigurationRequest + */ + enableFolderView?: boolean; + /** + * + * @type {boolean} + * @memberof UpdateConfigurationRequest + */ + enableGroupingIntoCollections?: boolean; + /** + * + * @type {boolean} + * @memberof UpdateConfigurationRequest + */ + displaySpecialsWithinSeasons?: boolean; + /** + * + * @type {Array} + * @memberof UpdateConfigurationRequest + */ + codecsUsed?: Array; + /** + * + * @type {Array} + * @memberof UpdateConfigurationRequest + */ + pluginRepositories?: Array; + /** + * + * @type {boolean} + * @memberof UpdateConfigurationRequest + */ + enableExternalContentInSuggestions?: boolean; + /** + * + * @type {number} + * @memberof UpdateConfigurationRequest + */ + imageExtractionTimeoutMs?: number; + /** + * + * @type {Array} + * @memberof UpdateConfigurationRequest + */ + pathSubstitutions?: Array; + /** + * Gets or sets a value indicating whether slow server responses should be logged as a warning. + * @type {boolean} + * @memberof UpdateConfigurationRequest + */ + enableSlowResponseWarning?: boolean; + /** + * Gets or sets the threshold for the slow response time warning in ms. + * @type {number} + * @memberof UpdateConfigurationRequest + */ + slowResponseThresholdMs?: number; + /** + * Gets or sets the cors hosts. + * @type {Array} + * @memberof UpdateConfigurationRequest + */ + corsHosts?: Array; + /** + * Gets or sets the number of days we should retain activity logs. + * @type {number} + * @memberof UpdateConfigurationRequest + */ + activityLogRetentionDays?: number | null; + /** + * Gets or sets the how the library scan fans out. + * @type {number} + * @memberof UpdateConfigurationRequest + */ + libraryScanFanoutConcurrency?: number; + /** + * Gets or sets the how many metadata refreshes can run concurrently. + * @type {number} + * @memberof UpdateConfigurationRequest + */ + libraryMetadataRefreshConcurrency?: number; + /** + * Gets or sets a value indicating whether older plugins should automatically be deleted from the plugin folder. + * @type {boolean} + * @memberof UpdateConfigurationRequest + */ + removeOldPlugins?: boolean; + /** + * Gets or sets a value indicating whether clients should be allowed to upload logs. + * @type {boolean} + * @memberof UpdateConfigurationRequest + */ + allowClientLogUpload?: boolean; +} + +/** + * Check if a given object implements the UpdateConfigurationRequest interface. + */ +export function instanceOfUpdateConfigurationRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UpdateConfigurationRequestFromJSON(json: any): UpdateConfigurationRequest { + return UpdateConfigurationRequestFromJSONTyped(json, false); +} + +export function UpdateConfigurationRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateConfigurationRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'logFileRetentionDays': !exists(json, 'LogFileRetentionDays') ? undefined : json['LogFileRetentionDays'], + 'isStartupWizardCompleted': !exists(json, 'IsStartupWizardCompleted') ? undefined : json['IsStartupWizardCompleted'], + 'cachePath': !exists(json, 'CachePath') ? undefined : json['CachePath'], + 'previousVersion': !exists(json, 'PreviousVersion') ? undefined : json['PreviousVersion'], + 'previousVersionStr': !exists(json, 'PreviousVersionStr') ? undefined : json['PreviousVersionStr'], + 'enableMetrics': !exists(json, 'EnableMetrics') ? undefined : json['EnableMetrics'], + 'enableNormalizedItemByNameIds': !exists(json, 'EnableNormalizedItemByNameIds') ? undefined : json['EnableNormalizedItemByNameIds'], + 'isPortAuthorized': !exists(json, 'IsPortAuthorized') ? undefined : json['IsPortAuthorized'], + 'quickConnectAvailable': !exists(json, 'QuickConnectAvailable') ? undefined : json['QuickConnectAvailable'], + 'enableCaseSensitiveItemIds': !exists(json, 'EnableCaseSensitiveItemIds') ? undefined : json['EnableCaseSensitiveItemIds'], + 'disableLiveTvChannelUserDataName': !exists(json, 'DisableLiveTvChannelUserDataName') ? undefined : json['DisableLiveTvChannelUserDataName'], + 'metadataPath': !exists(json, 'MetadataPath') ? undefined : json['MetadataPath'], + 'metadataNetworkPath': !exists(json, 'MetadataNetworkPath') ? undefined : json['MetadataNetworkPath'], + 'preferredMetadataLanguage': !exists(json, 'PreferredMetadataLanguage') ? undefined : json['PreferredMetadataLanguage'], + 'metadataCountryCode': !exists(json, 'MetadataCountryCode') ? undefined : json['MetadataCountryCode'], + 'sortReplaceCharacters': !exists(json, 'SortReplaceCharacters') ? undefined : json['SortReplaceCharacters'], + 'sortRemoveCharacters': !exists(json, 'SortRemoveCharacters') ? undefined : json['SortRemoveCharacters'], + 'sortRemoveWords': !exists(json, 'SortRemoveWords') ? undefined : json['SortRemoveWords'], + 'minResumePct': !exists(json, 'MinResumePct') ? undefined : json['MinResumePct'], + 'maxResumePct': !exists(json, 'MaxResumePct') ? undefined : json['MaxResumePct'], + 'minResumeDurationSeconds': !exists(json, 'MinResumeDurationSeconds') ? undefined : json['MinResumeDurationSeconds'], + 'minAudiobookResume': !exists(json, 'MinAudiobookResume') ? undefined : json['MinAudiobookResume'], + 'maxAudiobookResume': !exists(json, 'MaxAudiobookResume') ? undefined : json['MaxAudiobookResume'], + 'libraryMonitorDelay': !exists(json, 'LibraryMonitorDelay') ? undefined : json['LibraryMonitorDelay'], + 'imageSavingConvention': !exists(json, 'ImageSavingConvention') ? undefined : ImageSavingConventionFromJSON(json['ImageSavingConvention']), + 'metadataOptions': !exists(json, 'MetadataOptions') ? undefined : ((json['MetadataOptions'] as Array).map(MetadataOptionsFromJSON)), + 'skipDeserializationForBasicTypes': !exists(json, 'SkipDeserializationForBasicTypes') ? undefined : json['SkipDeserializationForBasicTypes'], + 'serverName': !exists(json, 'ServerName') ? undefined : json['ServerName'], + 'uICulture': !exists(json, 'UICulture') ? undefined : json['UICulture'], + 'saveMetadataHidden': !exists(json, 'SaveMetadataHidden') ? undefined : json['SaveMetadataHidden'], + 'contentTypes': !exists(json, 'ContentTypes') ? undefined : ((json['ContentTypes'] as Array).map(NameValuePairFromJSON)), + 'remoteClientBitrateLimit': !exists(json, 'RemoteClientBitrateLimit') ? undefined : json['RemoteClientBitrateLimit'], + 'enableFolderView': !exists(json, 'EnableFolderView') ? undefined : json['EnableFolderView'], + 'enableGroupingIntoCollections': !exists(json, 'EnableGroupingIntoCollections') ? undefined : json['EnableGroupingIntoCollections'], + 'displaySpecialsWithinSeasons': !exists(json, 'DisplaySpecialsWithinSeasons') ? undefined : json['DisplaySpecialsWithinSeasons'], + 'codecsUsed': !exists(json, 'CodecsUsed') ? undefined : json['CodecsUsed'], + 'pluginRepositories': !exists(json, 'PluginRepositories') ? undefined : ((json['PluginRepositories'] as Array).map(RepositoryInfoFromJSON)), + 'enableExternalContentInSuggestions': !exists(json, 'EnableExternalContentInSuggestions') ? undefined : json['EnableExternalContentInSuggestions'], + 'imageExtractionTimeoutMs': !exists(json, 'ImageExtractionTimeoutMs') ? undefined : json['ImageExtractionTimeoutMs'], + 'pathSubstitutions': !exists(json, 'PathSubstitutions') ? undefined : ((json['PathSubstitutions'] as Array).map(PathSubstitutionFromJSON)), + 'enableSlowResponseWarning': !exists(json, 'EnableSlowResponseWarning') ? undefined : json['EnableSlowResponseWarning'], + 'slowResponseThresholdMs': !exists(json, 'SlowResponseThresholdMs') ? undefined : json['SlowResponseThresholdMs'], + 'corsHosts': !exists(json, 'CorsHosts') ? undefined : json['CorsHosts'], + 'activityLogRetentionDays': !exists(json, 'ActivityLogRetentionDays') ? undefined : json['ActivityLogRetentionDays'], + 'libraryScanFanoutConcurrency': !exists(json, 'LibraryScanFanoutConcurrency') ? undefined : json['LibraryScanFanoutConcurrency'], + 'libraryMetadataRefreshConcurrency': !exists(json, 'LibraryMetadataRefreshConcurrency') ? undefined : json['LibraryMetadataRefreshConcurrency'], + 'removeOldPlugins': !exists(json, 'RemoveOldPlugins') ? undefined : json['RemoveOldPlugins'], + 'allowClientLogUpload': !exists(json, 'AllowClientLogUpload') ? undefined : json['AllowClientLogUpload'], + }; +} + +export function UpdateConfigurationRequestToJSON(value?: UpdateConfigurationRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'LogFileRetentionDays': value.logFileRetentionDays, + 'IsStartupWizardCompleted': value.isStartupWizardCompleted, + 'CachePath': value.cachePath, + 'PreviousVersion': value.previousVersion, + 'PreviousVersionStr': value.previousVersionStr, + 'EnableMetrics': value.enableMetrics, + 'EnableNormalizedItemByNameIds': value.enableNormalizedItemByNameIds, + 'IsPortAuthorized': value.isPortAuthorized, + 'QuickConnectAvailable': value.quickConnectAvailable, + 'EnableCaseSensitiveItemIds': value.enableCaseSensitiveItemIds, + 'DisableLiveTvChannelUserDataName': value.disableLiveTvChannelUserDataName, + 'MetadataPath': value.metadataPath, + 'MetadataNetworkPath': value.metadataNetworkPath, + 'PreferredMetadataLanguage': value.preferredMetadataLanguage, + 'MetadataCountryCode': value.metadataCountryCode, + 'SortReplaceCharacters': value.sortReplaceCharacters, + 'SortRemoveCharacters': value.sortRemoveCharacters, + 'SortRemoveWords': value.sortRemoveWords, + 'MinResumePct': value.minResumePct, + 'MaxResumePct': value.maxResumePct, + 'MinResumeDurationSeconds': value.minResumeDurationSeconds, + 'MinAudiobookResume': value.minAudiobookResume, + 'MaxAudiobookResume': value.maxAudiobookResume, + 'LibraryMonitorDelay': value.libraryMonitorDelay, + 'ImageSavingConvention': ImageSavingConventionToJSON(value.imageSavingConvention), + 'MetadataOptions': value.metadataOptions === undefined ? undefined : ((value.metadataOptions as Array).map(MetadataOptionsToJSON)), + 'SkipDeserializationForBasicTypes': value.skipDeserializationForBasicTypes, + 'ServerName': value.serverName, + 'UICulture': value.uICulture, + 'SaveMetadataHidden': value.saveMetadataHidden, + 'ContentTypes': value.contentTypes === undefined ? undefined : ((value.contentTypes as Array).map(NameValuePairToJSON)), + 'RemoteClientBitrateLimit': value.remoteClientBitrateLimit, + 'EnableFolderView': value.enableFolderView, + 'EnableGroupingIntoCollections': value.enableGroupingIntoCollections, + 'DisplaySpecialsWithinSeasons': value.displaySpecialsWithinSeasons, + 'CodecsUsed': value.codecsUsed, + 'PluginRepositories': value.pluginRepositories === undefined ? undefined : ((value.pluginRepositories as Array).map(RepositoryInfoToJSON)), + 'EnableExternalContentInSuggestions': value.enableExternalContentInSuggestions, + 'ImageExtractionTimeoutMs': value.imageExtractionTimeoutMs, + 'PathSubstitutions': value.pathSubstitutions === undefined ? undefined : ((value.pathSubstitutions as Array).map(PathSubstitutionToJSON)), + 'EnableSlowResponseWarning': value.enableSlowResponseWarning, + 'SlowResponseThresholdMs': value.slowResponseThresholdMs, + 'CorsHosts': value.corsHosts, + 'ActivityLogRetentionDays': value.activityLogRetentionDays, + 'LibraryScanFanoutConcurrency': value.libraryScanFanoutConcurrency, + 'LibraryMetadataRefreshConcurrency': value.libraryMetadataRefreshConcurrency, + 'RemoveOldPlugins': value.removeOldPlugins, + 'AllowClientLogUpload': value.allowClientLogUpload, + }; +} + diff --git a/server/jellyfin/models/UpdateDeviceOptionsRequest.ts b/server/jellyfin/models/UpdateDeviceOptionsRequest.ts new file mode 100644 index 0000000..c4a5d89 --- /dev/null +++ b/server/jellyfin/models/UpdateDeviceOptionsRequest.ts @@ -0,0 +1,81 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * A dto representing custom options for a device. + * @export + * @interface UpdateDeviceOptionsRequest + */ +export interface UpdateDeviceOptionsRequest { + /** + * Gets or sets the id. + * @type {number} + * @memberof UpdateDeviceOptionsRequest + */ + id?: number; + /** + * Gets or sets the device id. + * @type {string} + * @memberof UpdateDeviceOptionsRequest + */ + deviceId?: string | null; + /** + * Gets or sets the custom name. + * @type {string} + * @memberof UpdateDeviceOptionsRequest + */ + customName?: string | null; +} + +/** + * Check if a given object implements the UpdateDeviceOptionsRequest interface. + */ +export function instanceOfUpdateDeviceOptionsRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UpdateDeviceOptionsRequestFromJSON(json: any): UpdateDeviceOptionsRequest { + return UpdateDeviceOptionsRequestFromJSONTyped(json, false); +} + +export function UpdateDeviceOptionsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateDeviceOptionsRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'deviceId': !exists(json, 'DeviceId') ? undefined : json['DeviceId'], + 'customName': !exists(json, 'CustomName') ? undefined : json['CustomName'], + }; +} + +export function UpdateDeviceOptionsRequestToJSON(value?: UpdateDeviceOptionsRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Id': value.id, + 'DeviceId': value.deviceId, + 'CustomName': value.customName, + }; +} + diff --git a/server/jellyfin/models/UpdateDisplayPreferencesRequest.ts b/server/jellyfin/models/UpdateDisplayPreferencesRequest.ts new file mode 100644 index 0000000..f953f43 --- /dev/null +++ b/server/jellyfin/models/UpdateDisplayPreferencesRequest.ts @@ -0,0 +1,182 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ScrollDirection } from './ScrollDirection'; +import { + ScrollDirectionFromJSON, + ScrollDirectionFromJSONTyped, + ScrollDirectionToJSON, +} from './ScrollDirection'; +import type { SortOrder } from './SortOrder'; +import { + SortOrderFromJSON, + SortOrderFromJSONTyped, + SortOrderToJSON, +} from './SortOrder'; + +/** + * Defines the display preferences for any item that supports them (usually Folders). + * @export + * @interface UpdateDisplayPreferencesRequest + */ +export interface UpdateDisplayPreferencesRequest { + /** + * Gets or sets the user id. + * @type {string} + * @memberof UpdateDisplayPreferencesRequest + */ + id?: string | null; + /** + * Gets or sets the type of the view. + * @type {string} + * @memberof UpdateDisplayPreferencesRequest + */ + viewType?: string | null; + /** + * Gets or sets the sort by. + * @type {string} + * @memberof UpdateDisplayPreferencesRequest + */ + sortBy?: string | null; + /** + * Gets or sets the index by. + * @type {string} + * @memberof UpdateDisplayPreferencesRequest + */ + indexBy?: string | null; + /** + * Gets or sets a value indicating whether [remember indexing]. + * @type {boolean} + * @memberof UpdateDisplayPreferencesRequest + */ + rememberIndexing?: boolean; + /** + * Gets or sets the height of the primary image. + * @type {number} + * @memberof UpdateDisplayPreferencesRequest + */ + primaryImageHeight?: number; + /** + * Gets or sets the width of the primary image. + * @type {number} + * @memberof UpdateDisplayPreferencesRequest + */ + primaryImageWidth?: number; + /** + * Gets or sets the custom prefs. + * @type {{ [key: string]: string; }} + * @memberof UpdateDisplayPreferencesRequest + */ + customPrefs?: { [key: string]: string; }; + /** + * + * @type {ScrollDirection} + * @memberof UpdateDisplayPreferencesRequest + */ + scrollDirection?: ScrollDirection; + /** + * Gets or sets a value indicating whether to show backdrops on this item. + * @type {boolean} + * @memberof UpdateDisplayPreferencesRequest + */ + showBackdrop?: boolean; + /** + * Gets or sets a value indicating whether [remember sorting]. + * @type {boolean} + * @memberof UpdateDisplayPreferencesRequest + */ + rememberSorting?: boolean; + /** + * + * @type {SortOrder} + * @memberof UpdateDisplayPreferencesRequest + */ + sortOrder?: SortOrder; + /** + * Gets or sets a value indicating whether [show sidebar]. + * @type {boolean} + * @memberof UpdateDisplayPreferencesRequest + */ + showSidebar?: boolean; + /** + * Gets or sets the client. + * @type {string} + * @memberof UpdateDisplayPreferencesRequest + */ + client?: string | null; +} + +/** + * Check if a given object implements the UpdateDisplayPreferencesRequest interface. + */ +export function instanceOfUpdateDisplayPreferencesRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UpdateDisplayPreferencesRequestFromJSON(json: any): UpdateDisplayPreferencesRequest { + return UpdateDisplayPreferencesRequestFromJSONTyped(json, false); +} + +export function UpdateDisplayPreferencesRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateDisplayPreferencesRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'viewType': !exists(json, 'ViewType') ? undefined : json['ViewType'], + 'sortBy': !exists(json, 'SortBy') ? undefined : json['SortBy'], + 'indexBy': !exists(json, 'IndexBy') ? undefined : json['IndexBy'], + 'rememberIndexing': !exists(json, 'RememberIndexing') ? undefined : json['RememberIndexing'], + 'primaryImageHeight': !exists(json, 'PrimaryImageHeight') ? undefined : json['PrimaryImageHeight'], + 'primaryImageWidth': !exists(json, 'PrimaryImageWidth') ? undefined : json['PrimaryImageWidth'], + 'customPrefs': !exists(json, 'CustomPrefs') ? undefined : json['CustomPrefs'], + 'scrollDirection': !exists(json, 'ScrollDirection') ? undefined : ScrollDirectionFromJSON(json['ScrollDirection']), + 'showBackdrop': !exists(json, 'ShowBackdrop') ? undefined : json['ShowBackdrop'], + 'rememberSorting': !exists(json, 'RememberSorting') ? undefined : json['RememberSorting'], + 'sortOrder': !exists(json, 'SortOrder') ? undefined : SortOrderFromJSON(json['SortOrder']), + 'showSidebar': !exists(json, 'ShowSidebar') ? undefined : json['ShowSidebar'], + 'client': !exists(json, 'Client') ? undefined : json['Client'], + }; +} + +export function UpdateDisplayPreferencesRequestToJSON(value?: UpdateDisplayPreferencesRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Id': value.id, + 'ViewType': value.viewType, + 'SortBy': value.sortBy, + 'IndexBy': value.indexBy, + 'RememberIndexing': value.rememberIndexing, + 'PrimaryImageHeight': value.primaryImageHeight, + 'PrimaryImageWidth': value.primaryImageWidth, + 'CustomPrefs': value.customPrefs, + 'ScrollDirection': ScrollDirectionToJSON(value.scrollDirection), + 'ShowBackdrop': value.showBackdrop, + 'RememberSorting': value.rememberSorting, + 'SortOrder': SortOrderToJSON(value.sortOrder), + 'ShowSidebar': value.showSidebar, + 'Client': value.client, + }; +} + diff --git a/server/jellyfin/models/UpdateInitialConfigurationRequest.ts b/server/jellyfin/models/UpdateInitialConfigurationRequest.ts new file mode 100644 index 0000000..739a9eb --- /dev/null +++ b/server/jellyfin/models/UpdateInitialConfigurationRequest.ts @@ -0,0 +1,81 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * The startup configuration DTO. + * @export + * @interface UpdateInitialConfigurationRequest + */ +export interface UpdateInitialConfigurationRequest { + /** + * Gets or sets UI language culture. + * @type {string} + * @memberof UpdateInitialConfigurationRequest + */ + uICulture?: string | null; + /** + * Gets or sets the metadata country code. + * @type {string} + * @memberof UpdateInitialConfigurationRequest + */ + metadataCountryCode?: string | null; + /** + * Gets or sets the preferred language for the metadata. + * @type {string} + * @memberof UpdateInitialConfigurationRequest + */ + preferredMetadataLanguage?: string | null; +} + +/** + * Check if a given object implements the UpdateInitialConfigurationRequest interface. + */ +export function instanceOfUpdateInitialConfigurationRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UpdateInitialConfigurationRequestFromJSON(json: any): UpdateInitialConfigurationRequest { + return UpdateInitialConfigurationRequestFromJSONTyped(json, false); +} + +export function UpdateInitialConfigurationRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateInitialConfigurationRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'uICulture': !exists(json, 'UICulture') ? undefined : json['UICulture'], + 'metadataCountryCode': !exists(json, 'MetadataCountryCode') ? undefined : json['MetadataCountryCode'], + 'preferredMetadataLanguage': !exists(json, 'PreferredMetadataLanguage') ? undefined : json['PreferredMetadataLanguage'], + }; +} + +export function UpdateInitialConfigurationRequestToJSON(value?: UpdateInitialConfigurationRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'UICulture': value.uICulture, + 'MetadataCountryCode': value.metadataCountryCode, + 'PreferredMetadataLanguage': value.preferredMetadataLanguage, + }; +} + diff --git a/server/jellyfin/models/UpdateItemRequest.ts b/server/jellyfin/models/UpdateItemRequest.ts new file mode 100644 index 0000000..fbb7902 --- /dev/null +++ b/server/jellyfin/models/UpdateItemRequest.ts @@ -0,0 +1,1393 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { BaseItemDtoCurrentProgram } from './BaseItemDtoCurrentProgram'; +import { + BaseItemDtoCurrentProgramFromJSON, + BaseItemDtoCurrentProgramFromJSONTyped, + BaseItemDtoCurrentProgramToJSON, +} from './BaseItemDtoCurrentProgram'; +import type { BaseItemDtoImageBlurHashes } from './BaseItemDtoImageBlurHashes'; +import { + BaseItemDtoImageBlurHashesFromJSON, + BaseItemDtoImageBlurHashesFromJSONTyped, + BaseItemDtoImageBlurHashesToJSON, +} from './BaseItemDtoImageBlurHashes'; +import type { BaseItemDtoUserData } from './BaseItemDtoUserData'; +import { + BaseItemDtoUserDataFromJSON, + BaseItemDtoUserDataFromJSONTyped, + BaseItemDtoUserDataToJSON, +} from './BaseItemDtoUserData'; +import type { BaseItemKind } from './BaseItemKind'; +import { + BaseItemKindFromJSON, + BaseItemKindFromJSONTyped, + BaseItemKindToJSON, +} from './BaseItemKind'; +import type { BaseItemPerson } from './BaseItemPerson'; +import { + BaseItemPersonFromJSON, + BaseItemPersonFromJSONTyped, + BaseItemPersonToJSON, +} from './BaseItemPerson'; +import type { ChannelType } from './ChannelType'; +import { + ChannelTypeFromJSON, + ChannelTypeFromJSONTyped, + ChannelTypeToJSON, +} from './ChannelType'; +import type { ChapterInfo } from './ChapterInfo'; +import { + ChapterInfoFromJSON, + ChapterInfoFromJSONTyped, + ChapterInfoToJSON, +} from './ChapterInfo'; +import type { DayOfWeek } from './DayOfWeek'; +import { + DayOfWeekFromJSON, + DayOfWeekFromJSONTyped, + DayOfWeekToJSON, +} from './DayOfWeek'; +import type { ExternalUrl } from './ExternalUrl'; +import { + ExternalUrlFromJSON, + ExternalUrlFromJSONTyped, + ExternalUrlToJSON, +} from './ExternalUrl'; +import type { ImageOrientation } from './ImageOrientation'; +import { + ImageOrientationFromJSON, + ImageOrientationFromJSONTyped, + ImageOrientationToJSON, +} from './ImageOrientation'; +import type { IsoType } from './IsoType'; +import { + IsoTypeFromJSON, + IsoTypeFromJSONTyped, + IsoTypeToJSON, +} from './IsoType'; +import type { LocationType } from './LocationType'; +import { + LocationTypeFromJSON, + LocationTypeFromJSONTyped, + LocationTypeToJSON, +} from './LocationType'; +import type { MediaSourceInfo } from './MediaSourceInfo'; +import { + MediaSourceInfoFromJSON, + MediaSourceInfoFromJSONTyped, + MediaSourceInfoToJSON, +} from './MediaSourceInfo'; +import type { MediaStream } from './MediaStream'; +import { + MediaStreamFromJSON, + MediaStreamFromJSONTyped, + MediaStreamToJSON, +} from './MediaStream'; +import type { MediaUrl } from './MediaUrl'; +import { + MediaUrlFromJSON, + MediaUrlFromJSONTyped, + MediaUrlToJSON, +} from './MediaUrl'; +import type { MetadataField } from './MetadataField'; +import { + MetadataFieldFromJSON, + MetadataFieldFromJSONTyped, + MetadataFieldToJSON, +} from './MetadataField'; +import type { NameGuidPair } from './NameGuidPair'; +import { + NameGuidPairFromJSON, + NameGuidPairFromJSONTyped, + NameGuidPairToJSON, +} from './NameGuidPair'; +import type { PlayAccess } from './PlayAccess'; +import { + PlayAccessFromJSON, + PlayAccessFromJSONTyped, + PlayAccessToJSON, +} from './PlayAccess'; +import type { ProgramAudio } from './ProgramAudio'; +import { + ProgramAudioFromJSON, + ProgramAudioFromJSONTyped, + ProgramAudioToJSON, +} from './ProgramAudio'; +import type { Video3DFormat } from './Video3DFormat'; +import { + Video3DFormatFromJSON, + Video3DFormatFromJSONTyped, + Video3DFormatToJSON, +} from './Video3DFormat'; +import type { VideoType } from './VideoType'; +import { + VideoTypeFromJSON, + VideoTypeFromJSONTyped, + VideoTypeToJSON, +} from './VideoType'; + +/** + * This is strictly used as a data transfer object from the api layer. + * This holds information about a BaseItem in a format that is convenient for the client. + * @export + * @interface UpdateItemRequest + */ +export interface UpdateItemRequest { + /** + * Gets or sets the name. + * @type {string} + * @memberof UpdateItemRequest + */ + name?: string | null; + /** + * + * @type {string} + * @memberof UpdateItemRequest + */ + originalTitle?: string | null; + /** + * Gets or sets the server identifier. + * @type {string} + * @memberof UpdateItemRequest + */ + serverId?: string | null; + /** + * Gets or sets the id. + * @type {string} + * @memberof UpdateItemRequest + */ + id?: string; + /** + * Gets or sets the etag. + * @type {string} + * @memberof UpdateItemRequest + */ + etag?: string | null; + /** + * Gets or sets the type of the source. + * @type {string} + * @memberof UpdateItemRequest + */ + sourceType?: string | null; + /** + * Gets or sets the playlist item identifier. + * @type {string} + * @memberof UpdateItemRequest + */ + playlistItemId?: string | null; + /** + * Gets or sets the date created. + * @type {Date} + * @memberof UpdateItemRequest + */ + dateCreated?: Date | null; + /** + * + * @type {Date} + * @memberof UpdateItemRequest + */ + dateLastMediaAdded?: Date | null; + /** + * + * @type {string} + * @memberof UpdateItemRequest + */ + extraType?: string | null; + /** + * + * @type {number} + * @memberof UpdateItemRequest + */ + airsBeforeSeasonNumber?: number | null; + /** + * + * @type {number} + * @memberof UpdateItemRequest + */ + airsAfterSeasonNumber?: number | null; + /** + * + * @type {number} + * @memberof UpdateItemRequest + */ + airsBeforeEpisodeNumber?: number | null; + /** + * + * @type {boolean} + * @memberof UpdateItemRequest + */ + canDelete?: boolean | null; + /** + * + * @type {boolean} + * @memberof UpdateItemRequest + */ + canDownload?: boolean | null; + /** + * + * @type {boolean} + * @memberof UpdateItemRequest + */ + hasSubtitles?: boolean | null; + /** + * + * @type {string} + * @memberof UpdateItemRequest + */ + preferredMetadataLanguage?: string | null; + /** + * + * @type {string} + * @memberof UpdateItemRequest + */ + preferredMetadataCountryCode?: string | null; + /** + * Gets or sets a value indicating whether [supports synchronize]. + * @type {boolean} + * @memberof UpdateItemRequest + */ + supportsSync?: boolean | null; + /** + * + * @type {string} + * @memberof UpdateItemRequest + */ + container?: string | null; + /** + * Gets or sets the name of the sort. + * @type {string} + * @memberof UpdateItemRequest + */ + sortName?: string | null; + /** + * + * @type {string} + * @memberof UpdateItemRequest + */ + forcedSortName?: string | null; + /** + * + * @type {Video3DFormat} + * @memberof UpdateItemRequest + */ + video3DFormat?: Video3DFormat | null; + /** + * Gets or sets the premiere date. + * @type {Date} + * @memberof UpdateItemRequest + */ + premiereDate?: Date | null; + /** + * Gets or sets the external urls. + * @type {Array} + * @memberof UpdateItemRequest + */ + externalUrls?: Array | null; + /** + * Gets or sets the media versions. + * @type {Array} + * @memberof UpdateItemRequest + */ + mediaSources?: Array | null; + /** + * Gets or sets the critic rating. + * @type {number} + * @memberof UpdateItemRequest + */ + criticRating?: number | null; + /** + * + * @type {Array} + * @memberof UpdateItemRequest + */ + productionLocations?: Array | null; + /** + * Gets or sets the path. + * @type {string} + * @memberof UpdateItemRequest + */ + path?: string | null; + /** + * + * @type {boolean} + * @memberof UpdateItemRequest + */ + enableMediaSourceDisplay?: boolean | null; + /** + * Gets or sets the official rating. + * @type {string} + * @memberof UpdateItemRequest + */ + officialRating?: string | null; + /** + * Gets or sets the custom rating. + * @type {string} + * @memberof UpdateItemRequest + */ + customRating?: string | null; + /** + * Gets or sets the channel identifier. + * @type {string} + * @memberof UpdateItemRequest + */ + channelId?: string | null; + /** + * + * @type {string} + * @memberof UpdateItemRequest + */ + channelName?: string | null; + /** + * Gets or sets the overview. + * @type {string} + * @memberof UpdateItemRequest + */ + overview?: string | null; + /** + * Gets or sets the taglines. + * @type {Array} + * @memberof UpdateItemRequest + */ + taglines?: Array | null; + /** + * Gets or sets the genres. + * @type {Array} + * @memberof UpdateItemRequest + */ + genres?: Array | null; + /** + * Gets or sets the community rating. + * @type {number} + * @memberof UpdateItemRequest + */ + communityRating?: number | null; + /** + * Gets or sets the cumulative run time ticks. + * @type {number} + * @memberof UpdateItemRequest + */ + cumulativeRunTimeTicks?: number | null; + /** + * Gets or sets the run time ticks. + * @type {number} + * @memberof UpdateItemRequest + */ + runTimeTicks?: number | null; + /** + * + * @type {PlayAccess} + * @memberof UpdateItemRequest + */ + playAccess?: PlayAccess | null; + /** + * Gets or sets the aspect ratio. + * @type {string} + * @memberof UpdateItemRequest + */ + aspectRatio?: string | null; + /** + * Gets or sets the production year. + * @type {number} + * @memberof UpdateItemRequest + */ + productionYear?: number | null; + /** + * Gets or sets a value indicating whether this instance is place holder. + * @type {boolean} + * @memberof UpdateItemRequest + */ + isPlaceHolder?: boolean | null; + /** + * Gets or sets the number. + * @type {string} + * @memberof UpdateItemRequest + */ + number?: string | null; + /** + * + * @type {string} + * @memberof UpdateItemRequest + */ + channelNumber?: string | null; + /** + * Gets or sets the index number. + * @type {number} + * @memberof UpdateItemRequest + */ + indexNumber?: number | null; + /** + * Gets or sets the index number end. + * @type {number} + * @memberof UpdateItemRequest + */ + indexNumberEnd?: number | null; + /** + * Gets or sets the parent index number. + * @type {number} + * @memberof UpdateItemRequest + */ + parentIndexNumber?: number | null; + /** + * Gets or sets the trailer urls. + * @type {Array} + * @memberof UpdateItemRequest + */ + remoteTrailers?: Array | null; + /** + * Gets or sets the provider ids. + * @type {{ [key: string]: string; }} + * @memberof UpdateItemRequest + */ + providerIds?: { [key: string]: string; } | null; + /** + * Gets or sets a value indicating whether this instance is HD. + * @type {boolean} + * @memberof UpdateItemRequest + */ + isHD?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is folder. + * @type {boolean} + * @memberof UpdateItemRequest + */ + isFolder?: boolean | null; + /** + * Gets or sets the parent id. + * @type {string} + * @memberof UpdateItemRequest + */ + parentId?: string | null; + /** + * + * @type {BaseItemKind} + * @memberof UpdateItemRequest + */ + type?: BaseItemKind; + /** + * Gets or sets the people. + * @type {Array} + * @memberof UpdateItemRequest + */ + people?: Array | null; + /** + * Gets or sets the studios. + * @type {Array} + * @memberof UpdateItemRequest + */ + studios?: Array | null; + /** + * + * @type {Array} + * @memberof UpdateItemRequest + */ + genreItems?: Array | null; + /** + * Gets or sets wether the item has a logo, this will hold the Id of the Parent that has one. + * @type {string} + * @memberof UpdateItemRequest + */ + parentLogoItemId?: string | null; + /** + * Gets or sets wether the item has any backdrops, this will hold the Id of the Parent that has one. + * @type {string} + * @memberof UpdateItemRequest + */ + parentBackdropItemId?: string | null; + /** + * Gets or sets the parent backdrop image tags. + * @type {Array} + * @memberof UpdateItemRequest + */ + parentBackdropImageTags?: Array | null; + /** + * Gets or sets the local trailer count. + * @type {number} + * @memberof UpdateItemRequest + */ + localTrailerCount?: number | null; + /** + * + * @type {BaseItemDtoUserData} + * @memberof UpdateItemRequest + */ + userData?: BaseItemDtoUserData | null; + /** + * Gets or sets the recursive item count. + * @type {number} + * @memberof UpdateItemRequest + */ + recursiveItemCount?: number | null; + /** + * Gets or sets the child count. + * @type {number} + * @memberof UpdateItemRequest + */ + childCount?: number | null; + /** + * Gets or sets the name of the series. + * @type {string} + * @memberof UpdateItemRequest + */ + seriesName?: string | null; + /** + * Gets or sets the series id. + * @type {string} + * @memberof UpdateItemRequest + */ + seriesId?: string | null; + /** + * Gets or sets the season identifier. + * @type {string} + * @memberof UpdateItemRequest + */ + seasonId?: string | null; + /** + * Gets or sets the special feature count. + * @type {number} + * @memberof UpdateItemRequest + */ + specialFeatureCount?: number | null; + /** + * Gets or sets the display preferences id. + * @type {string} + * @memberof UpdateItemRequest + */ + displayPreferencesId?: string | null; + /** + * Gets or sets the status. + * @type {string} + * @memberof UpdateItemRequest + */ + status?: string | null; + /** + * Gets or sets the air time. + * @type {string} + * @memberof UpdateItemRequest + */ + airTime?: string | null; + /** + * Gets or sets the air days. + * @type {Array} + * @memberof UpdateItemRequest + */ + airDays?: Array | null; + /** + * Gets or sets the tags. + * @type {Array} + * @memberof UpdateItemRequest + */ + tags?: Array | null; + /** + * Gets or sets the primary image aspect ratio, after image enhancements. + * @type {number} + * @memberof UpdateItemRequest + */ + primaryImageAspectRatio?: number | null; + /** + * Gets or sets the artists. + * @type {Array} + * @memberof UpdateItemRequest + */ + artists?: Array | null; + /** + * Gets or sets the artist items. + * @type {Array} + * @memberof UpdateItemRequest + */ + artistItems?: Array | null; + /** + * Gets or sets the album. + * @type {string} + * @memberof UpdateItemRequest + */ + album?: string | null; + /** + * Gets or sets the type of the collection. + * @type {string} + * @memberof UpdateItemRequest + */ + collectionType?: string | null; + /** + * Gets or sets the display order. + * @type {string} + * @memberof UpdateItemRequest + */ + displayOrder?: string | null; + /** + * Gets or sets the album id. + * @type {string} + * @memberof UpdateItemRequest + */ + albumId?: string | null; + /** + * Gets or sets the album image tag. + * @type {string} + * @memberof UpdateItemRequest + */ + albumPrimaryImageTag?: string | null; + /** + * Gets or sets the series primary image tag. + * @type {string} + * @memberof UpdateItemRequest + */ + seriesPrimaryImageTag?: string | null; + /** + * Gets or sets the album artist. + * @type {string} + * @memberof UpdateItemRequest + */ + albumArtist?: string | null; + /** + * Gets or sets the album artists. + * @type {Array} + * @memberof UpdateItemRequest + */ + albumArtists?: Array | null; + /** + * Gets or sets the name of the season. + * @type {string} + * @memberof UpdateItemRequest + */ + seasonName?: string | null; + /** + * Gets or sets the media streams. + * @type {Array} + * @memberof UpdateItemRequest + */ + mediaStreams?: Array | null; + /** + * + * @type {VideoType} + * @memberof UpdateItemRequest + */ + videoType?: VideoType | null; + /** + * Gets or sets the part count. + * @type {number} + * @memberof UpdateItemRequest + */ + partCount?: number | null; + /** + * + * @type {number} + * @memberof UpdateItemRequest + */ + mediaSourceCount?: number | null; + /** + * Gets or sets the image tags. + * @type {{ [key: string]: string; }} + * @memberof UpdateItemRequest + */ + imageTags?: { [key: string]: string; } | null; + /** + * Gets or sets the backdrop image tags. + * @type {Array} + * @memberof UpdateItemRequest + */ + backdropImageTags?: Array | null; + /** + * Gets or sets the screenshot image tags. + * @type {Array} + * @memberof UpdateItemRequest + */ + screenshotImageTags?: Array | null; + /** + * Gets or sets the parent logo image tag. + * @type {string} + * @memberof UpdateItemRequest + */ + parentLogoImageTag?: string | null; + /** + * Gets or sets wether the item has fan art, this will hold the Id of the Parent that has one. + * @type {string} + * @memberof UpdateItemRequest + */ + parentArtItemId?: string | null; + /** + * Gets or sets the parent art image tag. + * @type {string} + * @memberof UpdateItemRequest + */ + parentArtImageTag?: string | null; + /** + * Gets or sets the series thumb image tag. + * @type {string} + * @memberof UpdateItemRequest + */ + seriesThumbImageTag?: string | null; + /** + * + * @type {BaseItemDtoImageBlurHashes} + * @memberof UpdateItemRequest + */ + imageBlurHashes?: BaseItemDtoImageBlurHashes | null; + /** + * Gets or sets the series studio. + * @type {string} + * @memberof UpdateItemRequest + */ + seriesStudio?: string | null; + /** + * Gets or sets the parent thumb item id. + * @type {string} + * @memberof UpdateItemRequest + */ + parentThumbItemId?: string | null; + /** + * Gets or sets the parent thumb image tag. + * @type {string} + * @memberof UpdateItemRequest + */ + parentThumbImageTag?: string | null; + /** + * Gets or sets the parent primary image item identifier. + * @type {string} + * @memberof UpdateItemRequest + */ + parentPrimaryImageItemId?: string | null; + /** + * Gets or sets the parent primary image tag. + * @type {string} + * @memberof UpdateItemRequest + */ + parentPrimaryImageTag?: string | null; + /** + * Gets or sets the chapters. + * @type {Array} + * @memberof UpdateItemRequest + */ + chapters?: Array | null; + /** + * + * @type {LocationType} + * @memberof UpdateItemRequest + */ + locationType?: LocationType | null; + /** + * + * @type {IsoType} + * @memberof UpdateItemRequest + */ + isoType?: IsoType | null; + /** + * Gets or sets the type of the media. + * @type {string} + * @memberof UpdateItemRequest + */ + mediaType?: string | null; + /** + * Gets or sets the end date. + * @type {Date} + * @memberof UpdateItemRequest + */ + endDate?: Date | null; + /** + * Gets or sets the locked fields. + * @type {Array} + * @memberof UpdateItemRequest + */ + lockedFields?: Array | null; + /** + * Gets or sets the trailer count. + * @type {number} + * @memberof UpdateItemRequest + */ + trailerCount?: number | null; + /** + * Gets or sets the movie count. + * @type {number} + * @memberof UpdateItemRequest + */ + movieCount?: number | null; + /** + * Gets or sets the series count. + * @type {number} + * @memberof UpdateItemRequest + */ + seriesCount?: number | null; + /** + * + * @type {number} + * @memberof UpdateItemRequest + */ + programCount?: number | null; + /** + * Gets or sets the episode count. + * @type {number} + * @memberof UpdateItemRequest + */ + episodeCount?: number | null; + /** + * Gets or sets the song count. + * @type {number} + * @memberof UpdateItemRequest + */ + songCount?: number | null; + /** + * Gets or sets the album count. + * @type {number} + * @memberof UpdateItemRequest + */ + albumCount?: number | null; + /** + * + * @type {number} + * @memberof UpdateItemRequest + */ + artistCount?: number | null; + /** + * Gets or sets the music video count. + * @type {number} + * @memberof UpdateItemRequest + */ + musicVideoCount?: number | null; + /** + * Gets or sets a value indicating whether [enable internet providers]. + * @type {boolean} + * @memberof UpdateItemRequest + */ + lockData?: boolean | null; + /** + * + * @type {number} + * @memberof UpdateItemRequest + */ + width?: number | null; + /** + * + * @type {number} + * @memberof UpdateItemRequest + */ + height?: number | null; + /** + * + * @type {string} + * @memberof UpdateItemRequest + */ + cameraMake?: string | null; + /** + * + * @type {string} + * @memberof UpdateItemRequest + */ + cameraModel?: string | null; + /** + * + * @type {string} + * @memberof UpdateItemRequest + */ + software?: string | null; + /** + * + * @type {number} + * @memberof UpdateItemRequest + */ + exposureTime?: number | null; + /** + * + * @type {number} + * @memberof UpdateItemRequest + */ + focalLength?: number | null; + /** + * + * @type {ImageOrientation} + * @memberof UpdateItemRequest + */ + imageOrientation?: ImageOrientation | null; + /** + * + * @type {number} + * @memberof UpdateItemRequest + */ + aperture?: number | null; + /** + * + * @type {number} + * @memberof UpdateItemRequest + */ + shutterSpeed?: number | null; + /** + * + * @type {number} + * @memberof UpdateItemRequest + */ + latitude?: number | null; + /** + * + * @type {number} + * @memberof UpdateItemRequest + */ + longitude?: number | null; + /** + * + * @type {number} + * @memberof UpdateItemRequest + */ + altitude?: number | null; + /** + * + * @type {number} + * @memberof UpdateItemRequest + */ + isoSpeedRating?: number | null; + /** + * Gets or sets the series timer identifier. + * @type {string} + * @memberof UpdateItemRequest + */ + seriesTimerId?: string | null; + /** + * Gets or sets the program identifier. + * @type {string} + * @memberof UpdateItemRequest + */ + programId?: string | null; + /** + * Gets or sets the channel primary image tag. + * @type {string} + * @memberof UpdateItemRequest + */ + channelPrimaryImageTag?: string | null; + /** + * Gets or sets the start date of the recording, in UTC. + * @type {Date} + * @memberof UpdateItemRequest + */ + startDate?: Date | null; + /** + * Gets or sets the completion percentage. + * @type {number} + * @memberof UpdateItemRequest + */ + completionPercentage?: number | null; + /** + * Gets or sets a value indicating whether this instance is repeat. + * @type {boolean} + * @memberof UpdateItemRequest + */ + isRepeat?: boolean | null; + /** + * Gets or sets the episode title. + * @type {string} + * @memberof UpdateItemRequest + */ + episodeTitle?: string | null; + /** + * + * @type {ChannelType} + * @memberof UpdateItemRequest + */ + channelType?: ChannelType | null; + /** + * + * @type {ProgramAudio} + * @memberof UpdateItemRequest + */ + audio?: ProgramAudio | null; + /** + * Gets or sets a value indicating whether this instance is movie. + * @type {boolean} + * @memberof UpdateItemRequest + */ + isMovie?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is sports. + * @type {boolean} + * @memberof UpdateItemRequest + */ + isSports?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is series. + * @type {boolean} + * @memberof UpdateItemRequest + */ + isSeries?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is live. + * @type {boolean} + * @memberof UpdateItemRequest + */ + isLive?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is news. + * @type {boolean} + * @memberof UpdateItemRequest + */ + isNews?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is kids. + * @type {boolean} + * @memberof UpdateItemRequest + */ + isKids?: boolean | null; + /** + * Gets or sets a value indicating whether this instance is premiere. + * @type {boolean} + * @memberof UpdateItemRequest + */ + isPremiere?: boolean | null; + /** + * Gets or sets the timer identifier. + * @type {string} + * @memberof UpdateItemRequest + */ + timerId?: string | null; + /** + * + * @type {BaseItemDtoCurrentProgram} + * @memberof UpdateItemRequest + */ + currentProgram?: BaseItemDtoCurrentProgram | null; +} + +/** + * Check if a given object implements the UpdateItemRequest interface. + */ +export function instanceOfUpdateItemRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UpdateItemRequestFromJSON(json: any): UpdateItemRequest { + return UpdateItemRequestFromJSONTyped(json, false); +} + +export function UpdateItemRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateItemRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'originalTitle': !exists(json, 'OriginalTitle') ? undefined : json['OriginalTitle'], + 'serverId': !exists(json, 'ServerId') ? undefined : json['ServerId'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'etag': !exists(json, 'Etag') ? undefined : json['Etag'], + 'sourceType': !exists(json, 'SourceType') ? undefined : json['SourceType'], + 'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'], + 'dateCreated': !exists(json, 'DateCreated') ? undefined : (json['DateCreated'] === null ? null : new Date(json['DateCreated'])), + 'dateLastMediaAdded': !exists(json, 'DateLastMediaAdded') ? undefined : (json['DateLastMediaAdded'] === null ? null : new Date(json['DateLastMediaAdded'])), + 'extraType': !exists(json, 'ExtraType') ? undefined : json['ExtraType'], + 'airsBeforeSeasonNumber': !exists(json, 'AirsBeforeSeasonNumber') ? undefined : json['AirsBeforeSeasonNumber'], + 'airsAfterSeasonNumber': !exists(json, 'AirsAfterSeasonNumber') ? undefined : json['AirsAfterSeasonNumber'], + 'airsBeforeEpisodeNumber': !exists(json, 'AirsBeforeEpisodeNumber') ? undefined : json['AirsBeforeEpisodeNumber'], + 'canDelete': !exists(json, 'CanDelete') ? undefined : json['CanDelete'], + 'canDownload': !exists(json, 'CanDownload') ? undefined : json['CanDownload'], + 'hasSubtitles': !exists(json, 'HasSubtitles') ? undefined : json['HasSubtitles'], + 'preferredMetadataLanguage': !exists(json, 'PreferredMetadataLanguage') ? undefined : json['PreferredMetadataLanguage'], + 'preferredMetadataCountryCode': !exists(json, 'PreferredMetadataCountryCode') ? undefined : json['PreferredMetadataCountryCode'], + 'supportsSync': !exists(json, 'SupportsSync') ? undefined : json['SupportsSync'], + 'container': !exists(json, 'Container') ? undefined : json['Container'], + 'sortName': !exists(json, 'SortName') ? undefined : json['SortName'], + 'forcedSortName': !exists(json, 'ForcedSortName') ? undefined : json['ForcedSortName'], + 'video3DFormat': !exists(json, 'Video3DFormat') ? undefined : Video3DFormatFromJSON(json['Video3DFormat']), + 'premiereDate': !exists(json, 'PremiereDate') ? undefined : (json['PremiereDate'] === null ? null : new Date(json['PremiereDate'])), + 'externalUrls': !exists(json, 'ExternalUrls') ? undefined : (json['ExternalUrls'] === null ? null : (json['ExternalUrls'] as Array).map(ExternalUrlFromJSON)), + 'mediaSources': !exists(json, 'MediaSources') ? undefined : (json['MediaSources'] === null ? null : (json['MediaSources'] as Array).map(MediaSourceInfoFromJSON)), + 'criticRating': !exists(json, 'CriticRating') ? undefined : json['CriticRating'], + 'productionLocations': !exists(json, 'ProductionLocations') ? undefined : json['ProductionLocations'], + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'enableMediaSourceDisplay': !exists(json, 'EnableMediaSourceDisplay') ? undefined : json['EnableMediaSourceDisplay'], + 'officialRating': !exists(json, 'OfficialRating') ? undefined : json['OfficialRating'], + 'customRating': !exists(json, 'CustomRating') ? undefined : json['CustomRating'], + 'channelId': !exists(json, 'ChannelId') ? undefined : json['ChannelId'], + 'channelName': !exists(json, 'ChannelName') ? undefined : json['ChannelName'], + 'overview': !exists(json, 'Overview') ? undefined : json['Overview'], + 'taglines': !exists(json, 'Taglines') ? undefined : json['Taglines'], + 'genres': !exists(json, 'Genres') ? undefined : json['Genres'], + 'communityRating': !exists(json, 'CommunityRating') ? undefined : json['CommunityRating'], + 'cumulativeRunTimeTicks': !exists(json, 'CumulativeRunTimeTicks') ? undefined : json['CumulativeRunTimeTicks'], + 'runTimeTicks': !exists(json, 'RunTimeTicks') ? undefined : json['RunTimeTicks'], + 'playAccess': !exists(json, 'PlayAccess') ? undefined : PlayAccessFromJSON(json['PlayAccess']), + 'aspectRatio': !exists(json, 'AspectRatio') ? undefined : json['AspectRatio'], + 'productionYear': !exists(json, 'ProductionYear') ? undefined : json['ProductionYear'], + 'isPlaceHolder': !exists(json, 'IsPlaceHolder') ? undefined : json['IsPlaceHolder'], + 'number': !exists(json, 'Number') ? undefined : json['Number'], + 'channelNumber': !exists(json, 'ChannelNumber') ? undefined : json['ChannelNumber'], + 'indexNumber': !exists(json, 'IndexNumber') ? undefined : json['IndexNumber'], + 'indexNumberEnd': !exists(json, 'IndexNumberEnd') ? undefined : json['IndexNumberEnd'], + 'parentIndexNumber': !exists(json, 'ParentIndexNumber') ? undefined : json['ParentIndexNumber'], + 'remoteTrailers': !exists(json, 'RemoteTrailers') ? undefined : (json['RemoteTrailers'] === null ? null : (json['RemoteTrailers'] as Array).map(MediaUrlFromJSON)), + 'providerIds': !exists(json, 'ProviderIds') ? undefined : json['ProviderIds'], + 'isHD': !exists(json, 'IsHD') ? undefined : json['IsHD'], + 'isFolder': !exists(json, 'IsFolder') ? undefined : json['IsFolder'], + 'parentId': !exists(json, 'ParentId') ? undefined : json['ParentId'], + 'type': !exists(json, 'Type') ? undefined : BaseItemKindFromJSON(json['Type']), + 'people': !exists(json, 'People') ? undefined : (json['People'] === null ? null : (json['People'] as Array).map(BaseItemPersonFromJSON)), + 'studios': !exists(json, 'Studios') ? undefined : (json['Studios'] === null ? null : (json['Studios'] as Array).map(NameGuidPairFromJSON)), + 'genreItems': !exists(json, 'GenreItems') ? undefined : (json['GenreItems'] === null ? null : (json['GenreItems'] as Array).map(NameGuidPairFromJSON)), + 'parentLogoItemId': !exists(json, 'ParentLogoItemId') ? undefined : json['ParentLogoItemId'], + 'parentBackdropItemId': !exists(json, 'ParentBackdropItemId') ? undefined : json['ParentBackdropItemId'], + 'parentBackdropImageTags': !exists(json, 'ParentBackdropImageTags') ? undefined : json['ParentBackdropImageTags'], + 'localTrailerCount': !exists(json, 'LocalTrailerCount') ? undefined : json['LocalTrailerCount'], + 'userData': !exists(json, 'UserData') ? undefined : BaseItemDtoUserDataFromJSON(json['UserData']), + 'recursiveItemCount': !exists(json, 'RecursiveItemCount') ? undefined : json['RecursiveItemCount'], + 'childCount': !exists(json, 'ChildCount') ? undefined : json['ChildCount'], + 'seriesName': !exists(json, 'SeriesName') ? undefined : json['SeriesName'], + 'seriesId': !exists(json, 'SeriesId') ? undefined : json['SeriesId'], + 'seasonId': !exists(json, 'SeasonId') ? undefined : json['SeasonId'], + 'specialFeatureCount': !exists(json, 'SpecialFeatureCount') ? undefined : json['SpecialFeatureCount'], + 'displayPreferencesId': !exists(json, 'DisplayPreferencesId') ? undefined : json['DisplayPreferencesId'], + 'status': !exists(json, 'Status') ? undefined : json['Status'], + 'airTime': !exists(json, 'AirTime') ? undefined : json['AirTime'], + 'airDays': !exists(json, 'AirDays') ? undefined : (json['AirDays'] === null ? null : (json['AirDays'] as Array).map(DayOfWeekFromJSON)), + 'tags': !exists(json, 'Tags') ? undefined : json['Tags'], + 'primaryImageAspectRatio': !exists(json, 'PrimaryImageAspectRatio') ? undefined : json['PrimaryImageAspectRatio'], + 'artists': !exists(json, 'Artists') ? undefined : json['Artists'], + 'artistItems': !exists(json, 'ArtistItems') ? undefined : (json['ArtistItems'] === null ? null : (json['ArtistItems'] as Array).map(NameGuidPairFromJSON)), + 'album': !exists(json, 'Album') ? undefined : json['Album'], + 'collectionType': !exists(json, 'CollectionType') ? undefined : json['CollectionType'], + 'displayOrder': !exists(json, 'DisplayOrder') ? undefined : json['DisplayOrder'], + 'albumId': !exists(json, 'AlbumId') ? undefined : json['AlbumId'], + 'albumPrimaryImageTag': !exists(json, 'AlbumPrimaryImageTag') ? undefined : json['AlbumPrimaryImageTag'], + 'seriesPrimaryImageTag': !exists(json, 'SeriesPrimaryImageTag') ? undefined : json['SeriesPrimaryImageTag'], + 'albumArtist': !exists(json, 'AlbumArtist') ? undefined : json['AlbumArtist'], + 'albumArtists': !exists(json, 'AlbumArtists') ? undefined : (json['AlbumArtists'] === null ? null : (json['AlbumArtists'] as Array).map(NameGuidPairFromJSON)), + 'seasonName': !exists(json, 'SeasonName') ? undefined : json['SeasonName'], + 'mediaStreams': !exists(json, 'MediaStreams') ? undefined : (json['MediaStreams'] === null ? null : (json['MediaStreams'] as Array).map(MediaStreamFromJSON)), + 'videoType': !exists(json, 'VideoType') ? undefined : VideoTypeFromJSON(json['VideoType']), + 'partCount': !exists(json, 'PartCount') ? undefined : json['PartCount'], + 'mediaSourceCount': !exists(json, 'MediaSourceCount') ? undefined : json['MediaSourceCount'], + 'imageTags': !exists(json, 'ImageTags') ? undefined : json['ImageTags'], + 'backdropImageTags': !exists(json, 'BackdropImageTags') ? undefined : json['BackdropImageTags'], + 'screenshotImageTags': !exists(json, 'ScreenshotImageTags') ? undefined : json['ScreenshotImageTags'], + 'parentLogoImageTag': !exists(json, 'ParentLogoImageTag') ? undefined : json['ParentLogoImageTag'], + 'parentArtItemId': !exists(json, 'ParentArtItemId') ? undefined : json['ParentArtItemId'], + 'parentArtImageTag': !exists(json, 'ParentArtImageTag') ? undefined : json['ParentArtImageTag'], + 'seriesThumbImageTag': !exists(json, 'SeriesThumbImageTag') ? undefined : json['SeriesThumbImageTag'], + 'imageBlurHashes': !exists(json, 'ImageBlurHashes') ? undefined : BaseItemDtoImageBlurHashesFromJSON(json['ImageBlurHashes']), + 'seriesStudio': !exists(json, 'SeriesStudio') ? undefined : json['SeriesStudio'], + 'parentThumbItemId': !exists(json, 'ParentThumbItemId') ? undefined : json['ParentThumbItemId'], + 'parentThumbImageTag': !exists(json, 'ParentThumbImageTag') ? undefined : json['ParentThumbImageTag'], + 'parentPrimaryImageItemId': !exists(json, 'ParentPrimaryImageItemId') ? undefined : json['ParentPrimaryImageItemId'], + 'parentPrimaryImageTag': !exists(json, 'ParentPrimaryImageTag') ? undefined : json['ParentPrimaryImageTag'], + 'chapters': !exists(json, 'Chapters') ? undefined : (json['Chapters'] === null ? null : (json['Chapters'] as Array).map(ChapterInfoFromJSON)), + 'locationType': !exists(json, 'LocationType') ? undefined : LocationTypeFromJSON(json['LocationType']), + 'isoType': !exists(json, 'IsoType') ? undefined : IsoTypeFromJSON(json['IsoType']), + 'mediaType': !exists(json, 'MediaType') ? undefined : json['MediaType'], + 'endDate': !exists(json, 'EndDate') ? undefined : (json['EndDate'] === null ? null : new Date(json['EndDate'])), + 'lockedFields': !exists(json, 'LockedFields') ? undefined : (json['LockedFields'] === null ? null : (json['LockedFields'] as Array).map(MetadataFieldFromJSON)), + 'trailerCount': !exists(json, 'TrailerCount') ? undefined : json['TrailerCount'], + 'movieCount': !exists(json, 'MovieCount') ? undefined : json['MovieCount'], + 'seriesCount': !exists(json, 'SeriesCount') ? undefined : json['SeriesCount'], + 'programCount': !exists(json, 'ProgramCount') ? undefined : json['ProgramCount'], + 'episodeCount': !exists(json, 'EpisodeCount') ? undefined : json['EpisodeCount'], + 'songCount': !exists(json, 'SongCount') ? undefined : json['SongCount'], + 'albumCount': !exists(json, 'AlbumCount') ? undefined : json['AlbumCount'], + 'artistCount': !exists(json, 'ArtistCount') ? undefined : json['ArtistCount'], + 'musicVideoCount': !exists(json, 'MusicVideoCount') ? undefined : json['MusicVideoCount'], + 'lockData': !exists(json, 'LockData') ? undefined : json['LockData'], + 'width': !exists(json, 'Width') ? undefined : json['Width'], + 'height': !exists(json, 'Height') ? undefined : json['Height'], + 'cameraMake': !exists(json, 'CameraMake') ? undefined : json['CameraMake'], + 'cameraModel': !exists(json, 'CameraModel') ? undefined : json['CameraModel'], + 'software': !exists(json, 'Software') ? undefined : json['Software'], + 'exposureTime': !exists(json, 'ExposureTime') ? undefined : json['ExposureTime'], + 'focalLength': !exists(json, 'FocalLength') ? undefined : json['FocalLength'], + 'imageOrientation': !exists(json, 'ImageOrientation') ? undefined : ImageOrientationFromJSON(json['ImageOrientation']), + 'aperture': !exists(json, 'Aperture') ? undefined : json['Aperture'], + 'shutterSpeed': !exists(json, 'ShutterSpeed') ? undefined : json['ShutterSpeed'], + 'latitude': !exists(json, 'Latitude') ? undefined : json['Latitude'], + 'longitude': !exists(json, 'Longitude') ? undefined : json['Longitude'], + 'altitude': !exists(json, 'Altitude') ? undefined : json['Altitude'], + 'isoSpeedRating': !exists(json, 'IsoSpeedRating') ? undefined : json['IsoSpeedRating'], + 'seriesTimerId': !exists(json, 'SeriesTimerId') ? undefined : json['SeriesTimerId'], + 'programId': !exists(json, 'ProgramId') ? undefined : json['ProgramId'], + 'channelPrimaryImageTag': !exists(json, 'ChannelPrimaryImageTag') ? undefined : json['ChannelPrimaryImageTag'], + 'startDate': !exists(json, 'StartDate') ? undefined : (json['StartDate'] === null ? null : new Date(json['StartDate'])), + 'completionPercentage': !exists(json, 'CompletionPercentage') ? undefined : json['CompletionPercentage'], + 'isRepeat': !exists(json, 'IsRepeat') ? undefined : json['IsRepeat'], + 'episodeTitle': !exists(json, 'EpisodeTitle') ? undefined : json['EpisodeTitle'], + 'channelType': !exists(json, 'ChannelType') ? undefined : ChannelTypeFromJSON(json['ChannelType']), + 'audio': !exists(json, 'Audio') ? undefined : ProgramAudioFromJSON(json['Audio']), + 'isMovie': !exists(json, 'IsMovie') ? undefined : json['IsMovie'], + 'isSports': !exists(json, 'IsSports') ? undefined : json['IsSports'], + 'isSeries': !exists(json, 'IsSeries') ? undefined : json['IsSeries'], + 'isLive': !exists(json, 'IsLive') ? undefined : json['IsLive'], + 'isNews': !exists(json, 'IsNews') ? undefined : json['IsNews'], + 'isKids': !exists(json, 'IsKids') ? undefined : json['IsKids'], + 'isPremiere': !exists(json, 'IsPremiere') ? undefined : json['IsPremiere'], + 'timerId': !exists(json, 'TimerId') ? undefined : json['TimerId'], + 'currentProgram': !exists(json, 'CurrentProgram') ? undefined : BaseItemDtoCurrentProgramFromJSON(json['CurrentProgram']), + }; +} + +export function UpdateItemRequestToJSON(value?: UpdateItemRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'OriginalTitle': value.originalTitle, + 'ServerId': value.serverId, + 'Id': value.id, + 'Etag': value.etag, + 'SourceType': value.sourceType, + 'PlaylistItemId': value.playlistItemId, + 'DateCreated': value.dateCreated === undefined ? undefined : (value.dateCreated === null ? null : value.dateCreated.toISOString()), + 'DateLastMediaAdded': value.dateLastMediaAdded === undefined ? undefined : (value.dateLastMediaAdded === null ? null : value.dateLastMediaAdded.toISOString()), + 'ExtraType': value.extraType, + 'AirsBeforeSeasonNumber': value.airsBeforeSeasonNumber, + 'AirsAfterSeasonNumber': value.airsAfterSeasonNumber, + 'AirsBeforeEpisodeNumber': value.airsBeforeEpisodeNumber, + 'CanDelete': value.canDelete, + 'CanDownload': value.canDownload, + 'HasSubtitles': value.hasSubtitles, + 'PreferredMetadataLanguage': value.preferredMetadataLanguage, + 'PreferredMetadataCountryCode': value.preferredMetadataCountryCode, + 'SupportsSync': value.supportsSync, + 'Container': value.container, + 'SortName': value.sortName, + 'ForcedSortName': value.forcedSortName, + 'Video3DFormat': Video3DFormatToJSON(value.video3DFormat), + 'PremiereDate': value.premiereDate === undefined ? undefined : (value.premiereDate === null ? null : value.premiereDate.toISOString()), + 'ExternalUrls': value.externalUrls === undefined ? undefined : (value.externalUrls === null ? null : (value.externalUrls as Array).map(ExternalUrlToJSON)), + 'MediaSources': value.mediaSources === undefined ? undefined : (value.mediaSources === null ? null : (value.mediaSources as Array).map(MediaSourceInfoToJSON)), + 'CriticRating': value.criticRating, + 'ProductionLocations': value.productionLocations, + 'Path': value.path, + 'EnableMediaSourceDisplay': value.enableMediaSourceDisplay, + 'OfficialRating': value.officialRating, + 'CustomRating': value.customRating, + 'ChannelId': value.channelId, + 'ChannelName': value.channelName, + 'Overview': value.overview, + 'Taglines': value.taglines, + 'Genres': value.genres, + 'CommunityRating': value.communityRating, + 'CumulativeRunTimeTicks': value.cumulativeRunTimeTicks, + 'RunTimeTicks': value.runTimeTicks, + 'PlayAccess': PlayAccessToJSON(value.playAccess), + 'AspectRatio': value.aspectRatio, + 'ProductionYear': value.productionYear, + 'IsPlaceHolder': value.isPlaceHolder, + 'Number': value.number, + 'ChannelNumber': value.channelNumber, + 'IndexNumber': value.indexNumber, + 'IndexNumberEnd': value.indexNumberEnd, + 'ParentIndexNumber': value.parentIndexNumber, + 'RemoteTrailers': value.remoteTrailers === undefined ? undefined : (value.remoteTrailers === null ? null : (value.remoteTrailers as Array).map(MediaUrlToJSON)), + 'ProviderIds': value.providerIds, + 'IsHD': value.isHD, + 'IsFolder': value.isFolder, + 'ParentId': value.parentId, + 'Type': BaseItemKindToJSON(value.type), + 'People': value.people === undefined ? undefined : (value.people === null ? null : (value.people as Array).map(BaseItemPersonToJSON)), + 'Studios': value.studios === undefined ? undefined : (value.studios === null ? null : (value.studios as Array).map(NameGuidPairToJSON)), + 'GenreItems': value.genreItems === undefined ? undefined : (value.genreItems === null ? null : (value.genreItems as Array).map(NameGuidPairToJSON)), + 'ParentLogoItemId': value.parentLogoItemId, + 'ParentBackdropItemId': value.parentBackdropItemId, + 'ParentBackdropImageTags': value.parentBackdropImageTags, + 'LocalTrailerCount': value.localTrailerCount, + 'UserData': BaseItemDtoUserDataToJSON(value.userData), + 'RecursiveItemCount': value.recursiveItemCount, + 'ChildCount': value.childCount, + 'SeriesName': value.seriesName, + 'SeriesId': value.seriesId, + 'SeasonId': value.seasonId, + 'SpecialFeatureCount': value.specialFeatureCount, + 'DisplayPreferencesId': value.displayPreferencesId, + 'Status': value.status, + 'AirTime': value.airTime, + 'AirDays': value.airDays === undefined ? undefined : (value.airDays === null ? null : (value.airDays as Array).map(DayOfWeekToJSON)), + 'Tags': value.tags, + 'PrimaryImageAspectRatio': value.primaryImageAspectRatio, + 'Artists': value.artists, + 'ArtistItems': value.artistItems === undefined ? undefined : (value.artistItems === null ? null : (value.artistItems as Array).map(NameGuidPairToJSON)), + 'Album': value.album, + 'CollectionType': value.collectionType, + 'DisplayOrder': value.displayOrder, + 'AlbumId': value.albumId, + 'AlbumPrimaryImageTag': value.albumPrimaryImageTag, + 'SeriesPrimaryImageTag': value.seriesPrimaryImageTag, + 'AlbumArtist': value.albumArtist, + 'AlbumArtists': value.albumArtists === undefined ? undefined : (value.albumArtists === null ? null : (value.albumArtists as Array).map(NameGuidPairToJSON)), + 'SeasonName': value.seasonName, + 'MediaStreams': value.mediaStreams === undefined ? undefined : (value.mediaStreams === null ? null : (value.mediaStreams as Array).map(MediaStreamToJSON)), + 'VideoType': VideoTypeToJSON(value.videoType), + 'PartCount': value.partCount, + 'MediaSourceCount': value.mediaSourceCount, + 'ImageTags': value.imageTags, + 'BackdropImageTags': value.backdropImageTags, + 'ScreenshotImageTags': value.screenshotImageTags, + 'ParentLogoImageTag': value.parentLogoImageTag, + 'ParentArtItemId': value.parentArtItemId, + 'ParentArtImageTag': value.parentArtImageTag, + 'SeriesThumbImageTag': value.seriesThumbImageTag, + 'ImageBlurHashes': BaseItemDtoImageBlurHashesToJSON(value.imageBlurHashes), + 'SeriesStudio': value.seriesStudio, + 'ParentThumbItemId': value.parentThumbItemId, + 'ParentThumbImageTag': value.parentThumbImageTag, + 'ParentPrimaryImageItemId': value.parentPrimaryImageItemId, + 'ParentPrimaryImageTag': value.parentPrimaryImageTag, + 'Chapters': value.chapters === undefined ? undefined : (value.chapters === null ? null : (value.chapters as Array).map(ChapterInfoToJSON)), + 'LocationType': LocationTypeToJSON(value.locationType), + 'IsoType': IsoTypeToJSON(value.isoType), + 'MediaType': value.mediaType, + 'EndDate': value.endDate === undefined ? undefined : (value.endDate === null ? null : value.endDate.toISOString()), + 'LockedFields': value.lockedFields === undefined ? undefined : (value.lockedFields === null ? null : (value.lockedFields as Array).map(MetadataFieldToJSON)), + 'TrailerCount': value.trailerCount, + 'MovieCount': value.movieCount, + 'SeriesCount': value.seriesCount, + 'ProgramCount': value.programCount, + 'EpisodeCount': value.episodeCount, + 'SongCount': value.songCount, + 'AlbumCount': value.albumCount, + 'ArtistCount': value.artistCount, + 'MusicVideoCount': value.musicVideoCount, + 'LockData': value.lockData, + 'Width': value.width, + 'Height': value.height, + 'CameraMake': value.cameraMake, + 'CameraModel': value.cameraModel, + 'Software': value.software, + 'ExposureTime': value.exposureTime, + 'FocalLength': value.focalLength, + 'ImageOrientation': ImageOrientationToJSON(value.imageOrientation), + 'Aperture': value.aperture, + 'ShutterSpeed': value.shutterSpeed, + 'Latitude': value.latitude, + 'Longitude': value.longitude, + 'Altitude': value.altitude, + 'IsoSpeedRating': value.isoSpeedRating, + 'SeriesTimerId': value.seriesTimerId, + 'ProgramId': value.programId, + 'ChannelPrimaryImageTag': value.channelPrimaryImageTag, + 'StartDate': value.startDate === undefined ? undefined : (value.startDate === null ? null : value.startDate.toISOString()), + 'CompletionPercentage': value.completionPercentage, + 'IsRepeat': value.isRepeat, + 'EpisodeTitle': value.episodeTitle, + 'ChannelType': ChannelTypeToJSON(value.channelType), + 'Audio': ProgramAudioToJSON(value.audio), + 'IsMovie': value.isMovie, + 'IsSports': value.isSports, + 'IsSeries': value.isSeries, + 'IsLive': value.isLive, + 'IsNews': value.isNews, + 'IsKids': value.isKids, + 'IsPremiere': value.isPremiere, + 'TimerId': value.timerId, + 'CurrentProgram': BaseItemDtoCurrentProgramToJSON(value.currentProgram), + }; +} + diff --git a/server/jellyfin/models/UpdateLibraryOptionsDto.ts b/server/jellyfin/models/UpdateLibraryOptionsDto.ts new file mode 100644 index 0000000..f3cde9b --- /dev/null +++ b/server/jellyfin/models/UpdateLibraryOptionsDto.ts @@ -0,0 +1,80 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { AddVirtualFolderDtoLibraryOptions } from './AddVirtualFolderDtoLibraryOptions'; +import { + AddVirtualFolderDtoLibraryOptionsFromJSON, + AddVirtualFolderDtoLibraryOptionsFromJSONTyped, + AddVirtualFolderDtoLibraryOptionsToJSON, +} from './AddVirtualFolderDtoLibraryOptions'; + +/** + * Update library options dto. + * @export + * @interface UpdateLibraryOptionsDto + */ +export interface UpdateLibraryOptionsDto { + /** + * Gets or sets the library item id. + * @type {string} + * @memberof UpdateLibraryOptionsDto + */ + id?: string; + /** + * + * @type {AddVirtualFolderDtoLibraryOptions} + * @memberof UpdateLibraryOptionsDto + */ + libraryOptions?: AddVirtualFolderDtoLibraryOptions | null; +} + +/** + * Check if a given object implements the UpdateLibraryOptionsDto interface. + */ +export function instanceOfUpdateLibraryOptionsDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UpdateLibraryOptionsDtoFromJSON(json: any): UpdateLibraryOptionsDto { + return UpdateLibraryOptionsDtoFromJSONTyped(json, false); +} + +export function UpdateLibraryOptionsDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateLibraryOptionsDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'libraryOptions': !exists(json, 'LibraryOptions') ? undefined : AddVirtualFolderDtoLibraryOptionsFromJSON(json['LibraryOptions']), + }; +} + +export function UpdateLibraryOptionsDtoToJSON(value?: UpdateLibraryOptionsDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Id': value.id, + 'LibraryOptions': AddVirtualFolderDtoLibraryOptionsToJSON(value.libraryOptions), + }; +} + diff --git a/server/jellyfin/models/UpdateLibraryOptionsRequest.ts b/server/jellyfin/models/UpdateLibraryOptionsRequest.ts new file mode 100644 index 0000000..f526859 --- /dev/null +++ b/server/jellyfin/models/UpdateLibraryOptionsRequest.ts @@ -0,0 +1,80 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { AddVirtualFolderDtoLibraryOptions } from './AddVirtualFolderDtoLibraryOptions'; +import { + AddVirtualFolderDtoLibraryOptionsFromJSON, + AddVirtualFolderDtoLibraryOptionsFromJSONTyped, + AddVirtualFolderDtoLibraryOptionsToJSON, +} from './AddVirtualFolderDtoLibraryOptions'; + +/** + * Update library options dto. + * @export + * @interface UpdateLibraryOptionsRequest + */ +export interface UpdateLibraryOptionsRequest { + /** + * Gets or sets the library item id. + * @type {string} + * @memberof UpdateLibraryOptionsRequest + */ + id?: string; + /** + * + * @type {AddVirtualFolderDtoLibraryOptions} + * @memberof UpdateLibraryOptionsRequest + */ + libraryOptions?: AddVirtualFolderDtoLibraryOptions | null; +} + +/** + * Check if a given object implements the UpdateLibraryOptionsRequest interface. + */ +export function instanceOfUpdateLibraryOptionsRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UpdateLibraryOptionsRequestFromJSON(json: any): UpdateLibraryOptionsRequest { + return UpdateLibraryOptionsRequestFromJSONTyped(json, false); +} + +export function UpdateLibraryOptionsRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateLibraryOptionsRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'libraryOptions': !exists(json, 'LibraryOptions') ? undefined : AddVirtualFolderDtoLibraryOptionsFromJSON(json['LibraryOptions']), + }; +} + +export function UpdateLibraryOptionsRequestToJSON(value?: UpdateLibraryOptionsRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Id': value.id, + 'LibraryOptions': AddVirtualFolderDtoLibraryOptionsToJSON(value.libraryOptions), + }; +} + diff --git a/server/jellyfin/models/UpdateMediaEncoderPathRequest.ts b/server/jellyfin/models/UpdateMediaEncoderPathRequest.ts new file mode 100644 index 0000000..be3e929 --- /dev/null +++ b/server/jellyfin/models/UpdateMediaEncoderPathRequest.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Media Encoder Path Dto. + * @export + * @interface UpdateMediaEncoderPathRequest + */ +export interface UpdateMediaEncoderPathRequest { + /** + * Gets or sets media encoder path. + * @type {string} + * @memberof UpdateMediaEncoderPathRequest + */ + path?: string; + /** + * Gets or sets media encoder path type. + * @type {string} + * @memberof UpdateMediaEncoderPathRequest + */ + pathType?: string; +} + +/** + * Check if a given object implements the UpdateMediaEncoderPathRequest interface. + */ +export function instanceOfUpdateMediaEncoderPathRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UpdateMediaEncoderPathRequestFromJSON(json: any): UpdateMediaEncoderPathRequest { + return UpdateMediaEncoderPathRequestFromJSONTyped(json, false); +} + +export function UpdateMediaEncoderPathRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateMediaEncoderPathRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'pathType': !exists(json, 'PathType') ? undefined : json['PathType'], + }; +} + +export function UpdateMediaEncoderPathRequestToJSON(value?: UpdateMediaEncoderPathRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Path': value.path, + 'PathType': value.pathType, + }; +} + diff --git a/server/jellyfin/models/UpdateMediaPathRequest.ts b/server/jellyfin/models/UpdateMediaPathRequest.ts new file mode 100644 index 0000000..f84efe8 --- /dev/null +++ b/server/jellyfin/models/UpdateMediaPathRequest.ts @@ -0,0 +1,82 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { UpdateMediaPathRequestDtoPathInfo } from './UpdateMediaPathRequestDtoPathInfo'; +import { + UpdateMediaPathRequestDtoPathInfoFromJSON, + UpdateMediaPathRequestDtoPathInfoFromJSONTyped, + UpdateMediaPathRequestDtoPathInfoToJSON, +} from './UpdateMediaPathRequestDtoPathInfo'; + +/** + * Update library options dto. + * @export + * @interface UpdateMediaPathRequest + */ +export interface UpdateMediaPathRequest { + /** + * Gets or sets the library name. + * @type {string} + * @memberof UpdateMediaPathRequest + */ + name: string; + /** + * + * @type {UpdateMediaPathRequestDtoPathInfo} + * @memberof UpdateMediaPathRequest + */ + pathInfo: UpdateMediaPathRequestDtoPathInfo; +} + +/** + * Check if a given object implements the UpdateMediaPathRequest interface. + */ +export function instanceOfUpdateMediaPathRequest(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "pathInfo" in value; + + return isInstance; +} + +export function UpdateMediaPathRequestFromJSON(json: any): UpdateMediaPathRequest { + return UpdateMediaPathRequestFromJSONTyped(json, false); +} + +export function UpdateMediaPathRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateMediaPathRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': json['Name'], + 'pathInfo': UpdateMediaPathRequestDtoPathInfoFromJSON(json['PathInfo']), + }; +} + +export function UpdateMediaPathRequestToJSON(value?: UpdateMediaPathRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'PathInfo': UpdateMediaPathRequestDtoPathInfoToJSON(value.pathInfo), + }; +} + diff --git a/server/jellyfin/models/UpdateMediaPathRequestDto.ts b/server/jellyfin/models/UpdateMediaPathRequestDto.ts new file mode 100644 index 0000000..b180941 --- /dev/null +++ b/server/jellyfin/models/UpdateMediaPathRequestDto.ts @@ -0,0 +1,82 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { UpdateMediaPathRequestDtoPathInfo } from './UpdateMediaPathRequestDtoPathInfo'; +import { + UpdateMediaPathRequestDtoPathInfoFromJSON, + UpdateMediaPathRequestDtoPathInfoFromJSONTyped, + UpdateMediaPathRequestDtoPathInfoToJSON, +} from './UpdateMediaPathRequestDtoPathInfo'; + +/** + * Update library options dto. + * @export + * @interface UpdateMediaPathRequestDto + */ +export interface UpdateMediaPathRequestDto { + /** + * Gets or sets the library name. + * @type {string} + * @memberof UpdateMediaPathRequestDto + */ + name: string; + /** + * + * @type {UpdateMediaPathRequestDtoPathInfo} + * @memberof UpdateMediaPathRequestDto + */ + pathInfo: UpdateMediaPathRequestDtoPathInfo; +} + +/** + * Check if a given object implements the UpdateMediaPathRequestDto interface. + */ +export function instanceOfUpdateMediaPathRequestDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "pathInfo" in value; + + return isInstance; +} + +export function UpdateMediaPathRequestDtoFromJSON(json: any): UpdateMediaPathRequestDto { + return UpdateMediaPathRequestDtoFromJSONTyped(json, false); +} + +export function UpdateMediaPathRequestDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateMediaPathRequestDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': json['Name'], + 'pathInfo': UpdateMediaPathRequestDtoPathInfoFromJSON(json['PathInfo']), + }; +} + +export function UpdateMediaPathRequestDtoToJSON(value?: UpdateMediaPathRequestDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'PathInfo': UpdateMediaPathRequestDtoPathInfoToJSON(value.pathInfo), + }; +} + diff --git a/server/jellyfin/models/UpdateMediaPathRequestDtoPathInfo.ts b/server/jellyfin/models/UpdateMediaPathRequestDtoPathInfo.ts new file mode 100644 index 0000000..18a9306 --- /dev/null +++ b/server/jellyfin/models/UpdateMediaPathRequestDtoPathInfo.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Gets or sets library folder path information. + * @export + * @interface UpdateMediaPathRequestDtoPathInfo + */ +export interface UpdateMediaPathRequestDtoPathInfo { + /** + * + * @type {string} + * @memberof UpdateMediaPathRequestDtoPathInfo + */ + path?: string; + /** + * + * @type {string} + * @memberof UpdateMediaPathRequestDtoPathInfo + */ + networkPath?: string | null; +} + +/** + * Check if a given object implements the UpdateMediaPathRequestDtoPathInfo interface. + */ +export function instanceOfUpdateMediaPathRequestDtoPathInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UpdateMediaPathRequestDtoPathInfoFromJSON(json: any): UpdateMediaPathRequestDtoPathInfo { + return UpdateMediaPathRequestDtoPathInfoFromJSONTyped(json, false); +} + +export function UpdateMediaPathRequestDtoPathInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateMediaPathRequestDtoPathInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'networkPath': !exists(json, 'NetworkPath') ? undefined : json['NetworkPath'], + }; +} + +export function UpdateMediaPathRequestDtoPathInfoToJSON(value?: UpdateMediaPathRequestDtoPathInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Path': value.path, + 'NetworkPath': value.networkPath, + }; +} + diff --git a/server/jellyfin/models/UpdateStartupUserRequest.ts b/server/jellyfin/models/UpdateStartupUserRequest.ts new file mode 100644 index 0000000..4bfd06a --- /dev/null +++ b/server/jellyfin/models/UpdateStartupUserRequest.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * The startup user DTO. + * @export + * @interface UpdateStartupUserRequest + */ +export interface UpdateStartupUserRequest { + /** + * Gets or sets the username. + * @type {string} + * @memberof UpdateStartupUserRequest + */ + name?: string | null; + /** + * Gets or sets the user's password. + * @type {string} + * @memberof UpdateStartupUserRequest + */ + password?: string | null; +} + +/** + * Check if a given object implements the UpdateStartupUserRequest interface. + */ +export function instanceOfUpdateStartupUserRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UpdateStartupUserRequestFromJSON(json: any): UpdateStartupUserRequest { + return UpdateStartupUserRequestFromJSONTyped(json, false); +} + +export function UpdateStartupUserRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateStartupUserRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'password': !exists(json, 'Password') ? undefined : json['Password'], + }; +} + +export function UpdateStartupUserRequestToJSON(value?: UpdateStartupUserRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Password': value.password, + }; +} + diff --git a/server/jellyfin/models/UpdateUserConfigurationRequest.ts b/server/jellyfin/models/UpdateUserConfigurationRequest.ts new file mode 100644 index 0000000..07180fb --- /dev/null +++ b/server/jellyfin/models/UpdateUserConfigurationRequest.ts @@ -0,0 +1,184 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { SubtitlePlaybackMode } from './SubtitlePlaybackMode'; +import { + SubtitlePlaybackModeFromJSON, + SubtitlePlaybackModeFromJSONTyped, + SubtitlePlaybackModeToJSON, +} from './SubtitlePlaybackMode'; + +/** + * Class UserConfiguration. + * @export + * @interface UpdateUserConfigurationRequest + */ +export interface UpdateUserConfigurationRequest { + /** + * Gets or sets the audio language preference. + * @type {string} + * @memberof UpdateUserConfigurationRequest + */ + audioLanguagePreference?: string | null; + /** + * Gets or sets a value indicating whether [play default audio track]. + * @type {boolean} + * @memberof UpdateUserConfigurationRequest + */ + playDefaultAudioTrack?: boolean; + /** + * Gets or sets the subtitle language preference. + * @type {string} + * @memberof UpdateUserConfigurationRequest + */ + subtitleLanguagePreference?: string | null; + /** + * + * @type {boolean} + * @memberof UpdateUserConfigurationRequest + */ + displayMissingEpisodes?: boolean; + /** + * + * @type {Array} + * @memberof UpdateUserConfigurationRequest + */ + groupedFolders?: Array; + /** + * + * @type {SubtitlePlaybackMode} + * @memberof UpdateUserConfigurationRequest + */ + subtitleMode?: SubtitlePlaybackMode; + /** + * + * @type {boolean} + * @memberof UpdateUserConfigurationRequest + */ + displayCollectionsView?: boolean; + /** + * + * @type {boolean} + * @memberof UpdateUserConfigurationRequest + */ + enableLocalPassword?: boolean; + /** + * + * @type {Array} + * @memberof UpdateUserConfigurationRequest + */ + orderedViews?: Array; + /** + * + * @type {Array} + * @memberof UpdateUserConfigurationRequest + */ + latestItemsExcludes?: Array; + /** + * + * @type {Array} + * @memberof UpdateUserConfigurationRequest + */ + myMediaExcludes?: Array; + /** + * + * @type {boolean} + * @memberof UpdateUserConfigurationRequest + */ + hidePlayedInLatest?: boolean; + /** + * + * @type {boolean} + * @memberof UpdateUserConfigurationRequest + */ + rememberAudioSelections?: boolean; + /** + * + * @type {boolean} + * @memberof UpdateUserConfigurationRequest + */ + rememberSubtitleSelections?: boolean; + /** + * + * @type {boolean} + * @memberof UpdateUserConfigurationRequest + */ + enableNextEpisodeAutoPlay?: boolean; +} + +/** + * Check if a given object implements the UpdateUserConfigurationRequest interface. + */ +export function instanceOfUpdateUserConfigurationRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UpdateUserConfigurationRequestFromJSON(json: any): UpdateUserConfigurationRequest { + return UpdateUserConfigurationRequestFromJSONTyped(json, false); +} + +export function UpdateUserConfigurationRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateUserConfigurationRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'audioLanguagePreference': !exists(json, 'AudioLanguagePreference') ? undefined : json['AudioLanguagePreference'], + 'playDefaultAudioTrack': !exists(json, 'PlayDefaultAudioTrack') ? undefined : json['PlayDefaultAudioTrack'], + 'subtitleLanguagePreference': !exists(json, 'SubtitleLanguagePreference') ? undefined : json['SubtitleLanguagePreference'], + 'displayMissingEpisodes': !exists(json, 'DisplayMissingEpisodes') ? undefined : json['DisplayMissingEpisodes'], + 'groupedFolders': !exists(json, 'GroupedFolders') ? undefined : json['GroupedFolders'], + 'subtitleMode': !exists(json, 'SubtitleMode') ? undefined : SubtitlePlaybackModeFromJSON(json['SubtitleMode']), + 'displayCollectionsView': !exists(json, 'DisplayCollectionsView') ? undefined : json['DisplayCollectionsView'], + 'enableLocalPassword': !exists(json, 'EnableLocalPassword') ? undefined : json['EnableLocalPassword'], + 'orderedViews': !exists(json, 'OrderedViews') ? undefined : json['OrderedViews'], + 'latestItemsExcludes': !exists(json, 'LatestItemsExcludes') ? undefined : json['LatestItemsExcludes'], + 'myMediaExcludes': !exists(json, 'MyMediaExcludes') ? undefined : json['MyMediaExcludes'], + 'hidePlayedInLatest': !exists(json, 'HidePlayedInLatest') ? undefined : json['HidePlayedInLatest'], + 'rememberAudioSelections': !exists(json, 'RememberAudioSelections') ? undefined : json['RememberAudioSelections'], + 'rememberSubtitleSelections': !exists(json, 'RememberSubtitleSelections') ? undefined : json['RememberSubtitleSelections'], + 'enableNextEpisodeAutoPlay': !exists(json, 'EnableNextEpisodeAutoPlay') ? undefined : json['EnableNextEpisodeAutoPlay'], + }; +} + +export function UpdateUserConfigurationRequestToJSON(value?: UpdateUserConfigurationRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'AudioLanguagePreference': value.audioLanguagePreference, + 'PlayDefaultAudioTrack': value.playDefaultAudioTrack, + 'SubtitleLanguagePreference': value.subtitleLanguagePreference, + 'DisplayMissingEpisodes': value.displayMissingEpisodes, + 'GroupedFolders': value.groupedFolders, + 'SubtitleMode': SubtitlePlaybackModeToJSON(value.subtitleMode), + 'DisplayCollectionsView': value.displayCollectionsView, + 'EnableLocalPassword': value.enableLocalPassword, + 'OrderedViews': value.orderedViews, + 'LatestItemsExcludes': value.latestItemsExcludes, + 'MyMediaExcludes': value.myMediaExcludes, + 'HidePlayedInLatest': value.hidePlayedInLatest, + 'RememberAudioSelections': value.rememberAudioSelections, + 'RememberSubtitleSelections': value.rememberSubtitleSelections, + 'EnableNextEpisodeAutoPlay': value.enableNextEpisodeAutoPlay, + }; +} + diff --git a/server/jellyfin/models/UpdateUserEasyPassword.ts b/server/jellyfin/models/UpdateUserEasyPassword.ts new file mode 100644 index 0000000..7e36dca --- /dev/null +++ b/server/jellyfin/models/UpdateUserEasyPassword.ts @@ -0,0 +1,81 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * The update user easy password request body. + * @export + * @interface UpdateUserEasyPassword + */ +export interface UpdateUserEasyPassword { + /** + * Gets or sets the new sha1-hashed password. + * @type {string} + * @memberof UpdateUserEasyPassword + */ + newPassword?: string | null; + /** + * Gets or sets the new password. + * @type {string} + * @memberof UpdateUserEasyPassword + */ + newPw?: string | null; + /** + * Gets or sets a value indicating whether to reset the password. + * @type {boolean} + * @memberof UpdateUserEasyPassword + */ + resetPassword?: boolean; +} + +/** + * Check if a given object implements the UpdateUserEasyPassword interface. + */ +export function instanceOfUpdateUserEasyPassword(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UpdateUserEasyPasswordFromJSON(json: any): UpdateUserEasyPassword { + return UpdateUserEasyPasswordFromJSONTyped(json, false); +} + +export function UpdateUserEasyPasswordFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateUserEasyPassword { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'newPassword': !exists(json, 'NewPassword') ? undefined : json['NewPassword'], + 'newPw': !exists(json, 'NewPw') ? undefined : json['NewPw'], + 'resetPassword': !exists(json, 'ResetPassword') ? undefined : json['ResetPassword'], + }; +} + +export function UpdateUserEasyPasswordToJSON(value?: UpdateUserEasyPassword | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'NewPassword': value.newPassword, + 'NewPw': value.newPw, + 'ResetPassword': value.resetPassword, + }; +} + diff --git a/server/jellyfin/models/UpdateUserEasyPasswordRequest.ts b/server/jellyfin/models/UpdateUserEasyPasswordRequest.ts new file mode 100644 index 0000000..41ee0f5 --- /dev/null +++ b/server/jellyfin/models/UpdateUserEasyPasswordRequest.ts @@ -0,0 +1,81 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * The update user easy password request body. + * @export + * @interface UpdateUserEasyPasswordRequest + */ +export interface UpdateUserEasyPasswordRequest { + /** + * Gets or sets the new sha1-hashed password. + * @type {string} + * @memberof UpdateUserEasyPasswordRequest + */ + newPassword?: string | null; + /** + * Gets or sets the new password. + * @type {string} + * @memberof UpdateUserEasyPasswordRequest + */ + newPw?: string | null; + /** + * Gets or sets a value indicating whether to reset the password. + * @type {boolean} + * @memberof UpdateUserEasyPasswordRequest + */ + resetPassword?: boolean; +} + +/** + * Check if a given object implements the UpdateUserEasyPasswordRequest interface. + */ +export function instanceOfUpdateUserEasyPasswordRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UpdateUserEasyPasswordRequestFromJSON(json: any): UpdateUserEasyPasswordRequest { + return UpdateUserEasyPasswordRequestFromJSONTyped(json, false); +} + +export function UpdateUserEasyPasswordRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateUserEasyPasswordRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'newPassword': !exists(json, 'NewPassword') ? undefined : json['NewPassword'], + 'newPw': !exists(json, 'NewPw') ? undefined : json['NewPw'], + 'resetPassword': !exists(json, 'ResetPassword') ? undefined : json['ResetPassword'], + }; +} + +export function UpdateUserEasyPasswordRequestToJSON(value?: UpdateUserEasyPasswordRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'NewPassword': value.newPassword, + 'NewPw': value.newPw, + 'ResetPassword': value.resetPassword, + }; +} + diff --git a/server/jellyfin/models/UpdateUserPassword.ts b/server/jellyfin/models/UpdateUserPassword.ts new file mode 100644 index 0000000..423b321 --- /dev/null +++ b/server/jellyfin/models/UpdateUserPassword.ts @@ -0,0 +1,89 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * The update user password request body. + * @export + * @interface UpdateUserPassword + */ +export interface UpdateUserPassword { + /** + * Gets or sets the current sha1-hashed password. + * @type {string} + * @memberof UpdateUserPassword + */ + currentPassword?: string | null; + /** + * Gets or sets the current plain text password. + * @type {string} + * @memberof UpdateUserPassword + */ + currentPw?: string | null; + /** + * Gets or sets the new plain text password. + * @type {string} + * @memberof UpdateUserPassword + */ + newPw?: string | null; + /** + * Gets or sets a value indicating whether to reset the password. + * @type {boolean} + * @memberof UpdateUserPassword + */ + resetPassword?: boolean; +} + +/** + * Check if a given object implements the UpdateUserPassword interface. + */ +export function instanceOfUpdateUserPassword(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UpdateUserPasswordFromJSON(json: any): UpdateUserPassword { + return UpdateUserPasswordFromJSONTyped(json, false); +} + +export function UpdateUserPasswordFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateUserPassword { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'currentPassword': !exists(json, 'CurrentPassword') ? undefined : json['CurrentPassword'], + 'currentPw': !exists(json, 'CurrentPw') ? undefined : json['CurrentPw'], + 'newPw': !exists(json, 'NewPw') ? undefined : json['NewPw'], + 'resetPassword': !exists(json, 'ResetPassword') ? undefined : json['ResetPassword'], + }; +} + +export function UpdateUserPasswordToJSON(value?: UpdateUserPassword | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'CurrentPassword': value.currentPassword, + 'CurrentPw': value.currentPw, + 'NewPw': value.newPw, + 'ResetPassword': value.resetPassword, + }; +} + diff --git a/server/jellyfin/models/UpdateUserPasswordRequest.ts b/server/jellyfin/models/UpdateUserPasswordRequest.ts new file mode 100644 index 0000000..fceaf57 --- /dev/null +++ b/server/jellyfin/models/UpdateUserPasswordRequest.ts @@ -0,0 +1,89 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * The update user password request body. + * @export + * @interface UpdateUserPasswordRequest + */ +export interface UpdateUserPasswordRequest { + /** + * Gets or sets the current sha1-hashed password. + * @type {string} + * @memberof UpdateUserPasswordRequest + */ + currentPassword?: string | null; + /** + * Gets or sets the current plain text password. + * @type {string} + * @memberof UpdateUserPasswordRequest + */ + currentPw?: string | null; + /** + * Gets or sets the new plain text password. + * @type {string} + * @memberof UpdateUserPasswordRequest + */ + newPw?: string | null; + /** + * Gets or sets a value indicating whether to reset the password. + * @type {boolean} + * @memberof UpdateUserPasswordRequest + */ + resetPassword?: boolean; +} + +/** + * Check if a given object implements the UpdateUserPasswordRequest interface. + */ +export function instanceOfUpdateUserPasswordRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UpdateUserPasswordRequestFromJSON(json: any): UpdateUserPasswordRequest { + return UpdateUserPasswordRequestFromJSONTyped(json, false); +} + +export function UpdateUserPasswordRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateUserPasswordRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'currentPassword': !exists(json, 'CurrentPassword') ? undefined : json['CurrentPassword'], + 'currentPw': !exists(json, 'CurrentPw') ? undefined : json['CurrentPw'], + 'newPw': !exists(json, 'NewPw') ? undefined : json['NewPw'], + 'resetPassword': !exists(json, 'ResetPassword') ? undefined : json['ResetPassword'], + }; +} + +export function UpdateUserPasswordRequestToJSON(value?: UpdateUserPasswordRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'CurrentPassword': value.currentPassword, + 'CurrentPw': value.currentPw, + 'NewPw': value.newPw, + 'ResetPassword': value.resetPassword, + }; +} + diff --git a/server/jellyfin/models/UpdateUserPolicyRequest.ts b/server/jellyfin/models/UpdateUserPolicyRequest.ts new file mode 100644 index 0000000..0a92ab3 --- /dev/null +++ b/server/jellyfin/models/UpdateUserPolicyRequest.ts @@ -0,0 +1,388 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { AccessSchedule } from './AccessSchedule'; +import { + AccessScheduleFromJSON, + AccessScheduleFromJSONTyped, + AccessScheduleToJSON, +} from './AccessSchedule'; +import type { SyncPlayUserAccessType } from './SyncPlayUserAccessType'; +import { + SyncPlayUserAccessTypeFromJSON, + SyncPlayUserAccessTypeFromJSONTyped, + SyncPlayUserAccessTypeToJSON, +} from './SyncPlayUserAccessType'; +import type { UnratedItem } from './UnratedItem'; +import { + UnratedItemFromJSON, + UnratedItemFromJSONTyped, + UnratedItemToJSON, +} from './UnratedItem'; + +/** + * + * @export + * @interface UpdateUserPolicyRequest + */ +export interface UpdateUserPolicyRequest { + /** + * Gets or sets a value indicating whether this instance is administrator. + * @type {boolean} + * @memberof UpdateUserPolicyRequest + */ + isAdministrator?: boolean; + /** + * Gets or sets a value indicating whether this instance is hidden. + * @type {boolean} + * @memberof UpdateUserPolicyRequest + */ + isHidden?: boolean; + /** + * Gets or sets a value indicating whether this instance is disabled. + * @type {boolean} + * @memberof UpdateUserPolicyRequest + */ + isDisabled?: boolean; + /** + * Gets or sets the max parental rating. + * @type {number} + * @memberof UpdateUserPolicyRequest + */ + maxParentalRating?: number | null; + /** + * + * @type {Array} + * @memberof UpdateUserPolicyRequest + */ + blockedTags?: Array | null; + /** + * + * @type {boolean} + * @memberof UpdateUserPolicyRequest + */ + enableUserPreferenceAccess?: boolean; + /** + * + * @type {Array} + * @memberof UpdateUserPolicyRequest + */ + accessSchedules?: Array | null; + /** + * + * @type {Array} + * @memberof UpdateUserPolicyRequest + */ + blockUnratedItems?: Array | null; + /** + * + * @type {boolean} + * @memberof UpdateUserPolicyRequest + */ + enableRemoteControlOfOtherUsers?: boolean; + /** + * + * @type {boolean} + * @memberof UpdateUserPolicyRequest + */ + enableSharedDeviceControl?: boolean; + /** + * + * @type {boolean} + * @memberof UpdateUserPolicyRequest + */ + enableRemoteAccess?: boolean; + /** + * + * @type {boolean} + * @memberof UpdateUserPolicyRequest + */ + enableLiveTvManagement?: boolean; + /** + * + * @type {boolean} + * @memberof UpdateUserPolicyRequest + */ + enableLiveTvAccess?: boolean; + /** + * + * @type {boolean} + * @memberof UpdateUserPolicyRequest + */ + enableMediaPlayback?: boolean; + /** + * + * @type {boolean} + * @memberof UpdateUserPolicyRequest + */ + enableAudioPlaybackTranscoding?: boolean; + /** + * + * @type {boolean} + * @memberof UpdateUserPolicyRequest + */ + enableVideoPlaybackTranscoding?: boolean; + /** + * + * @type {boolean} + * @memberof UpdateUserPolicyRequest + */ + enablePlaybackRemuxing?: boolean; + /** + * + * @type {boolean} + * @memberof UpdateUserPolicyRequest + */ + forceRemoteSourceTranscoding?: boolean; + /** + * + * @type {boolean} + * @memberof UpdateUserPolicyRequest + */ + enableContentDeletion?: boolean; + /** + * + * @type {Array} + * @memberof UpdateUserPolicyRequest + */ + enableContentDeletionFromFolders?: Array | null; + /** + * + * @type {boolean} + * @memberof UpdateUserPolicyRequest + */ + enableContentDownloading?: boolean; + /** + * Gets or sets a value indicating whether [enable synchronize]. + * @type {boolean} + * @memberof UpdateUserPolicyRequest + */ + enableSyncTranscoding?: boolean; + /** + * + * @type {boolean} + * @memberof UpdateUserPolicyRequest + */ + enableMediaConversion?: boolean; + /** + * + * @type {Array} + * @memberof UpdateUserPolicyRequest + */ + enabledDevices?: Array | null; + /** + * + * @type {boolean} + * @memberof UpdateUserPolicyRequest + */ + enableAllDevices?: boolean; + /** + * + * @type {Array} + * @memberof UpdateUserPolicyRequest + */ + enabledChannels?: Array | null; + /** + * + * @type {boolean} + * @memberof UpdateUserPolicyRequest + */ + enableAllChannels?: boolean; + /** + * + * @type {Array} + * @memberof UpdateUserPolicyRequest + */ + enabledFolders?: Array | null; + /** + * + * @type {boolean} + * @memberof UpdateUserPolicyRequest + */ + enableAllFolders?: boolean; + /** + * + * @type {number} + * @memberof UpdateUserPolicyRequest + */ + invalidLoginAttemptCount?: number; + /** + * + * @type {number} + * @memberof UpdateUserPolicyRequest + */ + loginAttemptsBeforeLockout?: number; + /** + * + * @type {number} + * @memberof UpdateUserPolicyRequest + */ + maxActiveSessions?: number; + /** + * + * @type {boolean} + * @memberof UpdateUserPolicyRequest + */ + enablePublicSharing?: boolean; + /** + * + * @type {Array} + * @memberof UpdateUserPolicyRequest + */ + blockedMediaFolders?: Array | null; + /** + * + * @type {Array} + * @memberof UpdateUserPolicyRequest + */ + blockedChannels?: Array | null; + /** + * + * @type {number} + * @memberof UpdateUserPolicyRequest + */ + remoteClientBitrateLimit?: number; + /** + * + * @type {string} + * @memberof UpdateUserPolicyRequest + */ + authenticationProviderId?: string | null; + /** + * + * @type {string} + * @memberof UpdateUserPolicyRequest + */ + passwordResetProviderId?: string | null; + /** + * + * @type {SyncPlayUserAccessType} + * @memberof UpdateUserPolicyRequest + */ + syncPlayAccess?: SyncPlayUserAccessType; +} + +/** + * Check if a given object implements the UpdateUserPolicyRequest interface. + */ +export function instanceOfUpdateUserPolicyRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UpdateUserPolicyRequestFromJSON(json: any): UpdateUserPolicyRequest { + return UpdateUserPolicyRequestFromJSONTyped(json, false); +} + +export function UpdateUserPolicyRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateUserPolicyRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'isAdministrator': !exists(json, 'IsAdministrator') ? undefined : json['IsAdministrator'], + 'isHidden': !exists(json, 'IsHidden') ? undefined : json['IsHidden'], + 'isDisabled': !exists(json, 'IsDisabled') ? undefined : json['IsDisabled'], + 'maxParentalRating': !exists(json, 'MaxParentalRating') ? undefined : json['MaxParentalRating'], + 'blockedTags': !exists(json, 'BlockedTags') ? undefined : json['BlockedTags'], + 'enableUserPreferenceAccess': !exists(json, 'EnableUserPreferenceAccess') ? undefined : json['EnableUserPreferenceAccess'], + 'accessSchedules': !exists(json, 'AccessSchedules') ? undefined : (json['AccessSchedules'] === null ? null : (json['AccessSchedules'] as Array).map(AccessScheduleFromJSON)), + 'blockUnratedItems': !exists(json, 'BlockUnratedItems') ? undefined : (json['BlockUnratedItems'] === null ? null : (json['BlockUnratedItems'] as Array).map(UnratedItemFromJSON)), + 'enableRemoteControlOfOtherUsers': !exists(json, 'EnableRemoteControlOfOtherUsers') ? undefined : json['EnableRemoteControlOfOtherUsers'], + 'enableSharedDeviceControl': !exists(json, 'EnableSharedDeviceControl') ? undefined : json['EnableSharedDeviceControl'], + 'enableRemoteAccess': !exists(json, 'EnableRemoteAccess') ? undefined : json['EnableRemoteAccess'], + 'enableLiveTvManagement': !exists(json, 'EnableLiveTvManagement') ? undefined : json['EnableLiveTvManagement'], + 'enableLiveTvAccess': !exists(json, 'EnableLiveTvAccess') ? undefined : json['EnableLiveTvAccess'], + 'enableMediaPlayback': !exists(json, 'EnableMediaPlayback') ? undefined : json['EnableMediaPlayback'], + 'enableAudioPlaybackTranscoding': !exists(json, 'EnableAudioPlaybackTranscoding') ? undefined : json['EnableAudioPlaybackTranscoding'], + 'enableVideoPlaybackTranscoding': !exists(json, 'EnableVideoPlaybackTranscoding') ? undefined : json['EnableVideoPlaybackTranscoding'], + 'enablePlaybackRemuxing': !exists(json, 'EnablePlaybackRemuxing') ? undefined : json['EnablePlaybackRemuxing'], + 'forceRemoteSourceTranscoding': !exists(json, 'ForceRemoteSourceTranscoding') ? undefined : json['ForceRemoteSourceTranscoding'], + 'enableContentDeletion': !exists(json, 'EnableContentDeletion') ? undefined : json['EnableContentDeletion'], + 'enableContentDeletionFromFolders': !exists(json, 'EnableContentDeletionFromFolders') ? undefined : json['EnableContentDeletionFromFolders'], + 'enableContentDownloading': !exists(json, 'EnableContentDownloading') ? undefined : json['EnableContentDownloading'], + 'enableSyncTranscoding': !exists(json, 'EnableSyncTranscoding') ? undefined : json['EnableSyncTranscoding'], + 'enableMediaConversion': !exists(json, 'EnableMediaConversion') ? undefined : json['EnableMediaConversion'], + 'enabledDevices': !exists(json, 'EnabledDevices') ? undefined : json['EnabledDevices'], + 'enableAllDevices': !exists(json, 'EnableAllDevices') ? undefined : json['EnableAllDevices'], + 'enabledChannels': !exists(json, 'EnabledChannels') ? undefined : json['EnabledChannels'], + 'enableAllChannels': !exists(json, 'EnableAllChannels') ? undefined : json['EnableAllChannels'], + 'enabledFolders': !exists(json, 'EnabledFolders') ? undefined : json['EnabledFolders'], + 'enableAllFolders': !exists(json, 'EnableAllFolders') ? undefined : json['EnableAllFolders'], + 'invalidLoginAttemptCount': !exists(json, 'InvalidLoginAttemptCount') ? undefined : json['InvalidLoginAttemptCount'], + 'loginAttemptsBeforeLockout': !exists(json, 'LoginAttemptsBeforeLockout') ? undefined : json['LoginAttemptsBeforeLockout'], + 'maxActiveSessions': !exists(json, 'MaxActiveSessions') ? undefined : json['MaxActiveSessions'], + 'enablePublicSharing': !exists(json, 'EnablePublicSharing') ? undefined : json['EnablePublicSharing'], + 'blockedMediaFolders': !exists(json, 'BlockedMediaFolders') ? undefined : json['BlockedMediaFolders'], + 'blockedChannels': !exists(json, 'BlockedChannels') ? undefined : json['BlockedChannels'], + 'remoteClientBitrateLimit': !exists(json, 'RemoteClientBitrateLimit') ? undefined : json['RemoteClientBitrateLimit'], + 'authenticationProviderId': !exists(json, 'AuthenticationProviderId') ? undefined : json['AuthenticationProviderId'], + 'passwordResetProviderId': !exists(json, 'PasswordResetProviderId') ? undefined : json['PasswordResetProviderId'], + 'syncPlayAccess': !exists(json, 'SyncPlayAccess') ? undefined : SyncPlayUserAccessTypeFromJSON(json['SyncPlayAccess']), + }; +} + +export function UpdateUserPolicyRequestToJSON(value?: UpdateUserPolicyRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'IsAdministrator': value.isAdministrator, + 'IsHidden': value.isHidden, + 'IsDisabled': value.isDisabled, + 'MaxParentalRating': value.maxParentalRating, + 'BlockedTags': value.blockedTags, + 'EnableUserPreferenceAccess': value.enableUserPreferenceAccess, + 'AccessSchedules': value.accessSchedules === undefined ? undefined : (value.accessSchedules === null ? null : (value.accessSchedules as Array).map(AccessScheduleToJSON)), + 'BlockUnratedItems': value.blockUnratedItems === undefined ? undefined : (value.blockUnratedItems === null ? null : (value.blockUnratedItems as Array).map(UnratedItemToJSON)), + 'EnableRemoteControlOfOtherUsers': value.enableRemoteControlOfOtherUsers, + 'EnableSharedDeviceControl': value.enableSharedDeviceControl, + 'EnableRemoteAccess': value.enableRemoteAccess, + 'EnableLiveTvManagement': value.enableLiveTvManagement, + 'EnableLiveTvAccess': value.enableLiveTvAccess, + 'EnableMediaPlayback': value.enableMediaPlayback, + 'EnableAudioPlaybackTranscoding': value.enableAudioPlaybackTranscoding, + 'EnableVideoPlaybackTranscoding': value.enableVideoPlaybackTranscoding, + 'EnablePlaybackRemuxing': value.enablePlaybackRemuxing, + 'ForceRemoteSourceTranscoding': value.forceRemoteSourceTranscoding, + 'EnableContentDeletion': value.enableContentDeletion, + 'EnableContentDeletionFromFolders': value.enableContentDeletionFromFolders, + 'EnableContentDownloading': value.enableContentDownloading, + 'EnableSyncTranscoding': value.enableSyncTranscoding, + 'EnableMediaConversion': value.enableMediaConversion, + 'EnabledDevices': value.enabledDevices, + 'EnableAllDevices': value.enableAllDevices, + 'EnabledChannels': value.enabledChannels, + 'EnableAllChannels': value.enableAllChannels, + 'EnabledFolders': value.enabledFolders, + 'EnableAllFolders': value.enableAllFolders, + 'InvalidLoginAttemptCount': value.invalidLoginAttemptCount, + 'LoginAttemptsBeforeLockout': value.loginAttemptsBeforeLockout, + 'MaxActiveSessions': value.maxActiveSessions, + 'EnablePublicSharing': value.enablePublicSharing, + 'BlockedMediaFolders': value.blockedMediaFolders, + 'BlockedChannels': value.blockedChannels, + 'RemoteClientBitrateLimit': value.remoteClientBitrateLimit, + 'AuthenticationProviderId': value.authenticationProviderId, + 'PasswordResetProviderId': value.passwordResetProviderId, + 'SyncPlayAccess': SyncPlayUserAccessTypeToJSON(value.syncPlayAccess), + }; +} + diff --git a/server/jellyfin/models/UpdateUserRequest.ts b/server/jellyfin/models/UpdateUserRequest.ts new file mode 100644 index 0000000..1666f09 --- /dev/null +++ b/server/jellyfin/models/UpdateUserRequest.ts @@ -0,0 +1,183 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { UserDtoConfiguration } from './UserDtoConfiguration'; +import { + UserDtoConfigurationFromJSON, + UserDtoConfigurationFromJSONTyped, + UserDtoConfigurationToJSON, +} from './UserDtoConfiguration'; +import type { UserDtoPolicy } from './UserDtoPolicy'; +import { + UserDtoPolicyFromJSON, + UserDtoPolicyFromJSONTyped, + UserDtoPolicyToJSON, +} from './UserDtoPolicy'; + +/** + * Class UserDto. + * @export + * @interface UpdateUserRequest + */ +export interface UpdateUserRequest { + /** + * Gets or sets the name. + * @type {string} + * @memberof UpdateUserRequest + */ + name?: string | null; + /** + * Gets or sets the server identifier. + * @type {string} + * @memberof UpdateUserRequest + */ + serverId?: string | null; + /** + * Gets or sets the name of the server. + * This is not used by the server and is for client-side usage only. + * @type {string} + * @memberof UpdateUserRequest + */ + serverName?: string | null; + /** + * Gets or sets the id. + * @type {string} + * @memberof UpdateUserRequest + */ + id?: string; + /** + * Gets or sets the primary image tag. + * @type {string} + * @memberof UpdateUserRequest + */ + primaryImageTag?: string | null; + /** + * Gets or sets a value indicating whether this instance has password. + * @type {boolean} + * @memberof UpdateUserRequest + */ + hasPassword?: boolean; + /** + * Gets or sets a value indicating whether this instance has configured password. + * @type {boolean} + * @memberof UpdateUserRequest + */ + hasConfiguredPassword?: boolean; + /** + * Gets or sets a value indicating whether this instance has configured easy password. + * @type {boolean} + * @memberof UpdateUserRequest + */ + hasConfiguredEasyPassword?: boolean; + /** + * Gets or sets whether async login is enabled or not. + * @type {boolean} + * @memberof UpdateUserRequest + */ + enableAutoLogin?: boolean | null; + /** + * Gets or sets the last login date. + * @type {Date} + * @memberof UpdateUserRequest + */ + lastLoginDate?: Date | null; + /** + * Gets or sets the last activity date. + * @type {Date} + * @memberof UpdateUserRequest + */ + lastActivityDate?: Date | null; + /** + * + * @type {UserDtoConfiguration} + * @memberof UpdateUserRequest + */ + _configuration?: UserDtoConfiguration | null; + /** + * + * @type {UserDtoPolicy} + * @memberof UpdateUserRequest + */ + policy?: UserDtoPolicy | null; + /** + * Gets or sets the primary image aspect ratio. + * @type {number} + * @memberof UpdateUserRequest + */ + primaryImageAspectRatio?: number | null; +} + +/** + * Check if a given object implements the UpdateUserRequest interface. + */ +export function instanceOfUpdateUserRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UpdateUserRequestFromJSON(json: any): UpdateUserRequest { + return UpdateUserRequestFromJSONTyped(json, false); +} + +export function UpdateUserRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateUserRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'serverId': !exists(json, 'ServerId') ? undefined : json['ServerId'], + 'serverName': !exists(json, 'ServerName') ? undefined : json['ServerName'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'primaryImageTag': !exists(json, 'PrimaryImageTag') ? undefined : json['PrimaryImageTag'], + 'hasPassword': !exists(json, 'HasPassword') ? undefined : json['HasPassword'], + 'hasConfiguredPassword': !exists(json, 'HasConfiguredPassword') ? undefined : json['HasConfiguredPassword'], + 'hasConfiguredEasyPassword': !exists(json, 'HasConfiguredEasyPassword') ? undefined : json['HasConfiguredEasyPassword'], + 'enableAutoLogin': !exists(json, 'EnableAutoLogin') ? undefined : json['EnableAutoLogin'], + 'lastLoginDate': !exists(json, 'LastLoginDate') ? undefined : (json['LastLoginDate'] === null ? null : new Date(json['LastLoginDate'])), + 'lastActivityDate': !exists(json, 'LastActivityDate') ? undefined : (json['LastActivityDate'] === null ? null : new Date(json['LastActivityDate'])), + '_configuration': !exists(json, 'Configuration') ? undefined : UserDtoConfigurationFromJSON(json['Configuration']), + 'policy': !exists(json, 'Policy') ? undefined : UserDtoPolicyFromJSON(json['Policy']), + 'primaryImageAspectRatio': !exists(json, 'PrimaryImageAspectRatio') ? undefined : json['PrimaryImageAspectRatio'], + }; +} + +export function UpdateUserRequestToJSON(value?: UpdateUserRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'ServerId': value.serverId, + 'ServerName': value.serverName, + 'Id': value.id, + 'PrimaryImageTag': value.primaryImageTag, + 'HasPassword': value.hasPassword, + 'HasConfiguredPassword': value.hasConfiguredPassword, + 'HasConfiguredEasyPassword': value.hasConfiguredEasyPassword, + 'EnableAutoLogin': value.enableAutoLogin, + 'LastLoginDate': value.lastLoginDate === undefined ? undefined : (value.lastLoginDate === null ? null : value.lastLoginDate.toISOString()), + 'LastActivityDate': value.lastActivityDate === undefined ? undefined : (value.lastActivityDate === null ? null : value.lastActivityDate.toISOString()), + 'Configuration': UserDtoConfigurationToJSON(value._configuration), + 'Policy': UserDtoPolicyToJSON(value.policy), + 'PrimaryImageAspectRatio': value.primaryImageAspectRatio, + }; +} + diff --git a/server/jellyfin/models/UploadSubtitleDto.ts b/server/jellyfin/models/UploadSubtitleDto.ts new file mode 100644 index 0000000..1022103 --- /dev/null +++ b/server/jellyfin/models/UploadSubtitleDto.ts @@ -0,0 +1,93 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Upload subtitles dto. + * @export + * @interface UploadSubtitleDto + */ +export interface UploadSubtitleDto { + /** + * Gets or sets the subtitle language. + * @type {string} + * @memberof UploadSubtitleDto + */ + language: string; + /** + * Gets or sets the subtitle format. + * @type {string} + * @memberof UploadSubtitleDto + */ + format: string; + /** + * Gets or sets a value indicating whether the subtitle is forced. + * @type {boolean} + * @memberof UploadSubtitleDto + */ + isForced: boolean; + /** + * Gets or sets the subtitle data. + * @type {string} + * @memberof UploadSubtitleDto + */ + data: string; +} + +/** + * Check if a given object implements the UploadSubtitleDto interface. + */ +export function instanceOfUploadSubtitleDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "language" in value; + isInstance = isInstance && "format" in value; + isInstance = isInstance && "isForced" in value; + isInstance = isInstance && "data" in value; + + return isInstance; +} + +export function UploadSubtitleDtoFromJSON(json: any): UploadSubtitleDto { + return UploadSubtitleDtoFromJSONTyped(json, false); +} + +export function UploadSubtitleDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): UploadSubtitleDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'language': json['Language'], + 'format': json['Format'], + 'isForced': json['IsForced'], + 'data': json['Data'], + }; +} + +export function UploadSubtitleDtoToJSON(value?: UploadSubtitleDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Language': value.language, + 'Format': value.format, + 'IsForced': value.isForced, + 'Data': value.data, + }; +} + diff --git a/server/jellyfin/models/UploadSubtitleRequest.ts b/server/jellyfin/models/UploadSubtitleRequest.ts new file mode 100644 index 0000000..5391054 --- /dev/null +++ b/server/jellyfin/models/UploadSubtitleRequest.ts @@ -0,0 +1,93 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Upload subtitles dto. + * @export + * @interface UploadSubtitleRequest + */ +export interface UploadSubtitleRequest { + /** + * Gets or sets the subtitle language. + * @type {string} + * @memberof UploadSubtitleRequest + */ + language: string; + /** + * Gets or sets the subtitle format. + * @type {string} + * @memberof UploadSubtitleRequest + */ + format: string; + /** + * Gets or sets a value indicating whether the subtitle is forced. + * @type {boolean} + * @memberof UploadSubtitleRequest + */ + isForced: boolean; + /** + * Gets or sets the subtitle data. + * @type {string} + * @memberof UploadSubtitleRequest + */ + data: string; +} + +/** + * Check if a given object implements the UploadSubtitleRequest interface. + */ +export function instanceOfUploadSubtitleRequest(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "language" in value; + isInstance = isInstance && "format" in value; + isInstance = isInstance && "isForced" in value; + isInstance = isInstance && "data" in value; + + return isInstance; +} + +export function UploadSubtitleRequestFromJSON(json: any): UploadSubtitleRequest { + return UploadSubtitleRequestFromJSONTyped(json, false); +} + +export function UploadSubtitleRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UploadSubtitleRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'language': json['Language'], + 'format': json['Format'], + 'isForced': json['IsForced'], + 'data': json['Data'], + }; +} + +export function UploadSubtitleRequestToJSON(value?: UploadSubtitleRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Language': value.language, + 'Format': value.format, + 'IsForced': value.isForced, + 'Data': value.data, + }; +} + diff --git a/server/jellyfin/models/UserConfiguration.ts b/server/jellyfin/models/UserConfiguration.ts new file mode 100644 index 0000000..f7b1f46 --- /dev/null +++ b/server/jellyfin/models/UserConfiguration.ts @@ -0,0 +1,184 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { SubtitlePlaybackMode } from './SubtitlePlaybackMode'; +import { + SubtitlePlaybackModeFromJSON, + SubtitlePlaybackModeFromJSONTyped, + SubtitlePlaybackModeToJSON, +} from './SubtitlePlaybackMode'; + +/** + * Class UserConfiguration. + * @export + * @interface UserConfiguration + */ +export interface UserConfiguration { + /** + * Gets or sets the audio language preference. + * @type {string} + * @memberof UserConfiguration + */ + audioLanguagePreference?: string | null; + /** + * Gets or sets a value indicating whether [play default audio track]. + * @type {boolean} + * @memberof UserConfiguration + */ + playDefaultAudioTrack?: boolean; + /** + * Gets or sets the subtitle language preference. + * @type {string} + * @memberof UserConfiguration + */ + subtitleLanguagePreference?: string | null; + /** + * + * @type {boolean} + * @memberof UserConfiguration + */ + displayMissingEpisodes?: boolean; + /** + * + * @type {Array} + * @memberof UserConfiguration + */ + groupedFolders?: Array; + /** + * + * @type {SubtitlePlaybackMode} + * @memberof UserConfiguration + */ + subtitleMode?: SubtitlePlaybackMode; + /** + * + * @type {boolean} + * @memberof UserConfiguration + */ + displayCollectionsView?: boolean; + /** + * + * @type {boolean} + * @memberof UserConfiguration + */ + enableLocalPassword?: boolean; + /** + * + * @type {Array} + * @memberof UserConfiguration + */ + orderedViews?: Array; + /** + * + * @type {Array} + * @memberof UserConfiguration + */ + latestItemsExcludes?: Array; + /** + * + * @type {Array} + * @memberof UserConfiguration + */ + myMediaExcludes?: Array; + /** + * + * @type {boolean} + * @memberof UserConfiguration + */ + hidePlayedInLatest?: boolean; + /** + * + * @type {boolean} + * @memberof UserConfiguration + */ + rememberAudioSelections?: boolean; + /** + * + * @type {boolean} + * @memberof UserConfiguration + */ + rememberSubtitleSelections?: boolean; + /** + * + * @type {boolean} + * @memberof UserConfiguration + */ + enableNextEpisodeAutoPlay?: boolean; +} + +/** + * Check if a given object implements the UserConfiguration interface. + */ +export function instanceOfUserConfiguration(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UserConfigurationFromJSON(json: any): UserConfiguration { + return UserConfigurationFromJSONTyped(json, false); +} + +export function UserConfigurationFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserConfiguration { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'audioLanguagePreference': !exists(json, 'AudioLanguagePreference') ? undefined : json['AudioLanguagePreference'], + 'playDefaultAudioTrack': !exists(json, 'PlayDefaultAudioTrack') ? undefined : json['PlayDefaultAudioTrack'], + 'subtitleLanguagePreference': !exists(json, 'SubtitleLanguagePreference') ? undefined : json['SubtitleLanguagePreference'], + 'displayMissingEpisodes': !exists(json, 'DisplayMissingEpisodes') ? undefined : json['DisplayMissingEpisodes'], + 'groupedFolders': !exists(json, 'GroupedFolders') ? undefined : json['GroupedFolders'], + 'subtitleMode': !exists(json, 'SubtitleMode') ? undefined : SubtitlePlaybackModeFromJSON(json['SubtitleMode']), + 'displayCollectionsView': !exists(json, 'DisplayCollectionsView') ? undefined : json['DisplayCollectionsView'], + 'enableLocalPassword': !exists(json, 'EnableLocalPassword') ? undefined : json['EnableLocalPassword'], + 'orderedViews': !exists(json, 'OrderedViews') ? undefined : json['OrderedViews'], + 'latestItemsExcludes': !exists(json, 'LatestItemsExcludes') ? undefined : json['LatestItemsExcludes'], + 'myMediaExcludes': !exists(json, 'MyMediaExcludes') ? undefined : json['MyMediaExcludes'], + 'hidePlayedInLatest': !exists(json, 'HidePlayedInLatest') ? undefined : json['HidePlayedInLatest'], + 'rememberAudioSelections': !exists(json, 'RememberAudioSelections') ? undefined : json['RememberAudioSelections'], + 'rememberSubtitleSelections': !exists(json, 'RememberSubtitleSelections') ? undefined : json['RememberSubtitleSelections'], + 'enableNextEpisodeAutoPlay': !exists(json, 'EnableNextEpisodeAutoPlay') ? undefined : json['EnableNextEpisodeAutoPlay'], + }; +} + +export function UserConfigurationToJSON(value?: UserConfiguration | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'AudioLanguagePreference': value.audioLanguagePreference, + 'PlayDefaultAudioTrack': value.playDefaultAudioTrack, + 'SubtitleLanguagePreference': value.subtitleLanguagePreference, + 'DisplayMissingEpisodes': value.displayMissingEpisodes, + 'GroupedFolders': value.groupedFolders, + 'SubtitleMode': SubtitlePlaybackModeToJSON(value.subtitleMode), + 'DisplayCollectionsView': value.displayCollectionsView, + 'EnableLocalPassword': value.enableLocalPassword, + 'OrderedViews': value.orderedViews, + 'LatestItemsExcludes': value.latestItemsExcludes, + 'MyMediaExcludes': value.myMediaExcludes, + 'HidePlayedInLatest': value.hidePlayedInLatest, + 'RememberAudioSelections': value.rememberAudioSelections, + 'RememberSubtitleSelections': value.rememberSubtitleSelections, + 'EnableNextEpisodeAutoPlay': value.enableNextEpisodeAutoPlay, + }; +} + diff --git a/server/jellyfin/models/UserDto.ts b/server/jellyfin/models/UserDto.ts new file mode 100644 index 0000000..4985c10 --- /dev/null +++ b/server/jellyfin/models/UserDto.ts @@ -0,0 +1,183 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { UserDtoConfiguration } from './UserDtoConfiguration'; +import { + UserDtoConfigurationFromJSON, + UserDtoConfigurationFromJSONTyped, + UserDtoConfigurationToJSON, +} from './UserDtoConfiguration'; +import type { UserDtoPolicy } from './UserDtoPolicy'; +import { + UserDtoPolicyFromJSON, + UserDtoPolicyFromJSONTyped, + UserDtoPolicyToJSON, +} from './UserDtoPolicy'; + +/** + * Class UserDto. + * @export + * @interface UserDto + */ +export interface UserDto { + /** + * Gets or sets the name. + * @type {string} + * @memberof UserDto + */ + name?: string | null; + /** + * Gets or sets the server identifier. + * @type {string} + * @memberof UserDto + */ + serverId?: string | null; + /** + * Gets or sets the name of the server. + * This is not used by the server and is for client-side usage only. + * @type {string} + * @memberof UserDto + */ + serverName?: string | null; + /** + * Gets or sets the id. + * @type {string} + * @memberof UserDto + */ + id?: string; + /** + * Gets or sets the primary image tag. + * @type {string} + * @memberof UserDto + */ + primaryImageTag?: string | null; + /** + * Gets or sets a value indicating whether this instance has password. + * @type {boolean} + * @memberof UserDto + */ + hasPassword?: boolean; + /** + * Gets or sets a value indicating whether this instance has configured password. + * @type {boolean} + * @memberof UserDto + */ + hasConfiguredPassword?: boolean; + /** + * Gets or sets a value indicating whether this instance has configured easy password. + * @type {boolean} + * @memberof UserDto + */ + hasConfiguredEasyPassword?: boolean; + /** + * Gets or sets whether async login is enabled or not. + * @type {boolean} + * @memberof UserDto + */ + enableAutoLogin?: boolean | null; + /** + * Gets or sets the last login date. + * @type {Date} + * @memberof UserDto + */ + lastLoginDate?: Date | null; + /** + * Gets or sets the last activity date. + * @type {Date} + * @memberof UserDto + */ + lastActivityDate?: Date | null; + /** + * + * @type {UserDtoConfiguration} + * @memberof UserDto + */ + _configuration?: UserDtoConfiguration | null; + /** + * + * @type {UserDtoPolicy} + * @memberof UserDto + */ + policy?: UserDtoPolicy | null; + /** + * Gets or sets the primary image aspect ratio. + * @type {number} + * @memberof UserDto + */ + primaryImageAspectRatio?: number | null; +} + +/** + * Check if a given object implements the UserDto interface. + */ +export function instanceOfUserDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UserDtoFromJSON(json: any): UserDto { + return UserDtoFromJSONTyped(json, false); +} + +export function UserDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'serverId': !exists(json, 'ServerId') ? undefined : json['ServerId'], + 'serverName': !exists(json, 'ServerName') ? undefined : json['ServerName'], + 'id': !exists(json, 'Id') ? undefined : json['Id'], + 'primaryImageTag': !exists(json, 'PrimaryImageTag') ? undefined : json['PrimaryImageTag'], + 'hasPassword': !exists(json, 'HasPassword') ? undefined : json['HasPassword'], + 'hasConfiguredPassword': !exists(json, 'HasConfiguredPassword') ? undefined : json['HasConfiguredPassword'], + 'hasConfiguredEasyPassword': !exists(json, 'HasConfiguredEasyPassword') ? undefined : json['HasConfiguredEasyPassword'], + 'enableAutoLogin': !exists(json, 'EnableAutoLogin') ? undefined : json['EnableAutoLogin'], + 'lastLoginDate': !exists(json, 'LastLoginDate') ? undefined : (json['LastLoginDate'] === null ? null : new Date(json['LastLoginDate'])), + 'lastActivityDate': !exists(json, 'LastActivityDate') ? undefined : (json['LastActivityDate'] === null ? null : new Date(json['LastActivityDate'])), + '_configuration': !exists(json, 'Configuration') ? undefined : UserDtoConfigurationFromJSON(json['Configuration']), + 'policy': !exists(json, 'Policy') ? undefined : UserDtoPolicyFromJSON(json['Policy']), + 'primaryImageAspectRatio': !exists(json, 'PrimaryImageAspectRatio') ? undefined : json['PrimaryImageAspectRatio'], + }; +} + +export function UserDtoToJSON(value?: UserDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'ServerId': value.serverId, + 'ServerName': value.serverName, + 'Id': value.id, + 'PrimaryImageTag': value.primaryImageTag, + 'HasPassword': value.hasPassword, + 'HasConfiguredPassword': value.hasConfiguredPassword, + 'HasConfiguredEasyPassword': value.hasConfiguredEasyPassword, + 'EnableAutoLogin': value.enableAutoLogin, + 'LastLoginDate': value.lastLoginDate === undefined ? undefined : (value.lastLoginDate === null ? null : value.lastLoginDate.toISOString()), + 'LastActivityDate': value.lastActivityDate === undefined ? undefined : (value.lastActivityDate === null ? null : value.lastActivityDate.toISOString()), + 'Configuration': UserDtoConfigurationToJSON(value._configuration), + 'Policy': UserDtoPolicyToJSON(value.policy), + 'PrimaryImageAspectRatio': value.primaryImageAspectRatio, + }; +} + diff --git a/server/jellyfin/models/UserDtoConfiguration.ts b/server/jellyfin/models/UserDtoConfiguration.ts new file mode 100644 index 0000000..1d58d4e --- /dev/null +++ b/server/jellyfin/models/UserDtoConfiguration.ts @@ -0,0 +1,184 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { SubtitlePlaybackMode } from './SubtitlePlaybackMode'; +import { + SubtitlePlaybackModeFromJSON, + SubtitlePlaybackModeFromJSONTyped, + SubtitlePlaybackModeToJSON, +} from './SubtitlePlaybackMode'; + +/** + * Gets or sets the configuration. + * @export + * @interface UserDtoConfiguration + */ +export interface UserDtoConfiguration { + /** + * Gets or sets the audio language preference. + * @type {string} + * @memberof UserDtoConfiguration + */ + audioLanguagePreference?: string | null; + /** + * Gets or sets a value indicating whether [play default audio track]. + * @type {boolean} + * @memberof UserDtoConfiguration + */ + playDefaultAudioTrack?: boolean; + /** + * Gets or sets the subtitle language preference. + * @type {string} + * @memberof UserDtoConfiguration + */ + subtitleLanguagePreference?: string | null; + /** + * + * @type {boolean} + * @memberof UserDtoConfiguration + */ + displayMissingEpisodes?: boolean; + /** + * + * @type {Array} + * @memberof UserDtoConfiguration + */ + groupedFolders?: Array; + /** + * + * @type {SubtitlePlaybackMode} + * @memberof UserDtoConfiguration + */ + subtitleMode?: SubtitlePlaybackMode; + /** + * + * @type {boolean} + * @memberof UserDtoConfiguration + */ + displayCollectionsView?: boolean; + /** + * + * @type {boolean} + * @memberof UserDtoConfiguration + */ + enableLocalPassword?: boolean; + /** + * + * @type {Array} + * @memberof UserDtoConfiguration + */ + orderedViews?: Array; + /** + * + * @type {Array} + * @memberof UserDtoConfiguration + */ + latestItemsExcludes?: Array; + /** + * + * @type {Array} + * @memberof UserDtoConfiguration + */ + myMediaExcludes?: Array; + /** + * + * @type {boolean} + * @memberof UserDtoConfiguration + */ + hidePlayedInLatest?: boolean; + /** + * + * @type {boolean} + * @memberof UserDtoConfiguration + */ + rememberAudioSelections?: boolean; + /** + * + * @type {boolean} + * @memberof UserDtoConfiguration + */ + rememberSubtitleSelections?: boolean; + /** + * + * @type {boolean} + * @memberof UserDtoConfiguration + */ + enableNextEpisodeAutoPlay?: boolean; +} + +/** + * Check if a given object implements the UserDtoConfiguration interface. + */ +export function instanceOfUserDtoConfiguration(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UserDtoConfigurationFromJSON(json: any): UserDtoConfiguration { + return UserDtoConfigurationFromJSONTyped(json, false); +} + +export function UserDtoConfigurationFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserDtoConfiguration { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'audioLanguagePreference': !exists(json, 'AudioLanguagePreference') ? undefined : json['AudioLanguagePreference'], + 'playDefaultAudioTrack': !exists(json, 'PlayDefaultAudioTrack') ? undefined : json['PlayDefaultAudioTrack'], + 'subtitleLanguagePreference': !exists(json, 'SubtitleLanguagePreference') ? undefined : json['SubtitleLanguagePreference'], + 'displayMissingEpisodes': !exists(json, 'DisplayMissingEpisodes') ? undefined : json['DisplayMissingEpisodes'], + 'groupedFolders': !exists(json, 'GroupedFolders') ? undefined : json['GroupedFolders'], + 'subtitleMode': !exists(json, 'SubtitleMode') ? undefined : SubtitlePlaybackModeFromJSON(json['SubtitleMode']), + 'displayCollectionsView': !exists(json, 'DisplayCollectionsView') ? undefined : json['DisplayCollectionsView'], + 'enableLocalPassword': !exists(json, 'EnableLocalPassword') ? undefined : json['EnableLocalPassword'], + 'orderedViews': !exists(json, 'OrderedViews') ? undefined : json['OrderedViews'], + 'latestItemsExcludes': !exists(json, 'LatestItemsExcludes') ? undefined : json['LatestItemsExcludes'], + 'myMediaExcludes': !exists(json, 'MyMediaExcludes') ? undefined : json['MyMediaExcludes'], + 'hidePlayedInLatest': !exists(json, 'HidePlayedInLatest') ? undefined : json['HidePlayedInLatest'], + 'rememberAudioSelections': !exists(json, 'RememberAudioSelections') ? undefined : json['RememberAudioSelections'], + 'rememberSubtitleSelections': !exists(json, 'RememberSubtitleSelections') ? undefined : json['RememberSubtitleSelections'], + 'enableNextEpisodeAutoPlay': !exists(json, 'EnableNextEpisodeAutoPlay') ? undefined : json['EnableNextEpisodeAutoPlay'], + }; +} + +export function UserDtoConfigurationToJSON(value?: UserDtoConfiguration | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'AudioLanguagePreference': value.audioLanguagePreference, + 'PlayDefaultAudioTrack': value.playDefaultAudioTrack, + 'SubtitleLanguagePreference': value.subtitleLanguagePreference, + 'DisplayMissingEpisodes': value.displayMissingEpisodes, + 'GroupedFolders': value.groupedFolders, + 'SubtitleMode': SubtitlePlaybackModeToJSON(value.subtitleMode), + 'DisplayCollectionsView': value.displayCollectionsView, + 'EnableLocalPassword': value.enableLocalPassword, + 'OrderedViews': value.orderedViews, + 'LatestItemsExcludes': value.latestItemsExcludes, + 'MyMediaExcludes': value.myMediaExcludes, + 'HidePlayedInLatest': value.hidePlayedInLatest, + 'RememberAudioSelections': value.rememberAudioSelections, + 'RememberSubtitleSelections': value.rememberSubtitleSelections, + 'EnableNextEpisodeAutoPlay': value.enableNextEpisodeAutoPlay, + }; +} + diff --git a/server/jellyfin/models/UserDtoPolicy.ts b/server/jellyfin/models/UserDtoPolicy.ts new file mode 100644 index 0000000..d639105 --- /dev/null +++ b/server/jellyfin/models/UserDtoPolicy.ts @@ -0,0 +1,388 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { AccessSchedule } from './AccessSchedule'; +import { + AccessScheduleFromJSON, + AccessScheduleFromJSONTyped, + AccessScheduleToJSON, +} from './AccessSchedule'; +import type { SyncPlayUserAccessType } from './SyncPlayUserAccessType'; +import { + SyncPlayUserAccessTypeFromJSON, + SyncPlayUserAccessTypeFromJSONTyped, + SyncPlayUserAccessTypeToJSON, +} from './SyncPlayUserAccessType'; +import type { UnratedItem } from './UnratedItem'; +import { + UnratedItemFromJSON, + UnratedItemFromJSONTyped, + UnratedItemToJSON, +} from './UnratedItem'; + +/** + * Gets or sets the policy. + * @export + * @interface UserDtoPolicy + */ +export interface UserDtoPolicy { + /** + * Gets or sets a value indicating whether this instance is administrator. + * @type {boolean} + * @memberof UserDtoPolicy + */ + isAdministrator?: boolean; + /** + * Gets or sets a value indicating whether this instance is hidden. + * @type {boolean} + * @memberof UserDtoPolicy + */ + isHidden?: boolean; + /** + * Gets or sets a value indicating whether this instance is disabled. + * @type {boolean} + * @memberof UserDtoPolicy + */ + isDisabled?: boolean; + /** + * Gets or sets the max parental rating. + * @type {number} + * @memberof UserDtoPolicy + */ + maxParentalRating?: number | null; + /** + * + * @type {Array} + * @memberof UserDtoPolicy + */ + blockedTags?: Array | null; + /** + * + * @type {boolean} + * @memberof UserDtoPolicy + */ + enableUserPreferenceAccess?: boolean; + /** + * + * @type {Array} + * @memberof UserDtoPolicy + */ + accessSchedules?: Array | null; + /** + * + * @type {Array} + * @memberof UserDtoPolicy + */ + blockUnratedItems?: Array | null; + /** + * + * @type {boolean} + * @memberof UserDtoPolicy + */ + enableRemoteControlOfOtherUsers?: boolean; + /** + * + * @type {boolean} + * @memberof UserDtoPolicy + */ + enableSharedDeviceControl?: boolean; + /** + * + * @type {boolean} + * @memberof UserDtoPolicy + */ + enableRemoteAccess?: boolean; + /** + * + * @type {boolean} + * @memberof UserDtoPolicy + */ + enableLiveTvManagement?: boolean; + /** + * + * @type {boolean} + * @memberof UserDtoPolicy + */ + enableLiveTvAccess?: boolean; + /** + * + * @type {boolean} + * @memberof UserDtoPolicy + */ + enableMediaPlayback?: boolean; + /** + * + * @type {boolean} + * @memberof UserDtoPolicy + */ + enableAudioPlaybackTranscoding?: boolean; + /** + * + * @type {boolean} + * @memberof UserDtoPolicy + */ + enableVideoPlaybackTranscoding?: boolean; + /** + * + * @type {boolean} + * @memberof UserDtoPolicy + */ + enablePlaybackRemuxing?: boolean; + /** + * + * @type {boolean} + * @memberof UserDtoPolicy + */ + forceRemoteSourceTranscoding?: boolean; + /** + * + * @type {boolean} + * @memberof UserDtoPolicy + */ + enableContentDeletion?: boolean; + /** + * + * @type {Array} + * @memberof UserDtoPolicy + */ + enableContentDeletionFromFolders?: Array | null; + /** + * + * @type {boolean} + * @memberof UserDtoPolicy + */ + enableContentDownloading?: boolean; + /** + * Gets or sets a value indicating whether [enable synchronize]. + * @type {boolean} + * @memberof UserDtoPolicy + */ + enableSyncTranscoding?: boolean; + /** + * + * @type {boolean} + * @memberof UserDtoPolicy + */ + enableMediaConversion?: boolean; + /** + * + * @type {Array} + * @memberof UserDtoPolicy + */ + enabledDevices?: Array | null; + /** + * + * @type {boolean} + * @memberof UserDtoPolicy + */ + enableAllDevices?: boolean; + /** + * + * @type {Array} + * @memberof UserDtoPolicy + */ + enabledChannels?: Array | null; + /** + * + * @type {boolean} + * @memberof UserDtoPolicy + */ + enableAllChannels?: boolean; + /** + * + * @type {Array} + * @memberof UserDtoPolicy + */ + enabledFolders?: Array | null; + /** + * + * @type {boolean} + * @memberof UserDtoPolicy + */ + enableAllFolders?: boolean; + /** + * + * @type {number} + * @memberof UserDtoPolicy + */ + invalidLoginAttemptCount?: number; + /** + * + * @type {number} + * @memberof UserDtoPolicy + */ + loginAttemptsBeforeLockout?: number; + /** + * + * @type {number} + * @memberof UserDtoPolicy + */ + maxActiveSessions?: number; + /** + * + * @type {boolean} + * @memberof UserDtoPolicy + */ + enablePublicSharing?: boolean; + /** + * + * @type {Array} + * @memberof UserDtoPolicy + */ + blockedMediaFolders?: Array | null; + /** + * + * @type {Array} + * @memberof UserDtoPolicy + */ + blockedChannels?: Array | null; + /** + * + * @type {number} + * @memberof UserDtoPolicy + */ + remoteClientBitrateLimit?: number; + /** + * + * @type {string} + * @memberof UserDtoPolicy + */ + authenticationProviderId?: string | null; + /** + * + * @type {string} + * @memberof UserDtoPolicy + */ + passwordResetProviderId?: string | null; + /** + * + * @type {SyncPlayUserAccessType} + * @memberof UserDtoPolicy + */ + syncPlayAccess?: SyncPlayUserAccessType; +} + +/** + * Check if a given object implements the UserDtoPolicy interface. + */ +export function instanceOfUserDtoPolicy(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UserDtoPolicyFromJSON(json: any): UserDtoPolicy { + return UserDtoPolicyFromJSONTyped(json, false); +} + +export function UserDtoPolicyFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserDtoPolicy { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'isAdministrator': !exists(json, 'IsAdministrator') ? undefined : json['IsAdministrator'], + 'isHidden': !exists(json, 'IsHidden') ? undefined : json['IsHidden'], + 'isDisabled': !exists(json, 'IsDisabled') ? undefined : json['IsDisabled'], + 'maxParentalRating': !exists(json, 'MaxParentalRating') ? undefined : json['MaxParentalRating'], + 'blockedTags': !exists(json, 'BlockedTags') ? undefined : json['BlockedTags'], + 'enableUserPreferenceAccess': !exists(json, 'EnableUserPreferenceAccess') ? undefined : json['EnableUserPreferenceAccess'], + 'accessSchedules': !exists(json, 'AccessSchedules') ? undefined : (json['AccessSchedules'] === null ? null : (json['AccessSchedules'] as Array).map(AccessScheduleFromJSON)), + 'blockUnratedItems': !exists(json, 'BlockUnratedItems') ? undefined : (json['BlockUnratedItems'] === null ? null : (json['BlockUnratedItems'] as Array).map(UnratedItemFromJSON)), + 'enableRemoteControlOfOtherUsers': !exists(json, 'EnableRemoteControlOfOtherUsers') ? undefined : json['EnableRemoteControlOfOtherUsers'], + 'enableSharedDeviceControl': !exists(json, 'EnableSharedDeviceControl') ? undefined : json['EnableSharedDeviceControl'], + 'enableRemoteAccess': !exists(json, 'EnableRemoteAccess') ? undefined : json['EnableRemoteAccess'], + 'enableLiveTvManagement': !exists(json, 'EnableLiveTvManagement') ? undefined : json['EnableLiveTvManagement'], + 'enableLiveTvAccess': !exists(json, 'EnableLiveTvAccess') ? undefined : json['EnableLiveTvAccess'], + 'enableMediaPlayback': !exists(json, 'EnableMediaPlayback') ? undefined : json['EnableMediaPlayback'], + 'enableAudioPlaybackTranscoding': !exists(json, 'EnableAudioPlaybackTranscoding') ? undefined : json['EnableAudioPlaybackTranscoding'], + 'enableVideoPlaybackTranscoding': !exists(json, 'EnableVideoPlaybackTranscoding') ? undefined : json['EnableVideoPlaybackTranscoding'], + 'enablePlaybackRemuxing': !exists(json, 'EnablePlaybackRemuxing') ? undefined : json['EnablePlaybackRemuxing'], + 'forceRemoteSourceTranscoding': !exists(json, 'ForceRemoteSourceTranscoding') ? undefined : json['ForceRemoteSourceTranscoding'], + 'enableContentDeletion': !exists(json, 'EnableContentDeletion') ? undefined : json['EnableContentDeletion'], + 'enableContentDeletionFromFolders': !exists(json, 'EnableContentDeletionFromFolders') ? undefined : json['EnableContentDeletionFromFolders'], + 'enableContentDownloading': !exists(json, 'EnableContentDownloading') ? undefined : json['EnableContentDownloading'], + 'enableSyncTranscoding': !exists(json, 'EnableSyncTranscoding') ? undefined : json['EnableSyncTranscoding'], + 'enableMediaConversion': !exists(json, 'EnableMediaConversion') ? undefined : json['EnableMediaConversion'], + 'enabledDevices': !exists(json, 'EnabledDevices') ? undefined : json['EnabledDevices'], + 'enableAllDevices': !exists(json, 'EnableAllDevices') ? undefined : json['EnableAllDevices'], + 'enabledChannels': !exists(json, 'EnabledChannels') ? undefined : json['EnabledChannels'], + 'enableAllChannels': !exists(json, 'EnableAllChannels') ? undefined : json['EnableAllChannels'], + 'enabledFolders': !exists(json, 'EnabledFolders') ? undefined : json['EnabledFolders'], + 'enableAllFolders': !exists(json, 'EnableAllFolders') ? undefined : json['EnableAllFolders'], + 'invalidLoginAttemptCount': !exists(json, 'InvalidLoginAttemptCount') ? undefined : json['InvalidLoginAttemptCount'], + 'loginAttemptsBeforeLockout': !exists(json, 'LoginAttemptsBeforeLockout') ? undefined : json['LoginAttemptsBeforeLockout'], + 'maxActiveSessions': !exists(json, 'MaxActiveSessions') ? undefined : json['MaxActiveSessions'], + 'enablePublicSharing': !exists(json, 'EnablePublicSharing') ? undefined : json['EnablePublicSharing'], + 'blockedMediaFolders': !exists(json, 'BlockedMediaFolders') ? undefined : json['BlockedMediaFolders'], + 'blockedChannels': !exists(json, 'BlockedChannels') ? undefined : json['BlockedChannels'], + 'remoteClientBitrateLimit': !exists(json, 'RemoteClientBitrateLimit') ? undefined : json['RemoteClientBitrateLimit'], + 'authenticationProviderId': !exists(json, 'AuthenticationProviderId') ? undefined : json['AuthenticationProviderId'], + 'passwordResetProviderId': !exists(json, 'PasswordResetProviderId') ? undefined : json['PasswordResetProviderId'], + 'syncPlayAccess': !exists(json, 'SyncPlayAccess') ? undefined : SyncPlayUserAccessTypeFromJSON(json['SyncPlayAccess']), + }; +} + +export function UserDtoPolicyToJSON(value?: UserDtoPolicy | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'IsAdministrator': value.isAdministrator, + 'IsHidden': value.isHidden, + 'IsDisabled': value.isDisabled, + 'MaxParentalRating': value.maxParentalRating, + 'BlockedTags': value.blockedTags, + 'EnableUserPreferenceAccess': value.enableUserPreferenceAccess, + 'AccessSchedules': value.accessSchedules === undefined ? undefined : (value.accessSchedules === null ? null : (value.accessSchedules as Array).map(AccessScheduleToJSON)), + 'BlockUnratedItems': value.blockUnratedItems === undefined ? undefined : (value.blockUnratedItems === null ? null : (value.blockUnratedItems as Array).map(UnratedItemToJSON)), + 'EnableRemoteControlOfOtherUsers': value.enableRemoteControlOfOtherUsers, + 'EnableSharedDeviceControl': value.enableSharedDeviceControl, + 'EnableRemoteAccess': value.enableRemoteAccess, + 'EnableLiveTvManagement': value.enableLiveTvManagement, + 'EnableLiveTvAccess': value.enableLiveTvAccess, + 'EnableMediaPlayback': value.enableMediaPlayback, + 'EnableAudioPlaybackTranscoding': value.enableAudioPlaybackTranscoding, + 'EnableVideoPlaybackTranscoding': value.enableVideoPlaybackTranscoding, + 'EnablePlaybackRemuxing': value.enablePlaybackRemuxing, + 'ForceRemoteSourceTranscoding': value.forceRemoteSourceTranscoding, + 'EnableContentDeletion': value.enableContentDeletion, + 'EnableContentDeletionFromFolders': value.enableContentDeletionFromFolders, + 'EnableContentDownloading': value.enableContentDownloading, + 'EnableSyncTranscoding': value.enableSyncTranscoding, + 'EnableMediaConversion': value.enableMediaConversion, + 'EnabledDevices': value.enabledDevices, + 'EnableAllDevices': value.enableAllDevices, + 'EnabledChannels': value.enabledChannels, + 'EnableAllChannels': value.enableAllChannels, + 'EnabledFolders': value.enabledFolders, + 'EnableAllFolders': value.enableAllFolders, + 'InvalidLoginAttemptCount': value.invalidLoginAttemptCount, + 'LoginAttemptsBeforeLockout': value.loginAttemptsBeforeLockout, + 'MaxActiveSessions': value.maxActiveSessions, + 'EnablePublicSharing': value.enablePublicSharing, + 'BlockedMediaFolders': value.blockedMediaFolders, + 'BlockedChannels': value.blockedChannels, + 'RemoteClientBitrateLimit': value.remoteClientBitrateLimit, + 'AuthenticationProviderId': value.authenticationProviderId, + 'PasswordResetProviderId': value.passwordResetProviderId, + 'SyncPlayAccess': SyncPlayUserAccessTypeToJSON(value.syncPlayAccess), + }; +} + diff --git a/server/jellyfin/models/UserItemDataDto.ts b/server/jellyfin/models/UserItemDataDto.ts new file mode 100644 index 0000000..38d71ed --- /dev/null +++ b/server/jellyfin/models/UserItemDataDto.ts @@ -0,0 +1,145 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class UserItemDataDto. + * @export + * @interface UserItemDataDto + */ +export interface UserItemDataDto { + /** + * Gets or sets the rating. + * @type {number} + * @memberof UserItemDataDto + */ + rating?: number | null; + /** + * Gets or sets the played percentage. + * @type {number} + * @memberof UserItemDataDto + */ + playedPercentage?: number | null; + /** + * Gets or sets the unplayed item count. + * @type {number} + * @memberof UserItemDataDto + */ + unplayedItemCount?: number | null; + /** + * Gets or sets the playback position ticks. + * @type {number} + * @memberof UserItemDataDto + */ + playbackPositionTicks?: number; + /** + * Gets or sets the play count. + * @type {number} + * @memberof UserItemDataDto + */ + playCount?: number; + /** + * Gets or sets a value indicating whether this instance is favorite. + * @type {boolean} + * @memberof UserItemDataDto + */ + isFavorite?: boolean; + /** + * Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UserItemDataDto is likes. + * @type {boolean} + * @memberof UserItemDataDto + */ + likes?: boolean | null; + /** + * Gets or sets the last played date. + * @type {Date} + * @memberof UserItemDataDto + */ + lastPlayedDate?: Date | null; + /** + * Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UserItemDataDto is played. + * @type {boolean} + * @memberof UserItemDataDto + */ + played?: boolean; + /** + * Gets or sets the key. + * @type {string} + * @memberof UserItemDataDto + */ + key?: string | null; + /** + * Gets or sets the item identifier. + * @type {string} + * @memberof UserItemDataDto + */ + itemId?: string | null; +} + +/** + * Check if a given object implements the UserItemDataDto interface. + */ +export function instanceOfUserItemDataDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UserItemDataDtoFromJSON(json: any): UserItemDataDto { + return UserItemDataDtoFromJSONTyped(json, false); +} + +export function UserItemDataDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserItemDataDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'rating': !exists(json, 'Rating') ? undefined : json['Rating'], + 'playedPercentage': !exists(json, 'PlayedPercentage') ? undefined : json['PlayedPercentage'], + 'unplayedItemCount': !exists(json, 'UnplayedItemCount') ? undefined : json['UnplayedItemCount'], + 'playbackPositionTicks': !exists(json, 'PlaybackPositionTicks') ? undefined : json['PlaybackPositionTicks'], + 'playCount': !exists(json, 'PlayCount') ? undefined : json['PlayCount'], + 'isFavorite': !exists(json, 'IsFavorite') ? undefined : json['IsFavorite'], + 'likes': !exists(json, 'Likes') ? undefined : json['Likes'], + 'lastPlayedDate': !exists(json, 'LastPlayedDate') ? undefined : (json['LastPlayedDate'] === null ? null : new Date(json['LastPlayedDate'])), + 'played': !exists(json, 'Played') ? undefined : json['Played'], + 'key': !exists(json, 'Key') ? undefined : json['Key'], + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + }; +} + +export function UserItemDataDtoToJSON(value?: UserItemDataDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Rating': value.rating, + 'PlayedPercentage': value.playedPercentage, + 'UnplayedItemCount': value.unplayedItemCount, + 'PlaybackPositionTicks': value.playbackPositionTicks, + 'PlayCount': value.playCount, + 'IsFavorite': value.isFavorite, + 'Likes': value.likes, + 'LastPlayedDate': value.lastPlayedDate === undefined ? undefined : (value.lastPlayedDate === null ? null : value.lastPlayedDate.toISOString()), + 'Played': value.played, + 'Key': value.key, + 'ItemId': value.itemId, + }; +} + diff --git a/server/jellyfin/models/UserPolicy.ts b/server/jellyfin/models/UserPolicy.ts new file mode 100644 index 0000000..26dd653 --- /dev/null +++ b/server/jellyfin/models/UserPolicy.ts @@ -0,0 +1,388 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { AccessSchedule } from './AccessSchedule'; +import { + AccessScheduleFromJSON, + AccessScheduleFromJSONTyped, + AccessScheduleToJSON, +} from './AccessSchedule'; +import type { SyncPlayUserAccessType } from './SyncPlayUserAccessType'; +import { + SyncPlayUserAccessTypeFromJSON, + SyncPlayUserAccessTypeFromJSONTyped, + SyncPlayUserAccessTypeToJSON, +} from './SyncPlayUserAccessType'; +import type { UnratedItem } from './UnratedItem'; +import { + UnratedItemFromJSON, + UnratedItemFromJSONTyped, + UnratedItemToJSON, +} from './UnratedItem'; + +/** + * + * @export + * @interface UserPolicy + */ +export interface UserPolicy { + /** + * Gets or sets a value indicating whether this instance is administrator. + * @type {boolean} + * @memberof UserPolicy + */ + isAdministrator?: boolean; + /** + * Gets or sets a value indicating whether this instance is hidden. + * @type {boolean} + * @memberof UserPolicy + */ + isHidden?: boolean; + /** + * Gets or sets a value indicating whether this instance is disabled. + * @type {boolean} + * @memberof UserPolicy + */ + isDisabled?: boolean; + /** + * Gets or sets the max parental rating. + * @type {number} + * @memberof UserPolicy + */ + maxParentalRating?: number | null; + /** + * + * @type {Array} + * @memberof UserPolicy + */ + blockedTags?: Array | null; + /** + * + * @type {boolean} + * @memberof UserPolicy + */ + enableUserPreferenceAccess?: boolean; + /** + * + * @type {Array} + * @memberof UserPolicy + */ + accessSchedules?: Array | null; + /** + * + * @type {Array} + * @memberof UserPolicy + */ + blockUnratedItems?: Array | null; + /** + * + * @type {boolean} + * @memberof UserPolicy + */ + enableRemoteControlOfOtherUsers?: boolean; + /** + * + * @type {boolean} + * @memberof UserPolicy + */ + enableSharedDeviceControl?: boolean; + /** + * + * @type {boolean} + * @memberof UserPolicy + */ + enableRemoteAccess?: boolean; + /** + * + * @type {boolean} + * @memberof UserPolicy + */ + enableLiveTvManagement?: boolean; + /** + * + * @type {boolean} + * @memberof UserPolicy + */ + enableLiveTvAccess?: boolean; + /** + * + * @type {boolean} + * @memberof UserPolicy + */ + enableMediaPlayback?: boolean; + /** + * + * @type {boolean} + * @memberof UserPolicy + */ + enableAudioPlaybackTranscoding?: boolean; + /** + * + * @type {boolean} + * @memberof UserPolicy + */ + enableVideoPlaybackTranscoding?: boolean; + /** + * + * @type {boolean} + * @memberof UserPolicy + */ + enablePlaybackRemuxing?: boolean; + /** + * + * @type {boolean} + * @memberof UserPolicy + */ + forceRemoteSourceTranscoding?: boolean; + /** + * + * @type {boolean} + * @memberof UserPolicy + */ + enableContentDeletion?: boolean; + /** + * + * @type {Array} + * @memberof UserPolicy + */ + enableContentDeletionFromFolders?: Array | null; + /** + * + * @type {boolean} + * @memberof UserPolicy + */ + enableContentDownloading?: boolean; + /** + * Gets or sets a value indicating whether [enable synchronize]. + * @type {boolean} + * @memberof UserPolicy + */ + enableSyncTranscoding?: boolean; + /** + * + * @type {boolean} + * @memberof UserPolicy + */ + enableMediaConversion?: boolean; + /** + * + * @type {Array} + * @memberof UserPolicy + */ + enabledDevices?: Array | null; + /** + * + * @type {boolean} + * @memberof UserPolicy + */ + enableAllDevices?: boolean; + /** + * + * @type {Array} + * @memberof UserPolicy + */ + enabledChannels?: Array | null; + /** + * + * @type {boolean} + * @memberof UserPolicy + */ + enableAllChannels?: boolean; + /** + * + * @type {Array} + * @memberof UserPolicy + */ + enabledFolders?: Array | null; + /** + * + * @type {boolean} + * @memberof UserPolicy + */ + enableAllFolders?: boolean; + /** + * + * @type {number} + * @memberof UserPolicy + */ + invalidLoginAttemptCount?: number; + /** + * + * @type {number} + * @memberof UserPolicy + */ + loginAttemptsBeforeLockout?: number; + /** + * + * @type {number} + * @memberof UserPolicy + */ + maxActiveSessions?: number; + /** + * + * @type {boolean} + * @memberof UserPolicy + */ + enablePublicSharing?: boolean; + /** + * + * @type {Array} + * @memberof UserPolicy + */ + blockedMediaFolders?: Array | null; + /** + * + * @type {Array} + * @memberof UserPolicy + */ + blockedChannels?: Array | null; + /** + * + * @type {number} + * @memberof UserPolicy + */ + remoteClientBitrateLimit?: number; + /** + * + * @type {string} + * @memberof UserPolicy + */ + authenticationProviderId?: string | null; + /** + * + * @type {string} + * @memberof UserPolicy + */ + passwordResetProviderId?: string | null; + /** + * + * @type {SyncPlayUserAccessType} + * @memberof UserPolicy + */ + syncPlayAccess?: SyncPlayUserAccessType; +} + +/** + * Check if a given object implements the UserPolicy interface. + */ +export function instanceOfUserPolicy(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UserPolicyFromJSON(json: any): UserPolicy { + return UserPolicyFromJSONTyped(json, false); +} + +export function UserPolicyFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserPolicy { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'isAdministrator': !exists(json, 'IsAdministrator') ? undefined : json['IsAdministrator'], + 'isHidden': !exists(json, 'IsHidden') ? undefined : json['IsHidden'], + 'isDisabled': !exists(json, 'IsDisabled') ? undefined : json['IsDisabled'], + 'maxParentalRating': !exists(json, 'MaxParentalRating') ? undefined : json['MaxParentalRating'], + 'blockedTags': !exists(json, 'BlockedTags') ? undefined : json['BlockedTags'], + 'enableUserPreferenceAccess': !exists(json, 'EnableUserPreferenceAccess') ? undefined : json['EnableUserPreferenceAccess'], + 'accessSchedules': !exists(json, 'AccessSchedules') ? undefined : (json['AccessSchedules'] === null ? null : (json['AccessSchedules'] as Array).map(AccessScheduleFromJSON)), + 'blockUnratedItems': !exists(json, 'BlockUnratedItems') ? undefined : (json['BlockUnratedItems'] === null ? null : (json['BlockUnratedItems'] as Array).map(UnratedItemFromJSON)), + 'enableRemoteControlOfOtherUsers': !exists(json, 'EnableRemoteControlOfOtherUsers') ? undefined : json['EnableRemoteControlOfOtherUsers'], + 'enableSharedDeviceControl': !exists(json, 'EnableSharedDeviceControl') ? undefined : json['EnableSharedDeviceControl'], + 'enableRemoteAccess': !exists(json, 'EnableRemoteAccess') ? undefined : json['EnableRemoteAccess'], + 'enableLiveTvManagement': !exists(json, 'EnableLiveTvManagement') ? undefined : json['EnableLiveTvManagement'], + 'enableLiveTvAccess': !exists(json, 'EnableLiveTvAccess') ? undefined : json['EnableLiveTvAccess'], + 'enableMediaPlayback': !exists(json, 'EnableMediaPlayback') ? undefined : json['EnableMediaPlayback'], + 'enableAudioPlaybackTranscoding': !exists(json, 'EnableAudioPlaybackTranscoding') ? undefined : json['EnableAudioPlaybackTranscoding'], + 'enableVideoPlaybackTranscoding': !exists(json, 'EnableVideoPlaybackTranscoding') ? undefined : json['EnableVideoPlaybackTranscoding'], + 'enablePlaybackRemuxing': !exists(json, 'EnablePlaybackRemuxing') ? undefined : json['EnablePlaybackRemuxing'], + 'forceRemoteSourceTranscoding': !exists(json, 'ForceRemoteSourceTranscoding') ? undefined : json['ForceRemoteSourceTranscoding'], + 'enableContentDeletion': !exists(json, 'EnableContentDeletion') ? undefined : json['EnableContentDeletion'], + 'enableContentDeletionFromFolders': !exists(json, 'EnableContentDeletionFromFolders') ? undefined : json['EnableContentDeletionFromFolders'], + 'enableContentDownloading': !exists(json, 'EnableContentDownloading') ? undefined : json['EnableContentDownloading'], + 'enableSyncTranscoding': !exists(json, 'EnableSyncTranscoding') ? undefined : json['EnableSyncTranscoding'], + 'enableMediaConversion': !exists(json, 'EnableMediaConversion') ? undefined : json['EnableMediaConversion'], + 'enabledDevices': !exists(json, 'EnabledDevices') ? undefined : json['EnabledDevices'], + 'enableAllDevices': !exists(json, 'EnableAllDevices') ? undefined : json['EnableAllDevices'], + 'enabledChannels': !exists(json, 'EnabledChannels') ? undefined : json['EnabledChannels'], + 'enableAllChannels': !exists(json, 'EnableAllChannels') ? undefined : json['EnableAllChannels'], + 'enabledFolders': !exists(json, 'EnabledFolders') ? undefined : json['EnabledFolders'], + 'enableAllFolders': !exists(json, 'EnableAllFolders') ? undefined : json['EnableAllFolders'], + 'invalidLoginAttemptCount': !exists(json, 'InvalidLoginAttemptCount') ? undefined : json['InvalidLoginAttemptCount'], + 'loginAttemptsBeforeLockout': !exists(json, 'LoginAttemptsBeforeLockout') ? undefined : json['LoginAttemptsBeforeLockout'], + 'maxActiveSessions': !exists(json, 'MaxActiveSessions') ? undefined : json['MaxActiveSessions'], + 'enablePublicSharing': !exists(json, 'EnablePublicSharing') ? undefined : json['EnablePublicSharing'], + 'blockedMediaFolders': !exists(json, 'BlockedMediaFolders') ? undefined : json['BlockedMediaFolders'], + 'blockedChannels': !exists(json, 'BlockedChannels') ? undefined : json['BlockedChannels'], + 'remoteClientBitrateLimit': !exists(json, 'RemoteClientBitrateLimit') ? undefined : json['RemoteClientBitrateLimit'], + 'authenticationProviderId': !exists(json, 'AuthenticationProviderId') ? undefined : json['AuthenticationProviderId'], + 'passwordResetProviderId': !exists(json, 'PasswordResetProviderId') ? undefined : json['PasswordResetProviderId'], + 'syncPlayAccess': !exists(json, 'SyncPlayAccess') ? undefined : SyncPlayUserAccessTypeFromJSON(json['SyncPlayAccess']), + }; +} + +export function UserPolicyToJSON(value?: UserPolicy | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'IsAdministrator': value.isAdministrator, + 'IsHidden': value.isHidden, + 'IsDisabled': value.isDisabled, + 'MaxParentalRating': value.maxParentalRating, + 'BlockedTags': value.blockedTags, + 'EnableUserPreferenceAccess': value.enableUserPreferenceAccess, + 'AccessSchedules': value.accessSchedules === undefined ? undefined : (value.accessSchedules === null ? null : (value.accessSchedules as Array).map(AccessScheduleToJSON)), + 'BlockUnratedItems': value.blockUnratedItems === undefined ? undefined : (value.blockUnratedItems === null ? null : (value.blockUnratedItems as Array).map(UnratedItemToJSON)), + 'EnableRemoteControlOfOtherUsers': value.enableRemoteControlOfOtherUsers, + 'EnableSharedDeviceControl': value.enableSharedDeviceControl, + 'EnableRemoteAccess': value.enableRemoteAccess, + 'EnableLiveTvManagement': value.enableLiveTvManagement, + 'EnableLiveTvAccess': value.enableLiveTvAccess, + 'EnableMediaPlayback': value.enableMediaPlayback, + 'EnableAudioPlaybackTranscoding': value.enableAudioPlaybackTranscoding, + 'EnableVideoPlaybackTranscoding': value.enableVideoPlaybackTranscoding, + 'EnablePlaybackRemuxing': value.enablePlaybackRemuxing, + 'ForceRemoteSourceTranscoding': value.forceRemoteSourceTranscoding, + 'EnableContentDeletion': value.enableContentDeletion, + 'EnableContentDeletionFromFolders': value.enableContentDeletionFromFolders, + 'EnableContentDownloading': value.enableContentDownloading, + 'EnableSyncTranscoding': value.enableSyncTranscoding, + 'EnableMediaConversion': value.enableMediaConversion, + 'EnabledDevices': value.enabledDevices, + 'EnableAllDevices': value.enableAllDevices, + 'EnabledChannels': value.enabledChannels, + 'EnableAllChannels': value.enableAllChannels, + 'EnabledFolders': value.enabledFolders, + 'EnableAllFolders': value.enableAllFolders, + 'InvalidLoginAttemptCount': value.invalidLoginAttemptCount, + 'LoginAttemptsBeforeLockout': value.loginAttemptsBeforeLockout, + 'MaxActiveSessions': value.maxActiveSessions, + 'EnablePublicSharing': value.enablePublicSharing, + 'BlockedMediaFolders': value.blockedMediaFolders, + 'BlockedChannels': value.blockedChannels, + 'RemoteClientBitrateLimit': value.remoteClientBitrateLimit, + 'AuthenticationProviderId': value.authenticationProviderId, + 'PasswordResetProviderId': value.passwordResetProviderId, + 'SyncPlayAccess': SyncPlayUserAccessTypeToJSON(value.syncPlayAccess), + }; +} + diff --git a/server/jellyfin/models/UtcTimeResponse.ts b/server/jellyfin/models/UtcTimeResponse.ts new file mode 100644 index 0000000..f17618d --- /dev/null +++ b/server/jellyfin/models/UtcTimeResponse.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Class UtcTimeResponse. + * @export + * @interface UtcTimeResponse + */ +export interface UtcTimeResponse { + /** + * Gets the UTC time when request has been received. + * @type {Date} + * @memberof UtcTimeResponse + */ + requestReceptionTime?: Date; + /** + * Gets the UTC time when response has been sent. + * @type {Date} + * @memberof UtcTimeResponse + */ + responseTransmissionTime?: Date; +} + +/** + * Check if a given object implements the UtcTimeResponse interface. + */ +export function instanceOfUtcTimeResponse(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UtcTimeResponseFromJSON(json: any): UtcTimeResponse { + return UtcTimeResponseFromJSONTyped(json, false); +} + +export function UtcTimeResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): UtcTimeResponse { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'requestReceptionTime': !exists(json, 'RequestReceptionTime') ? undefined : (new Date(json['RequestReceptionTime'])), + 'responseTransmissionTime': !exists(json, 'ResponseTransmissionTime') ? undefined : (new Date(json['ResponseTransmissionTime'])), + }; +} + +export function UtcTimeResponseToJSON(value?: UtcTimeResponse | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'RequestReceptionTime': value.requestReceptionTime === undefined ? undefined : (value.requestReceptionTime.toISOString()), + 'ResponseTransmissionTime': value.responseTransmissionTime === undefined ? undefined : (value.responseTransmissionTime.toISOString()), + }; +} + diff --git a/server/jellyfin/models/ValidatePathDto.ts b/server/jellyfin/models/ValidatePathDto.ts new file mode 100644 index 0000000..0ad189e --- /dev/null +++ b/server/jellyfin/models/ValidatePathDto.ts @@ -0,0 +1,81 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Validate path object. + * @export + * @interface ValidatePathDto + */ +export interface ValidatePathDto { + /** + * Gets or sets a value indicating whether validate if path is writable. + * @type {boolean} + * @memberof ValidatePathDto + */ + validateWritable?: boolean; + /** + * Gets or sets the path. + * @type {string} + * @memberof ValidatePathDto + */ + path?: string | null; + /** + * Gets or sets is path file. + * @type {boolean} + * @memberof ValidatePathDto + */ + isFile?: boolean | null; +} + +/** + * Check if a given object implements the ValidatePathDto interface. + */ +export function instanceOfValidatePathDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ValidatePathDtoFromJSON(json: any): ValidatePathDto { + return ValidatePathDtoFromJSONTyped(json, false); +} + +export function ValidatePathDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ValidatePathDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'validateWritable': !exists(json, 'ValidateWritable') ? undefined : json['ValidateWritable'], + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'isFile': !exists(json, 'IsFile') ? undefined : json['IsFile'], + }; +} + +export function ValidatePathDtoToJSON(value?: ValidatePathDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'ValidateWritable': value.validateWritable, + 'Path': value.path, + 'IsFile': value.isFile, + }; +} + diff --git a/server/jellyfin/models/ValidatePathRequest.ts b/server/jellyfin/models/ValidatePathRequest.ts new file mode 100644 index 0000000..b94eaba --- /dev/null +++ b/server/jellyfin/models/ValidatePathRequest.ts @@ -0,0 +1,81 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Validate path object. + * @export + * @interface ValidatePathRequest + */ +export interface ValidatePathRequest { + /** + * Gets or sets a value indicating whether validate if path is writable. + * @type {boolean} + * @memberof ValidatePathRequest + */ + validateWritable?: boolean; + /** + * Gets or sets the path. + * @type {string} + * @memberof ValidatePathRequest + */ + path?: string | null; + /** + * Gets or sets is path file. + * @type {boolean} + * @memberof ValidatePathRequest + */ + isFile?: boolean | null; +} + +/** + * Check if a given object implements the ValidatePathRequest interface. + */ +export function instanceOfValidatePathRequest(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ValidatePathRequestFromJSON(json: any): ValidatePathRequest { + return ValidatePathRequestFromJSONTyped(json, false); +} + +export function ValidatePathRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): ValidatePathRequest { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'validateWritable': !exists(json, 'ValidateWritable') ? undefined : json['ValidateWritable'], + 'path': !exists(json, 'Path') ? undefined : json['Path'], + 'isFile': !exists(json, 'IsFile') ? undefined : json['IsFile'], + }; +} + +export function ValidatePathRequestToJSON(value?: ValidatePathRequest | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'ValidateWritable': value.validateWritable, + 'Path': value.path, + 'IsFile': value.isFile, + }; +} + diff --git a/server/jellyfin/models/VersionInfo.ts b/server/jellyfin/models/VersionInfo.ts new file mode 100644 index 0000000..6aa7ea0 --- /dev/null +++ b/server/jellyfin/models/VersionInfo.ts @@ -0,0 +1,128 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Defines the MediaBrowser.Model.Updates.VersionInfo class. + * @export + * @interface VersionInfo + */ +export interface VersionInfo { + /** + * Gets or sets the version. + * @type {string} + * @memberof VersionInfo + */ + version?: string; + /** + * Gets the version as a System.Version. + * @type {string} + * @memberof VersionInfo + */ + readonly versionNumber?: string; + /** + * Gets or sets the changelog for this version. + * @type {string} + * @memberof VersionInfo + */ + changelog?: string | null; + /** + * Gets or sets the ABI that this version was built against. + * @type {string} + * @memberof VersionInfo + */ + targetAbi?: string | null; + /** + * Gets or sets the source URL. + * @type {string} + * @memberof VersionInfo + */ + sourceUrl?: string | null; + /** + * Gets or sets a checksum for the binary. + * @type {string} + * @memberof VersionInfo + */ + checksum?: string | null; + /** + * Gets or sets a timestamp of when the binary was built. + * @type {string} + * @memberof VersionInfo + */ + timestamp?: string | null; + /** + * Gets or sets the repository name. + * @type {string} + * @memberof VersionInfo + */ + repositoryName?: string; + /** + * Gets or sets the repository url. + * @type {string} + * @memberof VersionInfo + */ + repositoryUrl?: string; +} + +/** + * Check if a given object implements the VersionInfo interface. + */ +export function instanceOfVersionInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function VersionInfoFromJSON(json: any): VersionInfo { + return VersionInfoFromJSONTyped(json, false); +} + +export function VersionInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): VersionInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'version': !exists(json, 'version') ? undefined : json['version'], + 'versionNumber': !exists(json, 'VersionNumber') ? undefined : json['VersionNumber'], + 'changelog': !exists(json, 'changelog') ? undefined : json['changelog'], + 'targetAbi': !exists(json, 'targetAbi') ? undefined : json['targetAbi'], + 'sourceUrl': !exists(json, 'sourceUrl') ? undefined : json['sourceUrl'], + 'checksum': !exists(json, 'checksum') ? undefined : json['checksum'], + 'timestamp': !exists(json, 'timestamp') ? undefined : json['timestamp'], + 'repositoryName': !exists(json, 'repositoryName') ? undefined : json['repositoryName'], + 'repositoryUrl': !exists(json, 'repositoryUrl') ? undefined : json['repositoryUrl'], + }; +} + +export function VersionInfoToJSON(value?: VersionInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'version': value.version, + 'changelog': value.changelog, + 'targetAbi': value.targetAbi, + 'sourceUrl': value.sourceUrl, + 'checksum': value.checksum, + 'timestamp': value.timestamp, + 'repositoryName': value.repositoryName, + 'repositoryUrl': value.repositoryUrl, + }; +} + diff --git a/server/jellyfin/models/Video3DFormat.ts b/server/jellyfin/models/Video3DFormat.ts new file mode 100644 index 0000000..d9a8c6c --- /dev/null +++ b/server/jellyfin/models/Video3DFormat.ts @@ -0,0 +1,41 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const Video3DFormat = { + HalfSideBySide: 'HalfSideBySide', + FullSideBySide: 'FullSideBySide', + FullTopAndBottom: 'FullTopAndBottom', + HalfTopAndBottom: 'HalfTopAndBottom', + Mvc: 'MVC' +} as const; +export type Video3DFormat = typeof Video3DFormat[keyof typeof Video3DFormat]; + + +export function Video3DFormatFromJSON(json: any): Video3DFormat { + return Video3DFormatFromJSONTyped(json, false); +} + +export function Video3DFormatFromJSONTyped(json: any, ignoreDiscriminator: boolean): Video3DFormat { + return json as Video3DFormat; +} + +export function Video3DFormatToJSON(value?: Video3DFormat | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/VideoType.ts b/server/jellyfin/models/VideoType.ts new file mode 100644 index 0000000..1214832 --- /dev/null +++ b/server/jellyfin/models/VideoType.ts @@ -0,0 +1,40 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * Enum VideoType. + * @export + */ +export const VideoType = { + VideoFile: 'VideoFile', + Iso: 'Iso', + Dvd: 'Dvd', + BluRay: 'BluRay' +} as const; +export type VideoType = typeof VideoType[keyof typeof VideoType]; + + +export function VideoTypeFromJSON(json: any): VideoType { + return VideoTypeFromJSONTyped(json, false); +} + +export function VideoTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): VideoType { + return json as VideoType; +} + +export function VideoTypeToJSON(value?: VideoType | null): any { + return value as any; +} + diff --git a/server/jellyfin/models/VirtualFolderInfo.ts b/server/jellyfin/models/VirtualFolderInfo.ts new file mode 100644 index 0000000..dbf005c --- /dev/null +++ b/server/jellyfin/models/VirtualFolderInfo.ts @@ -0,0 +1,134 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { CollectionTypeOptions } from './CollectionTypeOptions'; +import { + CollectionTypeOptionsFromJSON, + CollectionTypeOptionsFromJSONTyped, + CollectionTypeOptionsToJSON, +} from './CollectionTypeOptions'; +import type { LibraryOptions } from './LibraryOptions'; +import { + LibraryOptionsFromJSON, + LibraryOptionsFromJSONTyped, + LibraryOptionsToJSON, +} from './LibraryOptions'; + +/** + * Used to hold information about a user's list of configured virtual folders. + * @export + * @interface VirtualFolderInfo + */ +export interface VirtualFolderInfo { + /** + * Gets or sets the name. + * @type {string} + * @memberof VirtualFolderInfo + */ + name?: string | null; + /** + * Gets or sets the locations. + * @type {Array} + * @memberof VirtualFolderInfo + */ + locations?: Array | null; + /** + * + * @type {CollectionTypeOptions} + * @memberof VirtualFolderInfo + */ + collectionType?: CollectionTypeOptions | null; + /** + * + * @type {LibraryOptions} + * @memberof VirtualFolderInfo + */ + libraryOptions?: LibraryOptions | null; + /** + * Gets or sets the item identifier. + * @type {string} + * @memberof VirtualFolderInfo + */ + itemId?: string | null; + /** + * Gets or sets the primary image item identifier. + * @type {string} + * @memberof VirtualFolderInfo + */ + primaryImageItemId?: string | null; + /** + * + * @type {number} + * @memberof VirtualFolderInfo + */ + refreshProgress?: number | null; + /** + * + * @type {string} + * @memberof VirtualFolderInfo + */ + refreshStatus?: string | null; +} + +/** + * Check if a given object implements the VirtualFolderInfo interface. + */ +export function instanceOfVirtualFolderInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function VirtualFolderInfoFromJSON(json: any): VirtualFolderInfo { + return VirtualFolderInfoFromJSONTyped(json, false); +} + +export function VirtualFolderInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): VirtualFolderInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'locations': !exists(json, 'Locations') ? undefined : json['Locations'], + 'collectionType': !exists(json, 'CollectionType') ? undefined : CollectionTypeOptionsFromJSON(json['CollectionType']), + 'libraryOptions': !exists(json, 'LibraryOptions') ? undefined : LibraryOptionsFromJSON(json['LibraryOptions']), + 'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'], + 'primaryImageItemId': !exists(json, 'PrimaryImageItemId') ? undefined : json['PrimaryImageItemId'], + 'refreshProgress': !exists(json, 'RefreshProgress') ? undefined : json['RefreshProgress'], + 'refreshStatus': !exists(json, 'RefreshStatus') ? undefined : json['RefreshStatus'], + }; +} + +export function VirtualFolderInfoToJSON(value?: VirtualFolderInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Locations': value.locations, + 'CollectionType': CollectionTypeOptionsToJSON(value.collectionType), + 'LibraryOptions': LibraryOptionsToJSON(value.libraryOptions), + 'ItemId': value.itemId, + 'PrimaryImageItemId': value.primaryImageItemId, + 'RefreshProgress': value.refreshProgress, + 'RefreshStatus': value.refreshStatus, + }; +} + diff --git a/server/jellyfin/models/WakeOnLanInfo.ts b/server/jellyfin/models/WakeOnLanInfo.ts new file mode 100644 index 0000000..45c34c4 --- /dev/null +++ b/server/jellyfin/models/WakeOnLanInfo.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Provides the MAC address and port for wake-on-LAN functionality. + * @export + * @interface WakeOnLanInfo + */ +export interface WakeOnLanInfo { + /** + * Gets the MAC address of the device. + * @type {string} + * @memberof WakeOnLanInfo + */ + macAddress?: string | null; + /** + * Gets or sets the wake-on-LAN port. + * @type {number} + * @memberof WakeOnLanInfo + */ + port?: number; +} + +/** + * Check if a given object implements the WakeOnLanInfo interface. + */ +export function instanceOfWakeOnLanInfo(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function WakeOnLanInfoFromJSON(json: any): WakeOnLanInfo { + return WakeOnLanInfoFromJSONTyped(json, false); +} + +export function WakeOnLanInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): WakeOnLanInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'macAddress': !exists(json, 'MacAddress') ? undefined : json['MacAddress'], + 'port': !exists(json, 'Port') ? undefined : json['Port'], + }; +} + +export function WakeOnLanInfoToJSON(value?: WakeOnLanInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'MacAddress': value.macAddress, + 'Port': value.port, + }; +} + diff --git a/server/jellyfin/models/XbmcMetadataOptions.ts b/server/jellyfin/models/XbmcMetadataOptions.ts new file mode 100644 index 0000000..dc752fc --- /dev/null +++ b/server/jellyfin/models/XbmcMetadataOptions.ts @@ -0,0 +1,97 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface XbmcMetadataOptions + */ +export interface XbmcMetadataOptions { + /** + * + * @type {string} + * @memberof XbmcMetadataOptions + */ + userId?: string | null; + /** + * + * @type {string} + * @memberof XbmcMetadataOptions + */ + releaseDateFormat?: string; + /** + * + * @type {boolean} + * @memberof XbmcMetadataOptions + */ + saveImagePathsInNfo?: boolean; + /** + * + * @type {boolean} + * @memberof XbmcMetadataOptions + */ + enablePathSubstitution?: boolean; + /** + * + * @type {boolean} + * @memberof XbmcMetadataOptions + */ + enableExtraThumbsDuplication?: boolean; +} + +/** + * Check if a given object implements the XbmcMetadataOptions interface. + */ +export function instanceOfXbmcMetadataOptions(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function XbmcMetadataOptionsFromJSON(json: any): XbmcMetadataOptions { + return XbmcMetadataOptionsFromJSONTyped(json, false); +} + +export function XbmcMetadataOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): XbmcMetadataOptions { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'userId': !exists(json, 'UserId') ? undefined : json['UserId'], + 'releaseDateFormat': !exists(json, 'ReleaseDateFormat') ? undefined : json['ReleaseDateFormat'], + 'saveImagePathsInNfo': !exists(json, 'SaveImagePathsInNfo') ? undefined : json['SaveImagePathsInNfo'], + 'enablePathSubstitution': !exists(json, 'EnablePathSubstitution') ? undefined : json['EnablePathSubstitution'], + 'enableExtraThumbsDuplication': !exists(json, 'EnableExtraThumbsDuplication') ? undefined : json['EnableExtraThumbsDuplication'], + }; +} + +export function XbmcMetadataOptionsToJSON(value?: XbmcMetadataOptions | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'UserId': value.userId, + 'ReleaseDateFormat': value.releaseDateFormat, + 'SaveImagePathsInNfo': value.saveImagePathsInNfo, + 'EnablePathSubstitution': value.enablePathSubstitution, + 'EnableExtraThumbsDuplication': value.enableExtraThumbsDuplication, + }; +} + diff --git a/server/jellyfin/models/XmlAttribute.ts b/server/jellyfin/models/XmlAttribute.ts new file mode 100644 index 0000000..64a0726 --- /dev/null +++ b/server/jellyfin/models/XmlAttribute.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * Defines the MediaBrowser.Model.Dlna.XmlAttribute. + * @export + * @interface XmlAttribute + */ +export interface XmlAttribute { + /** + * Gets or sets the name of the attribute. + * @type {string} + * @memberof XmlAttribute + */ + name?: string | null; + /** + * Gets or sets the value of the attribute. + * @type {string} + * @memberof XmlAttribute + */ + value?: string | null; +} + +/** + * Check if a given object implements the XmlAttribute interface. + */ +export function instanceOfXmlAttribute(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function XmlAttributeFromJSON(json: any): XmlAttribute { + return XmlAttributeFromJSONTyped(json, false); +} + +export function XmlAttributeFromJSONTyped(json: any, ignoreDiscriminator: boolean): XmlAttribute { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'Name') ? undefined : json['Name'], + 'value': !exists(json, 'Value') ? undefined : json['Value'], + }; +} + +export function XmlAttributeToJSON(value?: XmlAttribute | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'Name': value.name, + 'Value': value.value, + }; +} + diff --git a/server/jellyfin/models/index.ts b/server/jellyfin/models/index.ts new file mode 100644 index 0000000..cf6fb25 --- /dev/null +++ b/server/jellyfin/models/index.ts @@ -0,0 +1,376 @@ +/* tslint:disable */ +/* eslint-disable */ +export * from './AccessSchedule'; +export * from './ActivityLogEntry'; +export * from './ActivityLogEntryQueryResult'; +export * from './AddListingProviderRequest'; +export * from './AddMediaPathRequest'; +export * from './AddTunerHostRequest'; +export * from './AddVirtualFolderDto'; +export * from './AddVirtualFolderDtoLibraryOptions'; +export * from './AddVirtualFolderRequest'; +export * from './AdminNotificationDto'; +export * from './AlbumInfo'; +export * from './AlbumInfoRemoteSearchQuery'; +export * from './AllThemeMediaResult'; +export * from './AllThemeMediaResultThemeVideosResult'; +export * from './ApplySearchCriteriaRequest'; +export * from './Architecture'; +export * from './ArtistInfo'; +export * from './ArtistInfoRemoteSearchQuery'; +export * from './AuthenticateUserByName'; +export * from './AuthenticateUserByNameRequest'; +export * from './AuthenticateWithQuickConnectRequest'; +export * from './AuthenticationInfo'; +export * from './AuthenticationInfoQueryResult'; +export * from './AuthenticationResult'; +export * from './AuthenticationResultSessionInfo'; +export * from './AuthenticationResultUser'; +export * from './BaseItem'; +export * from './BaseItemDto'; +export * from './BaseItemDtoCurrentProgram'; +export * from './BaseItemDtoImageBlurHashes'; +export * from './BaseItemDtoQueryResult'; +export * from './BaseItemDtoUserData'; +export * from './BaseItemKind'; +export * from './BaseItemPerson'; +export * from './BaseItemPersonImageBlurHashes'; +export * from './BookInfo'; +export * from './BookInfoRemoteSearchQuery'; +export * from './BoxSetInfo'; +export * from './BoxSetInfoRemoteSearchQuery'; +export * from './BrandingOptions'; +export * from './BufferRequestDto'; +export * from './ChannelFeatures'; +export * from './ChannelItemSortField'; +export * from './ChannelMappingOptionsDto'; +export * from './ChannelMediaContentType'; +export * from './ChannelMediaType'; +export * from './ChannelType'; +export * from './ChapterInfo'; +export * from './ClientCapabilities'; +export * from './ClientCapabilitiesDeviceProfile'; +export * from './ClientCapabilitiesDto'; +export * from './ClientCapabilitiesDtoDeviceProfile'; +export * from './ClientLogDocumentResponseDto'; +export * from './CodecProfile'; +export * from './CodecType'; +export * from './CollectionCreationResult'; +export * from './CollectionTypeOptions'; +export * from './ConfigImageTypes'; +export * from './ConfigurationPageInfo'; +export * from './ContainerProfile'; +export * from './ControlResponse'; +export * from './CountryInfo'; +export * from './CreateAdminNotificationRequest'; +export * from './CreatePlaylistDto'; +export * from './CreatePlaylistRequest'; +export * from './CreateProfileRequest'; +export * from './CreateSeriesTimerRequest'; +export * from './CreateTimerRequest'; +export * from './CreateUserByName'; +export * from './CreateUserByNameRequest'; +export * from './CultureDto'; +export * from './DayOfWeek'; +export * from './DayPattern'; +export * from './DefaultDirectoryBrowserInfoDto'; +export * from './DeviceIdentification'; +export * from './DeviceInfo'; +export * from './DeviceInfoCapabilities'; +export * from './DeviceInfoQueryResult'; +export * from './DeviceOptions'; +export * from './DeviceOptionsDto'; +export * from './DeviceProfile'; +export * from './DeviceProfileIdentification'; +export * from './DeviceProfileInfo'; +export * from './DeviceProfileType'; +export * from './DirectPlayProfile'; +export * from './DisplayPreferencesDto'; +export * from './DlnaOptions'; +export * from './DlnaProfileType'; +export * from './DynamicDayOfWeek'; +export * from './EmbeddedSubtitleOptions'; +export * from './EncodingContext'; +export * from './EncodingOptions'; +export * from './EndPointInfo'; +export * from './ExternalIdInfo'; +export * from './ExternalIdMediaType'; +export * from './ExternalUrl'; +export * from './FFmpegLocation'; +export * from './FileSystemEntryInfo'; +export * from './FileSystemEntryType'; +export * from './FontFile'; +export * from './ForgotPasswordAction'; +export * from './ForgotPasswordDto'; +export * from './ForgotPasswordPinDto'; +export * from './ForgotPasswordPinRequest'; +export * from './ForgotPasswordRequest'; +export * from './ForgotPasswordResult'; +export * from './GeneralCommand'; +export * from './GeneralCommandType'; +export * from './GetBookRemoteSearchResultsRequest'; +export * from './GetBoxSetRemoteSearchResultsRequest'; +export * from './GetMovieRemoteSearchResultsRequest'; +export * from './GetMusicAlbumRemoteSearchResultsRequest'; +export * from './GetMusicArtistRemoteSearchResultsRequest'; +export * from './GetMusicVideoRemoteSearchResultsRequest'; +export * from './GetPersonRemoteSearchResultsRequest'; +export * from './GetPostedPlaybackInfoRequest'; +export * from './GetProgramsDto'; +export * from './GetProgramsRequest'; +export * from './GetSeriesRemoteSearchResultsRequest'; +export * from './GetTrailerRemoteSearchResultsRequest'; +export * from './GroupInfoDto'; +export * from './GroupQueueMode'; +export * from './GroupRepeatMode'; +export * from './GroupShuffleMode'; +export * from './GroupStateType'; +export * from './GroupUpdateType'; +export * from './GuideInfo'; +export * from './HardwareEncodingType'; +export * from './HeaderMatchType'; +export * from './HttpHeaderInfo'; +export * from './IPlugin'; +export * from './IgnoreWaitRequestDto'; +export * from './ImageByNameInfo'; +export * from './ImageFormat'; +export * from './ImageInfo'; +export * from './ImageOption'; +export * from './ImageOrientation'; +export * from './ImageProviderInfo'; +export * from './ImageSavingConvention'; +export * from './ImageType'; +export * from './InstallationInfo'; +export * from './InstallationInfoPackageInfo'; +export * from './IsoType'; +export * from './ItemCounts'; +export * from './ItemFields'; +export * from './ItemFilter'; +export * from './JoinGroupRequestDto'; +export * from './KeepUntil'; +export * from './LibraryOptionInfoDto'; +export * from './LibraryOptions'; +export * from './LibraryOptionsResultDto'; +export * from './LibraryTypeOptionsDto'; +export * from './LibraryUpdateInfo'; +export * from './ListingsProviderInfo'; +export * from './LiveStreamResponse'; +export * from './LiveStreamResponseMediaSource'; +export * from './LiveTvInfo'; +export * from './LiveTvOptions'; +export * from './LiveTvServiceInfo'; +export * from './LiveTvServiceStatus'; +export * from './LocalizationOption'; +export * from './LocationType'; +export * from './LogFile'; +export * from './LogLevel'; +export * from './MediaAttachment'; +export * from './MediaEncoderPathDto'; +export * from './MediaPathDto'; +export * from './MediaPathDtoPathInfo'; +export * from './MediaPathInfo'; +export * from './MediaProtocol'; +export * from './MediaSourceInfo'; +export * from './MediaSourceType'; +export * from './MediaStream'; +export * from './MediaStreamType'; +export * from './MediaUpdateInfoDto'; +export * from './MediaUpdateInfoPathDto'; +export * from './MediaUrl'; +export * from './MessageCommand'; +export * from './MetadataConfiguration'; +export * from './MetadataEditorInfo'; +export * from './MetadataField'; +export * from './MetadataOptions'; +export * from './MetadataRefreshMode'; +export * from './MovePlaylistItemRequestDto'; +export * from './MovieInfo'; +export * from './MovieInfoRemoteSearchQuery'; +export * from './MusicVideoInfo'; +export * from './MusicVideoInfoRemoteSearchQuery'; +export * from './NameGuidPair'; +export * from './NameIdPair'; +export * from './NameValuePair'; +export * from './NetworkConfiguration'; +export * from './NewGroupRequestDto'; +export * from './NextItemRequestDto'; +export * from './NotificationDto'; +export * from './NotificationLevel'; +export * from './NotificationOption'; +export * from './NotificationOptions'; +export * from './NotificationResultDto'; +export * from './NotificationTypeInfo'; +export * from './NotificationsSummaryDto'; +export * from './ObjectGroupUpdate'; +export * from './OpenLiveStreamDto'; +export * from './OpenLiveStreamRequest'; +export * from './PackageInfo'; +export * from './ParentalRating'; +export * from './PathSubstitution'; +export * from './PersonLookupInfo'; +export * from './PersonLookupInfoRemoteSearchQuery'; +export * from './PinRedeemResult'; +export * from './PingRequestDto'; +export * from './PlayAccess'; +export * from './PlayCommand'; +export * from './PlayMethod'; +export * from './PlayRequest'; +export * from './PlayRequestDto'; +export * from './PlaybackErrorCode'; +export * from './PlaybackInfoDto'; +export * from './PlaybackInfoResponse'; +export * from './PlaybackProgressInfo'; +export * from './PlaybackProgressInfoItem'; +export * from './PlaybackStartInfo'; +export * from './PlaybackStopInfo'; +export * from './PlayerStateInfo'; +export * from './PlaylistCreationResult'; +export * from './PlaystateCommand'; +export * from './PlaystateRequest'; +export * from './PluginInfo'; +export * from './PluginStatus'; +export * from './PostFullCapabilitiesRequest'; +export * from './PostUpdatedMediaRequest'; +export * from './PreviousItemRequestDto'; +export * from './ProblemDetails'; +export * from './ProfileCondition'; +export * from './ProfileConditionType'; +export * from './ProfileConditionValue'; +export * from './ProgramAudio'; +export * from './PublicSystemInfo'; +export * from './QueryFilters'; +export * from './QueryFiltersLegacy'; +export * from './QueueItem'; +export * from './QueueRequestDto'; +export * from './QuickConnectDto'; +export * from './QuickConnectResult'; +export * from './RatingType'; +export * from './ReadyRequestDto'; +export * from './RecommendationDto'; +export * from './RecommendationType'; +export * from './RecordingStatus'; +export * from './RemoteImageInfo'; +export * from './RemoteImageResult'; +export * from './RemoteSearchResult'; +export * from './RemoteSubtitleInfo'; +export * from './RemoveFromPlaylistRequestDto'; +export * from './RepeatMode'; +export * from './ReportPlaybackProgressRequest'; +export * from './ReportPlaybackStartRequest'; +export * from './ReportPlaybackStoppedRequest'; +export * from './RepositoryInfo'; +export * from './ResponseProfile'; +export * from './ScrollDirection'; +export * from './SearchHint'; +export * from './SearchHintResult'; +export * from './SeekRequestDto'; +export * from './SendCommand'; +export * from './SendCommandType'; +export * from './SendFullGeneralCommandRequest'; +export * from './SendMessageCommandRequest'; +export * from './SendToUserType'; +export * from './SeriesInfo'; +export * from './SeriesInfoRemoteSearchQuery'; +export * from './SeriesStatus'; +export * from './SeriesTimerInfoDto'; +export * from './SeriesTimerInfoDtoQueryResult'; +export * from './ServerConfiguration'; +export * from './ServerDiscoveryInfo'; +export * from './SessionInfo'; +export * from './SessionInfoFullNowPlayingItem'; +export * from './SessionInfoNowPlayingItem'; +export * from './SessionMessageType'; +export * from './SessionUserInfo'; +export * from './SetChannelMappingDto'; +export * from './SetChannelMappingRequest'; +export * from './SetPlaylistItemRequestDto'; +export * from './SetRemoteAccessRequest'; +export * from './SetRepeatModeRequestDto'; +export * from './SetShuffleModeRequestDto'; +export * from './SongInfo'; +export * from './SortOrder'; +export * from './SpecialViewOptionDto'; +export * from './StartupConfigurationDto'; +export * from './StartupRemoteAccessDto'; +export * from './StartupUserDto'; +export * from './SubtitleDeliveryMethod'; +export * from './SubtitleOptions'; +export * from './SubtitlePlaybackMode'; +export * from './SubtitleProfile'; +export * from './SyncPlayBufferingRequest'; +export * from './SyncPlayCreateGroupRequest'; +export * from './SyncPlayJoinGroupRequest'; +export * from './SyncPlayMovePlaylistItemRequest'; +export * from './SyncPlayNextItemRequest'; +export * from './SyncPlayPingRequest'; +export * from './SyncPlayPreviousItemRequest'; +export * from './SyncPlayQueueRequest'; +export * from './SyncPlayReadyRequest'; +export * from './SyncPlayRemoveFromPlaylistRequest'; +export * from './SyncPlaySeekRequest'; +export * from './SyncPlaySetIgnoreWaitRequest'; +export * from './SyncPlaySetNewQueueRequest'; +export * from './SyncPlaySetPlaylistItemRequest'; +export * from './SyncPlaySetRepeatModeRequest'; +export * from './SyncPlaySetShuffleModeRequest'; +export * from './SyncPlayUserAccessType'; +export * from './SystemInfo'; +export * from './TaskCompletionStatus'; +export * from './TaskInfo'; +export * from './TaskInfoLastExecutionResult'; +export * from './TaskResult'; +export * from './TaskState'; +export * from './TaskTriggerInfo'; +export * from './ThemeMediaResult'; +export * from './TimerEventInfo'; +export * from './TimerInfoDto'; +export * from './TimerInfoDtoProgramInfo'; +export * from './TimerInfoDtoQueryResult'; +export * from './TrailerInfo'; +export * from './TrailerInfoRemoteSearchQuery'; +export * from './TranscodeReason'; +export * from './TranscodeSeekInfo'; +export * from './TranscodingInfo'; +export * from './TranscodingProfile'; +export * from './TransportStreamTimestamp'; +export * from './TunerChannelMapping'; +export * from './TunerHostInfo'; +export * from './TypeOptions'; +export * from './UnratedItem'; +export * from './UpdateConfigurationRequest'; +export * from './UpdateDeviceOptionsRequest'; +export * from './UpdateDisplayPreferencesRequest'; +export * from './UpdateInitialConfigurationRequest'; +export * from './UpdateItemRequest'; +export * from './UpdateLibraryOptionsDto'; +export * from './UpdateLibraryOptionsRequest'; +export * from './UpdateMediaEncoderPathRequest'; +export * from './UpdateMediaPathRequest'; +export * from './UpdateMediaPathRequestDto'; +export * from './UpdateMediaPathRequestDtoPathInfo'; +export * from './UpdateStartupUserRequest'; +export * from './UpdateUserConfigurationRequest'; +export * from './UpdateUserEasyPassword'; +export * from './UpdateUserEasyPasswordRequest'; +export * from './UpdateUserPassword'; +export * from './UpdateUserPasswordRequest'; +export * from './UpdateUserPolicyRequest'; +export * from './UpdateUserRequest'; +export * from './UploadSubtitleDto'; +export * from './UploadSubtitleRequest'; +export * from './UserConfiguration'; +export * from './UserDto'; +export * from './UserDtoConfiguration'; +export * from './UserDtoPolicy'; +export * from './UserItemDataDto'; +export * from './UserPolicy'; +export * from './UtcTimeResponse'; +export * from './ValidatePathDto'; +export * from './ValidatePathRequest'; +export * from './VersionInfo'; +export * from './Video3DFormat'; +export * from './VideoType'; +export * from './VirtualFolderInfo'; +export * from './WakeOnLanInfo'; +export * from './XbmcMetadataOptions'; +export * from './XmlAttribute'; diff --git a/server/jellyfin/runtime.ts b/server/jellyfin/runtime.ts new file mode 100644 index 0000000..d0d1643 --- /dev/null +++ b/server/jellyfin/runtime.ts @@ -0,0 +1,425 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Jellyfin API + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 10.8.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export const BASE_PATH = "http://localhost".replace(/\/+$/, ""); + +export interface ConfigurationParameters { + basePath?: string; // override base path + fetchApi?: FetchAPI; // override for fetch implementation + middleware?: Middleware[]; // middleware to apply before/after fetch requests + queryParamsStringify?: (params: HTTPQuery) => string; // stringify function for query strings + username?: string; // parameter for basic security + password?: string; // parameter for basic security + apiKey?: string | ((name: string) => string); // parameter for apiKey security + accessToken?: string | Promise | ((name?: string, scopes?: string[]) => string | Promise); // parameter for oauth2 security + headers?: HTTPHeaders; //header params we want to use on every request + credentials?: RequestCredentials; //value for the credentials param we want to use on each request +} + +export class Configuration { + constructor(private configuration: ConfigurationParameters = {}) {} + + set config(configuration: Configuration) { + this.configuration = configuration; + } + + get basePath(): string { + return this.configuration.basePath != null ? this.configuration.basePath : BASE_PATH; + } + + get fetchApi(): FetchAPI | undefined { + return this.configuration.fetchApi; + } + + get middleware(): Middleware[] { + return this.configuration.middleware || []; + } + + get queryParamsStringify(): (params: HTTPQuery) => string { + return this.configuration.queryParamsStringify || querystring; + } + + get username(): string | undefined { + return this.configuration.username; + } + + get password(): string | undefined { + return this.configuration.password; + } + + get apiKey(): ((name: string) => string) | undefined { + const apiKey = this.configuration.apiKey; + if (apiKey) { + return typeof apiKey === 'function' ? apiKey : () => apiKey; + } + return undefined; + } + + get accessToken(): ((name?: string, scopes?: string[]) => string | Promise) | undefined { + const accessToken = this.configuration.accessToken; + if (accessToken) { + return typeof accessToken === 'function' ? accessToken : async () => accessToken; + } + return undefined; + } + + get headers(): HTTPHeaders | undefined { + return this.configuration.headers; + } + + get credentials(): RequestCredentials | undefined { + return this.configuration.credentials; + } +} + +export const DefaultConfig = new Configuration(); + +/** + * This is the base class for all generated API classes. + */ +export class BaseAPI { + + private static readonly jsonRegex = new RegExp('^(:?application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(:?;.*)?$', 'i'); + private middleware: Middleware[]; + + constructor(protected configuration = DefaultConfig) { + this.middleware = configuration.middleware; + } + + withMiddleware(this: T, ...middlewares: Middleware[]) { + const next = this.clone(); + next.middleware = next.middleware.concat(...middlewares); + return next; + } + + withPreMiddleware(this: T, ...preMiddlewares: Array) { + const middlewares = preMiddlewares.map((pre) => ({ pre })); + return this.withMiddleware(...middlewares); + } + + withPostMiddleware(this: T, ...postMiddlewares: Array) { + const middlewares = postMiddlewares.map((post) => ({ post })); + return this.withMiddleware(...middlewares); + } + + /** + * 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. + */ + protected isJsonMime(mime: string | null | undefined): boolean { + if (!mime) { + return false; + } + return BaseAPI.jsonRegex.test(mime); + } + + protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise { + const { url, init } = await this.createFetchParams(context, initOverrides); + const response = await this.fetchApi(url, init); + if (response && (response.status >= 200 && response.status < 300)) { + return response; + } + throw new ResponseError(response, 'Response returned an error code'); + } + + private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction) { + let url = this.configuration.basePath + context.path; + if (context.query !== undefined && Object.keys(context.query).length !== 0) { + // only add the querystring to the URL if there are query parameters. + // this is done to avoid urls ending with a "?" character which buggy webservers + // do not handle correctly sometimes. + url += '?' + this.configuration.queryParamsStringify(context.query); + } + + const headers = Object.assign({}, this.configuration.headers, context.headers); + Object.keys(headers).forEach(key => headers[key] === undefined ? delete headers[key] : {}); + + const initOverrideFn = + typeof initOverrides === "function" + ? initOverrides + : async () => initOverrides; + + const initParams = { + method: context.method, + headers, + body: context.body, + credentials: this.configuration.credentials, + }; + + const overriddenInit: RequestInit = { + ...initParams, + ...(await initOverrideFn({ + init: initParams, + context, + })) + }; + + const init: RequestInit = { + ...overriddenInit, + body: + isFormData(overriddenInit.body) || + overriddenInit.body instanceof URLSearchParams || + isBlob(overriddenInit.body) + ? overriddenInit.body + : JSON.stringify(overriddenInit.body), + }; + + return { url, init }; + } + + private fetchApi = async (url: string, init: RequestInit) => { + let fetchParams = { url, init }; + for (const middleware of this.middleware) { + if (middleware.pre) { + fetchParams = await middleware.pre({ + fetch: this.fetchApi, + ...fetchParams, + }) || fetchParams; + } + } + let response: Response | undefined = undefined; + try { + response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + } catch (e) { + for (const middleware of this.middleware) { + if (middleware.onError) { + response = await middleware.onError({ + fetch: this.fetchApi, + url: fetchParams.url, + init: fetchParams.init, + error: e, + response: response ? response.clone() : undefined, + }) || response; + } + } + if (response === undefined) { + if (e instanceof Error) { + throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); + } else { + throw e; + } + } + } + for (const middleware of this.middleware) { + if (middleware.post) { + response = await middleware.post({ + fetch: this.fetchApi, + url: fetchParams.url, + init: fetchParams.init, + response: response.clone(), + }) || response; + } + } + return response; + } + + /** + * Create a shallow clone of `this` by constructing a new instance + * and then shallow cloning data members. + */ + private clone(this: T): T { + const constructor = this.constructor as any; + const next = new constructor(this.configuration); + next.middleware = this.middleware.slice(); + return next; + } +}; + +function isBlob(value: any): value is Blob { + return typeof Blob !== 'undefined' && value instanceof Blob; +} + +function isFormData(value: any): value is FormData { + return typeof FormData !== "undefined" && value instanceof FormData; +} + +export class ResponseError extends Error { + override name: "ResponseError" = "ResponseError"; + constructor(public response: Response, msg?: string) { + super(msg); + } +} + +export class FetchError extends Error { + override name: "FetchError" = "FetchError"; + constructor(public cause: Error, msg?: string) { + super(msg); + } +} + +export class RequiredError extends Error { + override name: "RequiredError" = "RequiredError"; + constructor(public field: string, msg?: string) { + super(msg); + } +} + +export const COLLECTION_FORMATS = { + csv: ",", + ssv: " ", + tsv: "\t", + pipes: "|", +}; + +export type FetchAPI = WindowOrWorkerGlobalScope['fetch']; + +export type Json = any; +export type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'HEAD'; +export type HTTPHeaders = { [key: string]: string }; +export type HTTPQuery = { [key: string]: string | number | null | boolean | Array | Set | HTTPQuery }; +export type HTTPBody = Json | FormData | URLSearchParams; +export type HTTPRequestInit = { headers?: HTTPHeaders; method: HTTPMethod; credentials?: RequestCredentials; body?: HTTPBody }; +export type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original'; + +export type InitOverrideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise + +export interface FetchParams { + url: string; + init: RequestInit; +} + +export interface RequestOpts { + path: string; + method: HTTPMethod; + headers: HTTPHeaders; + query?: HTTPQuery; + body?: HTTPBody; +} + +export function exists(json: any, key: string) { + const value = json[key]; + return value !== null && value !== undefined; +} + +export function querystring(params: HTTPQuery, prefix: string = ''): string { + return Object.keys(params) + .map(key => querystringSingleKey(key, params[key], prefix)) + .filter(part => part.length > 0) + .join('&'); +} + +function querystringSingleKey(key: string, value: string | number | null | undefined | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { + const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key); + if (value instanceof Array) { + const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue))) + .join(`&${encodeURIComponent(fullKey)}=`); + return `${encodeURIComponent(fullKey)}=${multiValue}`; + } + if (value instanceof Set) { + const valueAsArray = Array.from(value); + return querystringSingleKey(key, valueAsArray, keyPrefix); + } + if (value instanceof Date) { + return `${encodeURIComponent(fullKey)}=${encodeURIComponent(value.toISOString())}`; + } + if (value instanceof Object) { + return querystring(value as HTTPQuery, fullKey); + } + return `${encodeURIComponent(fullKey)}=${encodeURIComponent(String(value))}`; +} + +export function mapValues(data: any, fn: (item: any) => any) { + return Object.keys(data).reduce( + (acc, key) => ({ ...acc, [key]: fn(data[key]) }), + {} + ); +} + +export function canConsumeForm(consumes: Consume[]): boolean { + for (const consume of consumes) { + if ('multipart/form-data' === consume.contentType) { + return true; + } + } + return false; +} + +export interface Consume { + contentType: string; +} + +export interface RequestContext { + fetch: FetchAPI; + url: string; + init: RequestInit; +} + +export interface ResponseContext { + fetch: FetchAPI; + url: string; + init: RequestInit; + response: Response; +} + +export interface ErrorContext { + fetch: FetchAPI; + url: string; + init: RequestInit; + error: unknown; + response?: Response; +} + +export interface Middleware { + pre?(context: RequestContext): Promise; + post?(context: ResponseContext): Promise; + onError?(context: ErrorContext): Promise; +} + +export interface ApiResponse { + raw: Response; + value(): Promise; +} + +export interface ResponseTransformer { + (json: any): T; +} + +export class JSONApiResponse { + constructor(public raw: Response, private transformer: ResponseTransformer = (jsonValue: any) => jsonValue) {} + + async value(): Promise { + return this.transformer(await this.raw.json()); + } +} + +export class VoidApiResponse { + constructor(public raw: Response) {} + + async value(): Promise { + return undefined; + } +} + +export class BlobApiResponse { + constructor(public raw: Response) {} + + async value(): Promise { + return await this.raw.blob(); + }; +} + +export class TextApiResponse { + constructor(public raw: Response) {} + + async value(): Promise { + return await this.raw.text(); + }; +}