jellyfin api -> fetch
This commit is contained in:
		
							
								
								
									
										83
									
								
								server/jellyfin/apis/ActivityLogApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								server/jellyfin/apis/ActivityLogApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<ActivityLogEntryQueryResult>> {
 | 
			
		||||
        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<ActivityLogEntryQueryResult> {
 | 
			
		||||
        const response = await this.getLogEntriesRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										138
									
								
								server/jellyfin/apis/ApiKeyApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										138
									
								
								server/jellyfin/apis/ApiKeyApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.createKeyRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get all keys.
 | 
			
		||||
     */
 | 
			
		||||
    async getKeysRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<AuthenticationInfoQueryResult>> {
 | 
			
		||||
        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<AuthenticationInfoQueryResult> {
 | 
			
		||||
        const response = await this.getKeysRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Remove an api key.
 | 
			
		||||
     */
 | 
			
		||||
    async revokeKeyRaw(requestParameters: RevokeKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.revokeKeyRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										477
									
								
								server/jellyfin/apis/ArtistsApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										477
									
								
								server/jellyfin/apis/ArtistsApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<ItemFields>;
 | 
			
		||||
    excludeItemTypes?: Array<BaseItemKind>;
 | 
			
		||||
    includeItemTypes?: Array<BaseItemKind>;
 | 
			
		||||
    filters?: Array<ItemFilter>;
 | 
			
		||||
    isFavorite?: boolean;
 | 
			
		||||
    mediaTypes?: Array<string>;
 | 
			
		||||
    genres?: Array<string>;
 | 
			
		||||
    genreIds?: Array<string>;
 | 
			
		||||
    officialRatings?: Array<string>;
 | 
			
		||||
    tags?: Array<string>;
 | 
			
		||||
    years?: Array<number>;
 | 
			
		||||
    enableUserData?: boolean;
 | 
			
		||||
    imageTypeLimit?: number;
 | 
			
		||||
    enableImageTypes?: Array<ImageType>;
 | 
			
		||||
    person?: string;
 | 
			
		||||
    personIds?: Array<string>;
 | 
			
		||||
    personTypes?: Array<string>;
 | 
			
		||||
    studios?: Array<string>;
 | 
			
		||||
    studioIds?: Array<string>;
 | 
			
		||||
    userId?: string;
 | 
			
		||||
    nameStartsWithOrGreater?: string;
 | 
			
		||||
    nameStartsWith?: string;
 | 
			
		||||
    nameLessThan?: string;
 | 
			
		||||
    sortBy?: Array<string>;
 | 
			
		||||
    sortOrder?: Array<SortOrder>;
 | 
			
		||||
    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<ItemFields>;
 | 
			
		||||
    excludeItemTypes?: Array<BaseItemKind>;
 | 
			
		||||
    includeItemTypes?: Array<BaseItemKind>;
 | 
			
		||||
    filters?: Array<ItemFilter>;
 | 
			
		||||
    isFavorite?: boolean;
 | 
			
		||||
    mediaTypes?: Array<string>;
 | 
			
		||||
    genres?: Array<string>;
 | 
			
		||||
    genreIds?: Array<string>;
 | 
			
		||||
    officialRatings?: Array<string>;
 | 
			
		||||
    tags?: Array<string>;
 | 
			
		||||
    years?: Array<number>;
 | 
			
		||||
    enableUserData?: boolean;
 | 
			
		||||
    imageTypeLimit?: number;
 | 
			
		||||
    enableImageTypes?: Array<ImageType>;
 | 
			
		||||
    person?: string;
 | 
			
		||||
    personIds?: Array<string>;
 | 
			
		||||
    personTypes?: Array<string>;
 | 
			
		||||
    studios?: Array<string>;
 | 
			
		||||
    studioIds?: Array<string>;
 | 
			
		||||
    userId?: string;
 | 
			
		||||
    nameStartsWithOrGreater?: string;
 | 
			
		||||
    nameStartsWith?: string;
 | 
			
		||||
    nameLessThan?: string;
 | 
			
		||||
    sortBy?: Array<string>;
 | 
			
		||||
    sortOrder?: Array<SortOrder>;
 | 
			
		||||
    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<runtime.ApiResponse<BaseItemDtoQueryResult>> {
 | 
			
		||||
        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<BaseItemDtoQueryResult> {
 | 
			
		||||
        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<runtime.ApiResponse<BaseItemDto>> {
 | 
			
		||||
        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<BaseItemDto> {
 | 
			
		||||
        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<runtime.ApiResponse<BaseItemDtoQueryResult>> {
 | 
			
		||||
        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<BaseItemDtoQueryResult> {
 | 
			
		||||
        const response = await this.getArtistsRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										1129
									
								
								server/jellyfin/apis/AudioApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1129
									
								
								server/jellyfin/apis/AudioApi.ts
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										116
									
								
								server/jellyfin/apis/BrandingApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										116
									
								
								server/jellyfin/apis/BrandingApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<string>> {
 | 
			
		||||
        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<string>(response);
 | 
			
		||||
        } else {
 | 
			
		||||
            return new runtime.TextApiResponse(response) as any;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets branding css.
 | 
			
		||||
     */
 | 
			
		||||
    async getBrandingCss(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<string> {
 | 
			
		||||
        const response = await this.getBrandingCssRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets branding css.
 | 
			
		||||
     */
 | 
			
		||||
    async getBrandingCss2Raw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<string>> {
 | 
			
		||||
        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<string>(response);
 | 
			
		||||
        } else {
 | 
			
		||||
            return new runtime.TextApiResponse(response) as any;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets branding css.
 | 
			
		||||
     */
 | 
			
		||||
    async getBrandingCss2(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<string> {
 | 
			
		||||
        const response = await this.getBrandingCss2Raw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets branding configuration.
 | 
			
		||||
     */
 | 
			
		||||
    async getBrandingOptionsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BrandingOptions>> {
 | 
			
		||||
        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<BrandingOptions> {
 | 
			
		||||
        const response = await this.getBrandingOptionsRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										314
									
								
								server/jellyfin/apis/ChannelsApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										314
									
								
								server/jellyfin/apis/ChannelsApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<SortOrder>;
 | 
			
		||||
    filters?: Array<ItemFilter>;
 | 
			
		||||
    sortBy?: Array<string>;
 | 
			
		||||
    fields?: Array<ItemFields>;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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<ItemFilter>;
 | 
			
		||||
    fields?: Array<ItemFields>;
 | 
			
		||||
    channelIds?: Array<string>;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 
 | 
			
		||||
 */
 | 
			
		||||
export class ChannelsApi extends runtime.BaseAPI {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get all channel features.
 | 
			
		||||
     */
 | 
			
		||||
    async getAllChannelFeaturesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ChannelFeatures>>> {
 | 
			
		||||
        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<Array<ChannelFeatures>> {
 | 
			
		||||
        const response = await this.getAllChannelFeaturesRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get channel features.
 | 
			
		||||
     */
 | 
			
		||||
    async getChannelFeaturesRaw(requestParameters: GetChannelFeaturesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ChannelFeatures>> {
 | 
			
		||||
        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<ChannelFeatures> {
 | 
			
		||||
        const response = await this.getChannelFeaturesRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get channel items.
 | 
			
		||||
     */
 | 
			
		||||
    async getChannelItemsRaw(requestParameters: GetChannelItemsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BaseItemDtoQueryResult>> {
 | 
			
		||||
        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<BaseItemDtoQueryResult> {
 | 
			
		||||
        const response = await this.getChannelItemsRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets available channels.
 | 
			
		||||
     */
 | 
			
		||||
    async getChannelsRaw(requestParameters: GetChannelsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BaseItemDtoQueryResult>> {
 | 
			
		||||
        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<BaseItemDtoQueryResult> {
 | 
			
		||||
        const response = await this.getChannelsRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets latest channel items.
 | 
			
		||||
     */
 | 
			
		||||
    async getLatestChannelItemsRaw(requestParameters: GetLatestChannelItemsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BaseItemDtoQueryResult>> {
 | 
			
		||||
        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<BaseItemDtoQueryResult> {
 | 
			
		||||
        const response = await this.getLatestChannelItemsRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										70
									
								
								server/jellyfin/apis/ClientLogApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								server/jellyfin/apis/ClientLogApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<ClientLogDocumentResponseDto>> {
 | 
			
		||||
        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<ClientLogDocumentResponseDto> {
 | 
			
		||||
        const response = await this.logFileRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										175
									
								
								server/jellyfin/apis/CollectionApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										175
									
								
								server/jellyfin/apis/CollectionApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<string>;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export interface CreateCollectionRequest {
 | 
			
		||||
    name?: string;
 | 
			
		||||
    ids?: Array<string>;
 | 
			
		||||
    parentId?: string;
 | 
			
		||||
    isLocked?: boolean;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export interface RemoveFromCollectionRequest {
 | 
			
		||||
    collectionId: string;
 | 
			
		||||
    ids: Array<string>;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 
 | 
			
		||||
 */
 | 
			
		||||
export class CollectionApi extends runtime.BaseAPI {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Adds items to a collection.
 | 
			
		||||
     */
 | 
			
		||||
    async addToCollectionRaw(requestParameters: AddToCollectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.addToCollectionRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Creates a new collection.
 | 
			
		||||
     */
 | 
			
		||||
    async createCollectionRaw(requestParameters: CreateCollectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CollectionCreationResult>> {
 | 
			
		||||
        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<CollectionCreationResult> {
 | 
			
		||||
        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<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.removeFromCollectionRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										262
									
								
								server/jellyfin/apis/ConfigurationApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										262
									
								
								server/jellyfin/apis/ConfigurationApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<ServerConfiguration>> {
 | 
			
		||||
        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<ServerConfiguration> {
 | 
			
		||||
        const response = await this.getConfigurationRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets a default MetadataOptions object.
 | 
			
		||||
     */
 | 
			
		||||
    async getDefaultMetadataOptionsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<MetadataOptions>> {
 | 
			
		||||
        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<MetadataOptions> {
 | 
			
		||||
        const response = await this.getDefaultMetadataOptionsRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets a named configuration.
 | 
			
		||||
     */
 | 
			
		||||
    async getNamedConfigurationRaw(requestParameters: GetNamedConfigurationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        const response = await this.getNamedConfigurationRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Updates application configuration.
 | 
			
		||||
     */
 | 
			
		||||
    async updateConfigurationRaw(requestParameters: UpdateConfigurationOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.updateConfigurationRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Updates the path to the media encoder.
 | 
			
		||||
     */
 | 
			
		||||
    async updateMediaEncoderPathRaw(requestParameters: UpdateMediaEncoderPathOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.updateMediaEncoderPathRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Updates named configuration.
 | 
			
		||||
     */
 | 
			
		||||
    async updateNamedConfigurationRaw(requestParameters: UpdateNamedConfigurationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.updateNamedConfigurationRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										105
									
								
								server/jellyfin/apis/DashboardApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										105
									
								
								server/jellyfin/apis/DashboardApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<Array<ConfigurationPageInfo>>> {
 | 
			
		||||
        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<Array<ConfigurationPageInfo>> {
 | 
			
		||||
        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<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        const response = await this.getDashboardConfigurationPageRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										259
									
								
								server/jellyfin/apis/DevicesApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										259
									
								
								server/jellyfin/apis/DevicesApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.deleteDeviceRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get info for a device.
 | 
			
		||||
     */
 | 
			
		||||
    async getDeviceInfoRaw(requestParameters: GetDeviceInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeviceInfo>> {
 | 
			
		||||
        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<DeviceInfo> {
 | 
			
		||||
        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<runtime.ApiResponse<DeviceOptions>> {
 | 
			
		||||
        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<DeviceOptions> {
 | 
			
		||||
        const response = await this.getDeviceOptionsRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get Devices.
 | 
			
		||||
     */
 | 
			
		||||
    async getDevicesRaw(requestParameters: GetDevicesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeviceInfoQueryResult>> {
 | 
			
		||||
        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<DeviceInfoQueryResult> {
 | 
			
		||||
        const response = await this.getDevicesRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Update device options.
 | 
			
		||||
     */
 | 
			
		||||
    async updateDeviceOptionsRaw(requestParameters: UpdateDeviceOptionsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.updateDeviceOptionsRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										152
									
								
								server/jellyfin/apis/DisplayPreferencesApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										152
									
								
								server/jellyfin/apis/DisplayPreferencesApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<DisplayPreferencesDto>> {
 | 
			
		||||
        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<DisplayPreferencesDto> {
 | 
			
		||||
        const response = await this.getDisplayPreferencesRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Update Display Preferences.
 | 
			
		||||
     */
 | 
			
		||||
    async updateDisplayPreferencesRaw(requestParameters: UpdateDisplayPreferencesOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.updateDisplayPreferencesRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										251
									
								
								server/jellyfin/apis/DlnaApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										251
									
								
								server/jellyfin/apis/DlnaApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.createProfileRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Deletes a profile.
 | 
			
		||||
     */
 | 
			
		||||
    async deleteProfileRaw(requestParameters: DeleteProfileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.deleteProfileRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets the default profile.
 | 
			
		||||
     */
 | 
			
		||||
    async getDefaultProfileRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeviceProfile>> {
 | 
			
		||||
        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<DeviceProfile> {
 | 
			
		||||
        const response = await this.getDefaultProfileRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets a single profile.
 | 
			
		||||
     */
 | 
			
		||||
    async getProfileRaw(requestParameters: GetProfileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeviceProfile>> {
 | 
			
		||||
        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<DeviceProfile> {
 | 
			
		||||
        const response = await this.getProfileRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get profile infos.
 | 
			
		||||
     */
 | 
			
		||||
    async getProfileInfosRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<DeviceProfileInfo>>> {
 | 
			
		||||
        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<Array<DeviceProfileInfo>> {
 | 
			
		||||
        const response = await this.getProfileInfosRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Updates a profile.
 | 
			
		||||
     */
 | 
			
		||||
    async updateProfileRaw(requestParameters: UpdateProfileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.updateProfileRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										643
									
								
								server/jellyfin/apis/DlnaServerApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										643
									
								
								server/jellyfin/apis/DlnaServerApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        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<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        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<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        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<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        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<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        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<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        const response = await this.getContentDirectory3Raw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get Description Xml.
 | 
			
		||||
     */
 | 
			
		||||
    async getDescriptionXmlRaw(requestParameters: GetDescriptionXmlRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        const response = await this.getDescriptionXmlRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get Description Xml.
 | 
			
		||||
     */
 | 
			
		||||
    async getDescriptionXml2Raw(requestParameters: GetDescriptionXml2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        const response = await this.getDescriptionXml2Raw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets a server icon.
 | 
			
		||||
     */
 | 
			
		||||
    async getIconRaw(requestParameters: GetIconRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        const response = await this.getIconRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets a server icon.
 | 
			
		||||
     */
 | 
			
		||||
    async getIconIdRaw(requestParameters: GetIconIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        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<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        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<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        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<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        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<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        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<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        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<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        const response = await this.processMediaReceiverRegistrarControlRequestRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										2672
									
								
								server/jellyfin/apis/DynamicHlsApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2672
									
								
								server/jellyfin/apis/DynamicHlsApi.ts
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										267
									
								
								server/jellyfin/apis/EnvironmentApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										267
									
								
								server/jellyfin/apis/EnvironmentApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<DefaultDirectoryBrowserInfoDto>> {
 | 
			
		||||
        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<DefaultDirectoryBrowserInfoDto> {
 | 
			
		||||
        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<runtime.ApiResponse<Array<FileSystemEntryInfo>>> {
 | 
			
		||||
        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<Array<FileSystemEntryInfo>> {
 | 
			
		||||
        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<runtime.ApiResponse<Array<FileSystemEntryInfo>>> {
 | 
			
		||||
        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<Array<FileSystemEntryInfo>> {
 | 
			
		||||
        const response = await this.getDrivesRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets network paths.
 | 
			
		||||
     */
 | 
			
		||||
    async getNetworkSharesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<FileSystemEntryInfo>>> {
 | 
			
		||||
        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<Array<FileSystemEntryInfo>> {
 | 
			
		||||
        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<runtime.ApiResponse<string>> {
 | 
			
		||||
        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<string>(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<string> {
 | 
			
		||||
        const response = await this.getParentPathRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Validates path.
 | 
			
		||||
     */
 | 
			
		||||
    async validatePathRaw(requestParameters: ValidatePathOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.validatePathRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										172
									
								
								server/jellyfin/apis/FilterApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										172
									
								
								server/jellyfin/apis/FilterApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<BaseItemKind>;
 | 
			
		||||
    isAiring?: boolean;
 | 
			
		||||
    isMovie?: boolean;
 | 
			
		||||
    isSports?: boolean;
 | 
			
		||||
    isKids?: boolean;
 | 
			
		||||
    isNews?: boolean;
 | 
			
		||||
    isSeries?: boolean;
 | 
			
		||||
    recursive?: boolean;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export interface GetQueryFiltersLegacyRequest {
 | 
			
		||||
    userId?: string;
 | 
			
		||||
    parentId?: string;
 | 
			
		||||
    includeItemTypes?: Array<BaseItemKind>;
 | 
			
		||||
    mediaTypes?: Array<string>;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 
 | 
			
		||||
 */
 | 
			
		||||
export class FilterApi extends runtime.BaseAPI {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets query filters.
 | 
			
		||||
     */
 | 
			
		||||
    async getQueryFiltersRaw(requestParameters: GetQueryFiltersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<QueryFilters>> {
 | 
			
		||||
        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<QueryFilters> {
 | 
			
		||||
        const response = await this.getQueryFiltersRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets legacy query filters.
 | 
			
		||||
     */
 | 
			
		||||
    async getQueryFiltersLegacyRaw(requestParameters: GetQueryFiltersLegacyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<QueryFiltersLegacy>> {
 | 
			
		||||
        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<QueryFiltersLegacy> {
 | 
			
		||||
        const response = await this.getQueryFiltersLegacyRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										211
									
								
								server/jellyfin/apis/GenresApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										211
									
								
								server/jellyfin/apis/GenresApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<ItemFields>;
 | 
			
		||||
    excludeItemTypes?: Array<BaseItemKind>;
 | 
			
		||||
    includeItemTypes?: Array<BaseItemKind>;
 | 
			
		||||
    isFavorite?: boolean;
 | 
			
		||||
    imageTypeLimit?: number;
 | 
			
		||||
    enableImageTypes?: Array<ImageType>;
 | 
			
		||||
    userId?: string;
 | 
			
		||||
    nameStartsWithOrGreater?: string;
 | 
			
		||||
    nameStartsWith?: string;
 | 
			
		||||
    nameLessThan?: string;
 | 
			
		||||
    sortBy?: Array<string>;
 | 
			
		||||
    sortOrder?: Array<SortOrder>;
 | 
			
		||||
    enableImages?: boolean;
 | 
			
		||||
    enableTotalRecordCount?: boolean;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 
 | 
			
		||||
 */
 | 
			
		||||
export class GenresApi extends runtime.BaseAPI {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets a genre, by name.
 | 
			
		||||
     */
 | 
			
		||||
    async getGenreRaw(requestParameters: GetGenreRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BaseItemDto>> {
 | 
			
		||||
        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<BaseItemDto> {
 | 
			
		||||
        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<runtime.ApiResponse<BaseItemDtoQueryResult>> {
 | 
			
		||||
        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<BaseItemDtoQueryResult> {
 | 
			
		||||
        const response = await this.getGenresRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										250
									
								
								server/jellyfin/apis/HlsSegmentApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										250
									
								
								server/jellyfin/apis/HlsSegmentApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        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<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        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<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        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<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        const response = await this.getHlsVideoSegmentLegacyRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Stops an active encoding.
 | 
			
		||||
     */
 | 
			
		||||
    async stopEncodingProcessRaw(requestParameters: StopEncodingProcessRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.stopEncodingProcessRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										4146
									
								
								server/jellyfin/apis/ImageApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4146
									
								
								server/jellyfin/apis/ImageApi.ts
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										240
									
								
								server/jellyfin/apis/ImageByNameApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										240
									
								
								server/jellyfin/apis/ImageByNameApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        const response = await this.getGeneralImageRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get all general images.
 | 
			
		||||
     */
 | 
			
		||||
    async getGeneralImagesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ImageByNameInfo>>> {
 | 
			
		||||
        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<Array<ImageByNameInfo>> {
 | 
			
		||||
        const response = await this.getGeneralImagesRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get media info image.
 | 
			
		||||
     */
 | 
			
		||||
    async getMediaInfoImageRaw(requestParameters: GetMediaInfoImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        const response = await this.getMediaInfoImageRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get all media info images.
 | 
			
		||||
     */
 | 
			
		||||
    async getMediaInfoImagesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ImageByNameInfo>>> {
 | 
			
		||||
        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<Array<ImageByNameInfo>> {
 | 
			
		||||
        const response = await this.getMediaInfoImagesRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get rating image.
 | 
			
		||||
     */
 | 
			
		||||
    async getRatingImageRaw(requestParameters: GetRatingImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        const response = await this.getRatingImageRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get all general images.
 | 
			
		||||
     */
 | 
			
		||||
    async getRatingImagesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ImageByNameInfo>>> {
 | 
			
		||||
        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<Array<ImageByNameInfo>> {
 | 
			
		||||
        const response = await this.getRatingImagesRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										628
									
								
								server/jellyfin/apis/InstantMixApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										628
									
								
								server/jellyfin/apis/InstantMixApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<ItemFields>;
 | 
			
		||||
    enableImages?: boolean;
 | 
			
		||||
    enableUserData?: boolean;
 | 
			
		||||
    imageTypeLimit?: number;
 | 
			
		||||
    enableImageTypes?: Array<ImageType>;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export interface GetInstantMixFromArtistsRequest {
 | 
			
		||||
    id: string;
 | 
			
		||||
    userId?: string;
 | 
			
		||||
    limit?: number;
 | 
			
		||||
    fields?: Array<ItemFields>;
 | 
			
		||||
    enableImages?: boolean;
 | 
			
		||||
    enableUserData?: boolean;
 | 
			
		||||
    imageTypeLimit?: number;
 | 
			
		||||
    enableImageTypes?: Array<ImageType>;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export interface GetInstantMixFromArtists2Request {
 | 
			
		||||
    id: string;
 | 
			
		||||
    userId?: string;
 | 
			
		||||
    limit?: number;
 | 
			
		||||
    fields?: Array<ItemFields>;
 | 
			
		||||
    enableImages?: boolean;
 | 
			
		||||
    enableUserData?: boolean;
 | 
			
		||||
    imageTypeLimit?: number;
 | 
			
		||||
    enableImageTypes?: Array<ImageType>;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export interface GetInstantMixFromItemRequest {
 | 
			
		||||
    id: string;
 | 
			
		||||
    userId?: string;
 | 
			
		||||
    limit?: number;
 | 
			
		||||
    fields?: Array<ItemFields>;
 | 
			
		||||
    enableImages?: boolean;
 | 
			
		||||
    enableUserData?: boolean;
 | 
			
		||||
    imageTypeLimit?: number;
 | 
			
		||||
    enableImageTypes?: Array<ImageType>;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export interface GetInstantMixFromMusicGenreByIdRequest {
 | 
			
		||||
    id: string;
 | 
			
		||||
    userId?: string;
 | 
			
		||||
    limit?: number;
 | 
			
		||||
    fields?: Array<ItemFields>;
 | 
			
		||||
    enableImages?: boolean;
 | 
			
		||||
    enableUserData?: boolean;
 | 
			
		||||
    imageTypeLimit?: number;
 | 
			
		||||
    enableImageTypes?: Array<ImageType>;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export interface GetInstantMixFromMusicGenreByNameRequest {
 | 
			
		||||
    name: string;
 | 
			
		||||
    userId?: string;
 | 
			
		||||
    limit?: number;
 | 
			
		||||
    fields?: Array<ItemFields>;
 | 
			
		||||
    enableImages?: boolean;
 | 
			
		||||
    enableUserData?: boolean;
 | 
			
		||||
    imageTypeLimit?: number;
 | 
			
		||||
    enableImageTypes?: Array<ImageType>;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export interface GetInstantMixFromPlaylistRequest {
 | 
			
		||||
    id: string;
 | 
			
		||||
    userId?: string;
 | 
			
		||||
    limit?: number;
 | 
			
		||||
    fields?: Array<ItemFields>;
 | 
			
		||||
    enableImages?: boolean;
 | 
			
		||||
    enableUserData?: boolean;
 | 
			
		||||
    imageTypeLimit?: number;
 | 
			
		||||
    enableImageTypes?: Array<ImageType>;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export interface GetInstantMixFromSongRequest {
 | 
			
		||||
    id: string;
 | 
			
		||||
    userId?: string;
 | 
			
		||||
    limit?: number;
 | 
			
		||||
    fields?: Array<ItemFields>;
 | 
			
		||||
    enableImages?: boolean;
 | 
			
		||||
    enableUserData?: boolean;
 | 
			
		||||
    imageTypeLimit?: number;
 | 
			
		||||
    enableImageTypes?: Array<ImageType>;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 
 | 
			
		||||
 */
 | 
			
		||||
export class InstantMixApi extends runtime.BaseAPI {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Creates an instant playlist based on a given album.
 | 
			
		||||
     */
 | 
			
		||||
    async getInstantMixFromAlbumRaw(requestParameters: GetInstantMixFromAlbumRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BaseItemDtoQueryResult>> {
 | 
			
		||||
        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<BaseItemDtoQueryResult> {
 | 
			
		||||
        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<runtime.ApiResponse<BaseItemDtoQueryResult>> {
 | 
			
		||||
        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<BaseItemDtoQueryResult> {
 | 
			
		||||
        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<runtime.ApiResponse<BaseItemDtoQueryResult>> {
 | 
			
		||||
        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<BaseItemDtoQueryResult> {
 | 
			
		||||
        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<runtime.ApiResponse<BaseItemDtoQueryResult>> {
 | 
			
		||||
        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<BaseItemDtoQueryResult> {
 | 
			
		||||
        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<runtime.ApiResponse<BaseItemDtoQueryResult>> {
 | 
			
		||||
        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<BaseItemDtoQueryResult> {
 | 
			
		||||
        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<runtime.ApiResponse<BaseItemDtoQueryResult>> {
 | 
			
		||||
        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<BaseItemDtoQueryResult> {
 | 
			
		||||
        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<runtime.ApiResponse<BaseItemDtoQueryResult>> {
 | 
			
		||||
        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<BaseItemDtoQueryResult> {
 | 
			
		||||
        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<runtime.ApiResponse<BaseItemDtoQueryResult>> {
 | 
			
		||||
        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<BaseItemDtoQueryResult> {
 | 
			
		||||
        const response = await this.getInstantMixFromSongRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										523
									
								
								server/jellyfin/apis/ItemLookupApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										523
									
								
								server/jellyfin/apis/ItemLookupApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.applySearchCriteriaRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get book remote search.
 | 
			
		||||
     */
 | 
			
		||||
    async getBookRemoteSearchResultsRaw(requestParameters: GetBookRemoteSearchResultsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<RemoteSearchResult>>> {
 | 
			
		||||
        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<Array<RemoteSearchResult>> {
 | 
			
		||||
        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<runtime.ApiResponse<Array<RemoteSearchResult>>> {
 | 
			
		||||
        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<Array<RemoteSearchResult>> {
 | 
			
		||||
        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<runtime.ApiResponse<Array<ExternalIdInfo>>> {
 | 
			
		||||
        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<Array<ExternalIdInfo>> {
 | 
			
		||||
        const response = await this.getExternalIdInfosRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get movie remote search.
 | 
			
		||||
     */
 | 
			
		||||
    async getMovieRemoteSearchResultsRaw(requestParameters: GetMovieRemoteSearchResultsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<RemoteSearchResult>>> {
 | 
			
		||||
        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<Array<RemoteSearchResult>> {
 | 
			
		||||
        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<runtime.ApiResponse<Array<RemoteSearchResult>>> {
 | 
			
		||||
        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<Array<RemoteSearchResult>> {
 | 
			
		||||
        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<runtime.ApiResponse<Array<RemoteSearchResult>>> {
 | 
			
		||||
        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<Array<RemoteSearchResult>> {
 | 
			
		||||
        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<runtime.ApiResponse<Array<RemoteSearchResult>>> {
 | 
			
		||||
        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<Array<RemoteSearchResult>> {
 | 
			
		||||
        const response = await this.getMusicVideoRemoteSearchResultsRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get person remote search.
 | 
			
		||||
     */
 | 
			
		||||
    async getPersonRemoteSearchResultsRaw(requestParameters: GetPersonRemoteSearchResultsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<RemoteSearchResult>>> {
 | 
			
		||||
        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<Array<RemoteSearchResult>> {
 | 
			
		||||
        const response = await this.getPersonRemoteSearchResultsRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get series remote search.
 | 
			
		||||
     */
 | 
			
		||||
    async getSeriesRemoteSearchResultsRaw(requestParameters: GetSeriesRemoteSearchResultsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<RemoteSearchResult>>> {
 | 
			
		||||
        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<Array<RemoteSearchResult>> {
 | 
			
		||||
        const response = await this.getSeriesRemoteSearchResultsRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get trailer remote search.
 | 
			
		||||
     */
 | 
			
		||||
    async getTrailerRemoteSearchResultsRaw(requestParameters: GetTrailerRemoteSearchResultsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<RemoteSearchResult>>> {
 | 
			
		||||
        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<Array<RemoteSearchResult>> {
 | 
			
		||||
        const response = await this.getTrailerRemoteSearchResultsRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										90
									
								
								server/jellyfin/apis/ItemRefreshApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								server/jellyfin/apis/ItemRefreshApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.refreshItemRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										161
									
								
								server/jellyfin/apis/ItemUpdateApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										161
									
								
								server/jellyfin/apis/ItemUpdateApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<MetadataEditorInfo>> {
 | 
			
		||||
        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<MetadataEditorInfo> {
 | 
			
		||||
        const response = await this.getMetadataEditorInfoRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Updates an item.
 | 
			
		||||
     */
 | 
			
		||||
    async updateItemRaw(requestParameters: UpdateItemOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.updateItemRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Updates an item\'s content type.
 | 
			
		||||
     */
 | 
			
		||||
    async updateItemContentTypeRaw(requestParameters: UpdateItemContentTypeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.updateItemContentTypeRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										1078
									
								
								server/jellyfin/apis/ItemsApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1078
									
								
								server/jellyfin/apis/ItemsApi.ts
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1158
									
								
								server/jellyfin/apis/LibraryApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1158
									
								
								server/jellyfin/apis/LibraryApi.ts
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										391
									
								
								server/jellyfin/apis/LibraryStructureApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										391
									
								
								server/jellyfin/apis/LibraryStructureApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<string>;
 | 
			
		||||
    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<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.addMediaPathRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Adds a virtual folder.
 | 
			
		||||
     */
 | 
			
		||||
    async addVirtualFolderRaw(requestParameters: AddVirtualFolderOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.addVirtualFolderRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets all virtual folders.
 | 
			
		||||
     */
 | 
			
		||||
    async getVirtualFoldersRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<VirtualFolderInfo>>> {
 | 
			
		||||
        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<Array<VirtualFolderInfo>> {
 | 
			
		||||
        const response = await this.getVirtualFoldersRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Remove a media path.
 | 
			
		||||
     */
 | 
			
		||||
    async removeMediaPathRaw(requestParameters: RemoveMediaPathRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.removeMediaPathRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Removes a virtual folder.
 | 
			
		||||
     */
 | 
			
		||||
    async removeVirtualFolderRaw(requestParameters: RemoveVirtualFolderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.removeVirtualFolderRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Renames a virtual folder.
 | 
			
		||||
     */
 | 
			
		||||
    async renameVirtualFolderRaw(requestParameters: RenameVirtualFolderRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.renameVirtualFolderRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Update library options.
 | 
			
		||||
     */
 | 
			
		||||
    async updateLibraryOptionsRaw(requestParameters: UpdateLibraryOptionsOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.updateLibraryOptionsRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Updates a media path.
 | 
			
		||||
     */
 | 
			
		||||
    async updateMediaPathRaw(requestParameters: UpdateMediaPathOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.updateMediaPathRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										2137
									
								
								server/jellyfin/apis/LiveTvApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2137
									
								
								server/jellyfin/apis/LiveTvApi.ts
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										159
									
								
								server/jellyfin/apis/LocalizationApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										159
									
								
								server/jellyfin/apis/LocalizationApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<Array<CountryInfo>>> {
 | 
			
		||||
        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<Array<CountryInfo>> {
 | 
			
		||||
        const response = await this.getCountriesRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets known cultures.
 | 
			
		||||
     */
 | 
			
		||||
    async getCulturesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<CultureDto>>> {
 | 
			
		||||
        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<Array<CultureDto>> {
 | 
			
		||||
        const response = await this.getCulturesRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets localization options.
 | 
			
		||||
     */
 | 
			
		||||
    async getLocalizationOptionsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<LocalizationOption>>> {
 | 
			
		||||
        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<Array<LocalizationOption>> {
 | 
			
		||||
        const response = await this.getLocalizationOptionsRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets known parental ratings.
 | 
			
		||||
     */
 | 
			
		||||
    async getParentalRatingsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ParentalRating>>> {
 | 
			
		||||
        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<Array<ParentalRating>> {
 | 
			
		||||
        const response = await this.getParentalRatingsRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										371
									
								
								server/jellyfin/apis/MediaInfoApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										371
									
								
								server/jellyfin/apis/MediaInfoApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        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<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        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<runtime.ApiResponse<PlaybackInfoResponse>> {
 | 
			
		||||
        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<PlaybackInfoResponse> {
 | 
			
		||||
        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<runtime.ApiResponse<PlaybackInfoResponse>> {
 | 
			
		||||
        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<PlaybackInfoResponse> {
 | 
			
		||||
        const response = await this.getPostedPlaybackInfoRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Opens a media source.
 | 
			
		||||
     */
 | 
			
		||||
    async openLiveStreamRaw(requestParameters: OpenLiveStreamOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<LiveStreamResponse>> {
 | 
			
		||||
        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<LiveStreamResponse> {
 | 
			
		||||
        const response = await this.openLiveStreamRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										91
									
								
								server/jellyfin/apis/MoviesApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										91
									
								
								server/jellyfin/apis/MoviesApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<ItemFields>;
 | 
			
		||||
    categoryLimit?: number;
 | 
			
		||||
    itemLimit?: number;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 
 | 
			
		||||
 */
 | 
			
		||||
export class MoviesApi extends runtime.BaseAPI {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets movie recommendations.
 | 
			
		||||
     */
 | 
			
		||||
    async getMovieRecommendationsRaw(requestParameters: GetMovieRecommendationsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<RecommendationDto>>> {
 | 
			
		||||
        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<Array<RecommendationDto>> {
 | 
			
		||||
        const response = await this.getMovieRecommendationsRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										211
									
								
								server/jellyfin/apis/MusicGenresApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										211
									
								
								server/jellyfin/apis/MusicGenresApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<ItemFields>;
 | 
			
		||||
    excludeItemTypes?: Array<BaseItemKind>;
 | 
			
		||||
    includeItemTypes?: Array<BaseItemKind>;
 | 
			
		||||
    isFavorite?: boolean;
 | 
			
		||||
    imageTypeLimit?: number;
 | 
			
		||||
    enableImageTypes?: Array<ImageType>;
 | 
			
		||||
    userId?: string;
 | 
			
		||||
    nameStartsWithOrGreater?: string;
 | 
			
		||||
    nameStartsWith?: string;
 | 
			
		||||
    nameLessThan?: string;
 | 
			
		||||
    sortBy?: Array<string>;
 | 
			
		||||
    sortOrder?: Array<SortOrder>;
 | 
			
		||||
    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<runtime.ApiResponse<BaseItemDto>> {
 | 
			
		||||
        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<BaseItemDto> {
 | 
			
		||||
        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<runtime.ApiResponse<BaseItemDtoQueryResult>> {
 | 
			
		||||
        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<BaseItemDtoQueryResult> {
 | 
			
		||||
        const response = await this.getMusicGenresRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										292
									
								
								server/jellyfin/apis/NotificationsApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										292
									
								
								server/jellyfin/apis/NotificationsApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.createAdminNotificationRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets notification services.
 | 
			
		||||
     */
 | 
			
		||||
    async getNotificationServicesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<NameIdPair>>> {
 | 
			
		||||
        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<Array<NameIdPair>> {
 | 
			
		||||
        const response = await this.getNotificationServicesRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets notification types.
 | 
			
		||||
     */
 | 
			
		||||
    async getNotificationTypesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<NotificationTypeInfo>>> {
 | 
			
		||||
        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<Array<NotificationTypeInfo>> {
 | 
			
		||||
        const response = await this.getNotificationTypesRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets a user\'s notifications.
 | 
			
		||||
     */
 | 
			
		||||
    async getNotificationsRaw(requestParameters: GetNotificationsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<NotificationResultDto>> {
 | 
			
		||||
        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<NotificationResultDto> {
 | 
			
		||||
        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<runtime.ApiResponse<NotificationsSummaryDto>> {
 | 
			
		||||
        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<NotificationsSummaryDto> {
 | 
			
		||||
        const response = await this.getNotificationsSummaryRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Sets notifications as read.
 | 
			
		||||
     */
 | 
			
		||||
    async setReadRaw(requestParameters: SetReadRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.setReadRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Sets notifications as unread.
 | 
			
		||||
     */
 | 
			
		||||
    async setUnreadRaw(requestParameters: SetUnreadRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.setUnreadRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										268
									
								
								server/jellyfin/apis/PackageApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										268
									
								
								server/jellyfin/apis/PackageApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<RepositoryInfo>;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 
 | 
			
		||||
 */
 | 
			
		||||
export class PackageApi extends runtime.BaseAPI {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Cancels a package installation.
 | 
			
		||||
     */
 | 
			
		||||
    async cancelPackageInstallationRaw(requestParameters: CancelPackageInstallationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.cancelPackageInstallationRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets a package by name or assembly GUID.
 | 
			
		||||
     */
 | 
			
		||||
    async getPackageInfoRaw(requestParameters: GetPackageInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PackageInfo>> {
 | 
			
		||||
        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<PackageInfo> {
 | 
			
		||||
        const response = await this.getPackageInfoRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets available packages.
 | 
			
		||||
     */
 | 
			
		||||
    async getPackagesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<PackageInfo>>> {
 | 
			
		||||
        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<Array<PackageInfo>> {
 | 
			
		||||
        const response = await this.getPackagesRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets all package repositories.
 | 
			
		||||
     */
 | 
			
		||||
    async getRepositoriesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<RepositoryInfo>>> {
 | 
			
		||||
        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<Array<RepositoryInfo>> {
 | 
			
		||||
        const response = await this.getRepositoriesRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Installs a package.
 | 
			
		||||
     */
 | 
			
		||||
    async installPackageRaw(requestParameters: InstallPackageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.installPackageRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Sets the enabled and existing package repositories.
 | 
			
		||||
     */
 | 
			
		||||
    async setRepositoriesRaw(requestParameters: SetRepositoriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.setRepositoriesRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										186
									
								
								server/jellyfin/apis/PersonsApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										186
									
								
								server/jellyfin/apis/PersonsApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<ItemFields>;
 | 
			
		||||
    filters?: Array<ItemFilter>;
 | 
			
		||||
    isFavorite?: boolean;
 | 
			
		||||
    enableUserData?: boolean;
 | 
			
		||||
    imageTypeLimit?: number;
 | 
			
		||||
    enableImageTypes?: Array<ImageType>;
 | 
			
		||||
    excludePersonTypes?: Array<string>;
 | 
			
		||||
    personTypes?: Array<string>;
 | 
			
		||||
    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<runtime.ApiResponse<BaseItemDto>> {
 | 
			
		||||
        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<BaseItemDto> {
 | 
			
		||||
        const response = await this.getPersonRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets all persons.
 | 
			
		||||
     */
 | 
			
		||||
    async getPersonsRaw(requestParameters: GetPersonsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BaseItemDtoQueryResult>> {
 | 
			
		||||
        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<BaseItemDtoQueryResult> {
 | 
			
		||||
        const response = await this.getPersonsRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										319
									
								
								server/jellyfin/apis/PlaylistsApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										319
									
								
								server/jellyfin/apis/PlaylistsApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<string>;
 | 
			
		||||
    userId?: string;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export interface CreatePlaylistOperationRequest {
 | 
			
		||||
    name?: string;
 | 
			
		||||
    ids?: Array<string>;
 | 
			
		||||
    userId?: string;
 | 
			
		||||
    mediaType?: string;
 | 
			
		||||
    createPlaylistRequest?: CreatePlaylistRequest;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export interface GetPlaylistItemsRequest {
 | 
			
		||||
    playlistId: string;
 | 
			
		||||
    userId: string;
 | 
			
		||||
    startIndex?: number;
 | 
			
		||||
    limit?: number;
 | 
			
		||||
    fields?: Array<ItemFields>;
 | 
			
		||||
    enableImages?: boolean;
 | 
			
		||||
    enableUserData?: boolean;
 | 
			
		||||
    imageTypeLimit?: number;
 | 
			
		||||
    enableImageTypes?: Array<ImageType>;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export interface MoveItemRequest {
 | 
			
		||||
    playlistId: string;
 | 
			
		||||
    itemId: string;
 | 
			
		||||
    newIndex: number;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export interface RemoveFromPlaylistRequest {
 | 
			
		||||
    playlistId: string;
 | 
			
		||||
    entryIds?: Array<string>;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 
 | 
			
		||||
 */
 | 
			
		||||
export class PlaylistsApi extends runtime.BaseAPI {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Adds items to a playlist.
 | 
			
		||||
     */
 | 
			
		||||
    async addToPlaylistRaw(requestParameters: AddToPlaylistRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        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<runtime.ApiResponse<PlaylistCreationResult>> {
 | 
			
		||||
        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<PlaylistCreationResult> {
 | 
			
		||||
        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<runtime.ApiResponse<BaseItemDtoQueryResult>> {
 | 
			
		||||
        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<BaseItemDtoQueryResult> {
 | 
			
		||||
        const response = await this.getPlaylistItemsRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Moves a playlist item.
 | 
			
		||||
     */
 | 
			
		||||
    async moveItemRaw(requestParameters: MoveItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.moveItemRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Removes items from a playlist.
 | 
			
		||||
     */
 | 
			
		||||
    async removeFromPlaylistRaw(requestParameters: RemoveFromPlaylistRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.removeFromPlaylistRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										526
									
								
								server/jellyfin/apis/PlaystateApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										526
									
								
								server/jellyfin/apis/PlaystateApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<UserItemDataDto>> {
 | 
			
		||||
        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<UserItemDataDto> {
 | 
			
		||||
        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<runtime.ApiResponse<UserItemDataDto>> {
 | 
			
		||||
        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<UserItemDataDto> {
 | 
			
		||||
        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<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.onPlaybackProgressRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Reports that a user has begun playing an item.
 | 
			
		||||
     */
 | 
			
		||||
    async onPlaybackStartRaw(requestParameters: OnPlaybackStartRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.onPlaybackStartRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Reports that a user has stopped playing an item.
 | 
			
		||||
     */
 | 
			
		||||
    async onPlaybackStoppedRaw(requestParameters: OnPlaybackStoppedRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.onPlaybackStoppedRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Pings a playback session.
 | 
			
		||||
     */
 | 
			
		||||
    async pingPlaybackSessionRaw(requestParameters: PingPlaybackSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.pingPlaybackSessionRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Reports playback progress within a session.
 | 
			
		||||
     */
 | 
			
		||||
    async reportPlaybackProgressRaw(requestParameters: ReportPlaybackProgressOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.reportPlaybackProgressRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Reports playback has started within a session.
 | 
			
		||||
     */
 | 
			
		||||
    async reportPlaybackStartRaw(requestParameters: ReportPlaybackStartOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.reportPlaybackStartRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Reports playback has stopped within a session.
 | 
			
		||||
     */
 | 
			
		||||
    async reportPlaybackStoppedRaw(requestParameters: ReportPlaybackStoppedOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.reportPlaybackStoppedRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										383
									
								
								server/jellyfin/apis/PluginsApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										383
									
								
								server/jellyfin/apis/PluginsApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.disablePluginRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Enables a disabled plugin.
 | 
			
		||||
     */
 | 
			
		||||
    async enablePluginRaw(requestParameters: EnablePluginRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.enablePluginRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets plugin configuration.
 | 
			
		||||
     */
 | 
			
		||||
    async getPluginConfigurationRaw(requestParameters: GetPluginConfigurationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<object>> {
 | 
			
		||||
        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<any>(response);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets plugin configuration.
 | 
			
		||||
     */
 | 
			
		||||
    async getPluginConfiguration(requestParameters: GetPluginConfigurationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<object> {
 | 
			
		||||
        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<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        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<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.getPluginManifestRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets a list of currently installed plugins.
 | 
			
		||||
     */
 | 
			
		||||
    async getPluginsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<PluginInfo>>> {
 | 
			
		||||
        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<Array<PluginInfo>> {
 | 
			
		||||
        const response = await this.getPluginsRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Uninstalls a plugin.
 | 
			
		||||
     */
 | 
			
		||||
    async uninstallPluginRaw(requestParameters: UninstallPluginRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.uninstallPluginRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Uninstalls a plugin by version.
 | 
			
		||||
     */
 | 
			
		||||
    async uninstallPluginByVersionRaw(requestParameters: UninstallPluginByVersionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.uninstallPluginByVersionRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Accepts plugin configuration as JSON body.
 | 
			
		||||
     * Updates plugin configuration.
 | 
			
		||||
     */
 | 
			
		||||
    async updatePluginConfigurationRaw(requestParameters: UpdatePluginConfigurationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.updatePluginConfigurationRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										173
									
								
								server/jellyfin/apis/QuickConnectApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										173
									
								
								server/jellyfin/apis/QuickConnectApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<boolean>> {
 | 
			
		||||
        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<boolean>(response);
 | 
			
		||||
        } else {
 | 
			
		||||
            return new runtime.TextApiResponse(response) as any;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Authorizes a pending quick connect request.
 | 
			
		||||
     */
 | 
			
		||||
    async authorize(requestParameters: AuthorizeRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<boolean> {
 | 
			
		||||
        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<runtime.ApiResponse<QuickConnectResult>> {
 | 
			
		||||
        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<QuickConnectResult> {
 | 
			
		||||
        const response = await this.connectRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets the current quick connect state.
 | 
			
		||||
     */
 | 
			
		||||
    async getEnabledRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<boolean>> {
 | 
			
		||||
        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<boolean>(response);
 | 
			
		||||
        } else {
 | 
			
		||||
            return new runtime.TextApiResponse(response) as any;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets the current quick connect state.
 | 
			
		||||
     */
 | 
			
		||||
    async getEnabled(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<boolean> {
 | 
			
		||||
        const response = await this.getEnabledRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Initiate a new quick connect request.
 | 
			
		||||
     */
 | 
			
		||||
    async initiateRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<QuickConnectResult>> {
 | 
			
		||||
        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<QuickConnectResult> {
 | 
			
		||||
        const response = await this.initiateRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										191
									
								
								server/jellyfin/apis/RemoteImageApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										191
									
								
								server/jellyfin/apis/RemoteImageApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.downloadRemoteImageRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets available remote image providers for an item.
 | 
			
		||||
     */
 | 
			
		||||
    async getRemoteImageProvidersRaw(requestParameters: GetRemoteImageProvidersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ImageProviderInfo>>> {
 | 
			
		||||
        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<Array<ImageProviderInfo>> {
 | 
			
		||||
        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<runtime.ApiResponse<RemoteImageResult>> {
 | 
			
		||||
        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<RemoteImageResult> {
 | 
			
		||||
        const response = await this.getRemoteImagesRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										236
									
								
								server/jellyfin/apis/ScheduledTasksApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										236
									
								
								server/jellyfin/apis/ScheduledTasksApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<TaskTriggerInfo>;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 
 | 
			
		||||
 */
 | 
			
		||||
export class ScheduledTasksApi extends runtime.BaseAPI {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get task by id.
 | 
			
		||||
     */
 | 
			
		||||
    async getTaskRaw(requestParameters: GetTaskRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TaskInfo>> {
 | 
			
		||||
        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<TaskInfo> {
 | 
			
		||||
        const response = await this.getTaskRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get tasks.
 | 
			
		||||
     */
 | 
			
		||||
    async getTasksRaw(requestParameters: GetTasksRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<TaskInfo>>> {
 | 
			
		||||
        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<Array<TaskInfo>> {
 | 
			
		||||
        const response = await this.getTasksRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Start specified task.
 | 
			
		||||
     */
 | 
			
		||||
    async startTaskRaw(requestParameters: StartTaskRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.startTaskRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Stop specified task.
 | 
			
		||||
     */
 | 
			
		||||
    async stopTaskRaw(requestParameters: StopTaskRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.stopTaskRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Update specified task triggers.
 | 
			
		||||
     */
 | 
			
		||||
    async updateTaskRaw(requestParameters: UpdateTaskRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.updateTaskRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										160
									
								
								server/jellyfin/apis/SearchApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										160
									
								
								server/jellyfin/apis/SearchApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<BaseItemKind>;
 | 
			
		||||
    excludeItemTypes?: Array<BaseItemKind>;
 | 
			
		||||
    mediaTypes?: Array<string>;
 | 
			
		||||
    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<runtime.ApiResponse<SearchHintResult>> {
 | 
			
		||||
        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<SearchHintResult> {
 | 
			
		||||
        const response = await this.getRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										798
									
								
								server/jellyfin/apis/SessionApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										798
									
								
								server/jellyfin/apis/SessionApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<string>;
 | 
			
		||||
    startPositionTicks?: number;
 | 
			
		||||
    mediaSourceId?: string;
 | 
			
		||||
    audioStreamIndex?: number;
 | 
			
		||||
    subtitleStreamIndex?: number;
 | 
			
		||||
    startIndex?: number;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export interface PostCapabilitiesRequest {
 | 
			
		||||
    id?: string;
 | 
			
		||||
    playableMediaTypes?: Array<string>;
 | 
			
		||||
    supportedCommands?: Array<GeneralCommandType>;
 | 
			
		||||
    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<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.addUserToSessionRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Instructs a session to browse to an item or view.
 | 
			
		||||
     */
 | 
			
		||||
    async displayContentRaw(requestParameters: DisplayContentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.displayContentRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get all auth providers.
 | 
			
		||||
     */
 | 
			
		||||
    async getAuthProvidersRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<NameIdPair>>> {
 | 
			
		||||
        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<Array<NameIdPair>> {
 | 
			
		||||
        const response = await this.getAuthProvidersRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get all password reset providers.
 | 
			
		||||
     */
 | 
			
		||||
    async getPasswordResetProvidersRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<NameIdPair>>> {
 | 
			
		||||
        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<Array<NameIdPair>> {
 | 
			
		||||
        const response = await this.getPasswordResetProvidersRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets a list of sessions.
 | 
			
		||||
     */
 | 
			
		||||
    async getSessionsRaw(requestParameters: GetSessionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<SessionInfo>>> {
 | 
			
		||||
        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<Array<SessionInfo>> {
 | 
			
		||||
        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<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.playRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Updates capabilities for a device.
 | 
			
		||||
     */
 | 
			
		||||
    async postCapabilitiesRaw(requestParameters: PostCapabilitiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.postCapabilitiesRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Updates capabilities for a device.
 | 
			
		||||
     */
 | 
			
		||||
    async postFullCapabilitiesRaw(requestParameters: PostFullCapabilitiesOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.postFullCapabilitiesRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Removes an additional user from a session.
 | 
			
		||||
     */
 | 
			
		||||
    async removeUserFromSessionRaw(requestParameters: RemoveUserFromSessionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.removeUserFromSessionRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Reports that a session has ended.
 | 
			
		||||
     */
 | 
			
		||||
    async reportSessionEndedRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.reportSessionEndedRaw(initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Reports that a session is viewing an item.
 | 
			
		||||
     */
 | 
			
		||||
    async reportViewingRaw(requestParameters: ReportViewingRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.reportViewingRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Issues a full general command to a client.
 | 
			
		||||
     */
 | 
			
		||||
    async sendFullGeneralCommandRaw(requestParameters: SendFullGeneralCommandOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.sendFullGeneralCommandRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Issues a general command to a client.
 | 
			
		||||
     */
 | 
			
		||||
    async sendGeneralCommandRaw(requestParameters: SendGeneralCommandRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        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<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.sendMessageCommandRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Issues a playstate command to a client.
 | 
			
		||||
     */
 | 
			
		||||
    async sendPlaystateCommandRaw(requestParameters: SendPlaystateCommandRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.sendPlaystateCommandRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Issues a system command to a client.
 | 
			
		||||
     */
 | 
			
		||||
    async sendSystemCommandRaw(requestParameters: SendSystemCommandRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.sendSystemCommandRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										277
									
								
								server/jellyfin/apis/StartupApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										277
									
								
								server/jellyfin/apis/StartupApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.completeWizardRaw(initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets the first user.
 | 
			
		||||
     */
 | 
			
		||||
    async getFirstUserRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<StartupUserDto>> {
 | 
			
		||||
        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<StartupUserDto> {
 | 
			
		||||
        const response = await this.getFirstUserRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets the first user.
 | 
			
		||||
     */
 | 
			
		||||
    async getFirstUser2Raw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<StartupUserDto>> {
 | 
			
		||||
        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<StartupUserDto> {
 | 
			
		||||
        const response = await this.getFirstUser2Raw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets the initial startup wizard configuration.
 | 
			
		||||
     */
 | 
			
		||||
    async getStartupConfigurationRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<StartupConfigurationDto>> {
 | 
			
		||||
        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<StartupConfigurationDto> {
 | 
			
		||||
        const response = await this.getStartupConfigurationRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Sets remote access and UPnP.
 | 
			
		||||
     */
 | 
			
		||||
    async setRemoteAccessRaw(requestParameters: SetRemoteAccessOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.setRemoteAccessRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Sets the initial startup wizard configuration.
 | 
			
		||||
     */
 | 
			
		||||
    async updateInitialConfigurationRaw(requestParameters: UpdateInitialConfigurationOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.updateInitialConfigurationRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Sets the user name and password.
 | 
			
		||||
     */
 | 
			
		||||
    async updateStartupUserRaw(requestParameters: UpdateStartupUserOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.updateStartupUserRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										203
									
								
								server/jellyfin/apis/StudiosApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										203
									
								
								server/jellyfin/apis/StudiosApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<ItemFields>;
 | 
			
		||||
    excludeItemTypes?: Array<BaseItemKind>;
 | 
			
		||||
    includeItemTypes?: Array<BaseItemKind>;
 | 
			
		||||
    isFavorite?: boolean;
 | 
			
		||||
    enableUserData?: boolean;
 | 
			
		||||
    imageTypeLimit?: number;
 | 
			
		||||
    enableImageTypes?: Array<ImageType>;
 | 
			
		||||
    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<runtime.ApiResponse<BaseItemDto>> {
 | 
			
		||||
        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<BaseItemDto> {
 | 
			
		||||
        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<runtime.ApiResponse<BaseItemDtoQueryResult>> {
 | 
			
		||||
        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<BaseItemDtoQueryResult> {
 | 
			
		||||
        const response = await this.getStudiosRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										562
									
								
								server/jellyfin/apis/SubtitleApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										562
									
								
								server/jellyfin/apis/SubtitleApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.deleteSubtitleRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Downloads a remote subtitle.
 | 
			
		||||
     */
 | 
			
		||||
    async downloadRemoteSubtitlesRaw(requestParameters: DownloadRemoteSubtitlesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.downloadRemoteSubtitlesRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets a fallback font file.
 | 
			
		||||
     */
 | 
			
		||||
    async getFallbackFontRaw(requestParameters: GetFallbackFontRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        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<runtime.ApiResponse<Array<FontFile>>> {
 | 
			
		||||
        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<Array<FontFile>> {
 | 
			
		||||
        const response = await this.getFallbackFontListRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets the remote subtitles.
 | 
			
		||||
     */
 | 
			
		||||
    async getRemoteSubtitlesRaw(requestParameters: GetRemoteSubtitlesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        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<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        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<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        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<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        const response = await this.getSubtitleWithTicksRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Search remote subtitles.
 | 
			
		||||
     */
 | 
			
		||||
    async searchRemoteSubtitlesRaw(requestParameters: SearchRemoteSubtitlesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<RemoteSubtitleInfo>>> {
 | 
			
		||||
        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<Array<RemoteSubtitleInfo>> {
 | 
			
		||||
        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<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.uploadSubtitleRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										96
									
								
								server/jellyfin/apis/SuggestionsApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										96
									
								
								server/jellyfin/apis/SuggestionsApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<string>;
 | 
			
		||||
    type?: Array<BaseItemKind>;
 | 
			
		||||
    startIndex?: number;
 | 
			
		||||
    limit?: number;
 | 
			
		||||
    enableTotalRecordCount?: boolean;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 
 | 
			
		||||
 */
 | 
			
		||||
export class SuggestionsApi extends runtime.BaseAPI {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets suggestions.
 | 
			
		||||
     */
 | 
			
		||||
    async getSuggestionsRaw(requestParameters: GetSuggestionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BaseItemDtoQueryResult>> {
 | 
			
		||||
        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<BaseItemDtoQueryResult> {
 | 
			
		||||
        const response = await this.getSuggestionsRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										864
									
								
								server/jellyfin/apis/SyncPlayApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										864
									
								
								server/jellyfin/apis/SyncPlayApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.syncPlayBufferingRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Create a new SyncPlay group.
 | 
			
		||||
     */
 | 
			
		||||
    async syncPlayCreateGroupRaw(requestParameters: SyncPlayCreateGroupOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.syncPlayCreateGroupRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets all SyncPlay groups.
 | 
			
		||||
     */
 | 
			
		||||
    async syncPlayGetGroupsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<GroupInfoDto>>> {
 | 
			
		||||
        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<Array<GroupInfoDto>> {
 | 
			
		||||
        const response = await this.syncPlayGetGroupsRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Join an existing SyncPlay group.
 | 
			
		||||
     */
 | 
			
		||||
    async syncPlayJoinGroupRaw(requestParameters: SyncPlayJoinGroupOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.syncPlayJoinGroupRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Leave the joined SyncPlay group.
 | 
			
		||||
     */
 | 
			
		||||
    async syncPlayLeaveGroupRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.syncPlayLeaveGroupRaw(initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Request to move an item in the playlist in SyncPlay group.
 | 
			
		||||
     */
 | 
			
		||||
    async syncPlayMovePlaylistItemRaw(requestParameters: SyncPlayMovePlaylistItemOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.syncPlayMovePlaylistItemRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Request next item in SyncPlay group.
 | 
			
		||||
     */
 | 
			
		||||
    async syncPlayNextItemRaw(requestParameters: SyncPlayNextItemOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.syncPlayNextItemRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Request pause in SyncPlay group.
 | 
			
		||||
     */
 | 
			
		||||
    async syncPlayPauseRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.syncPlayPauseRaw(initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Update session ping.
 | 
			
		||||
     */
 | 
			
		||||
    async syncPlayPingRaw(requestParameters: SyncPlayPingOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.syncPlayPingRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Request previous item in SyncPlay group.
 | 
			
		||||
     */
 | 
			
		||||
    async syncPlayPreviousItemRaw(requestParameters: SyncPlayPreviousItemOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        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<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.syncPlayQueueRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Notify SyncPlay group that member is ready for playback.
 | 
			
		||||
     */
 | 
			
		||||
    async syncPlayReadyRaw(requestParameters: SyncPlayReadyOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.syncPlayReadyRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Request to remove items from the playlist in SyncPlay group.
 | 
			
		||||
     */
 | 
			
		||||
    async syncPlayRemoveFromPlaylistRaw(requestParameters: SyncPlayRemoveFromPlaylistOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.syncPlayRemoveFromPlaylistRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Request seek in SyncPlay group.
 | 
			
		||||
     */
 | 
			
		||||
    async syncPlaySeekRaw(requestParameters: SyncPlaySeekOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.syncPlaySeekRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Request SyncPlay group to ignore member during group-wait.
 | 
			
		||||
     */
 | 
			
		||||
    async syncPlaySetIgnoreWaitRaw(requestParameters: SyncPlaySetIgnoreWaitOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.syncPlaySetIgnoreWaitRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Request to set new playlist in SyncPlay group.
 | 
			
		||||
     */
 | 
			
		||||
    async syncPlaySetNewQueueRaw(requestParameters: SyncPlaySetNewQueueOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.syncPlaySetNewQueueRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Request to change playlist item in SyncPlay group.
 | 
			
		||||
     */
 | 
			
		||||
    async syncPlaySetPlaylistItemRaw(requestParameters: SyncPlaySetPlaylistItemOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.syncPlaySetPlaylistItemRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Request to set repeat mode in SyncPlay group.
 | 
			
		||||
     */
 | 
			
		||||
    async syncPlaySetRepeatModeRaw(requestParameters: SyncPlaySetRepeatModeOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.syncPlaySetRepeatModeRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Request to set shuffle mode in SyncPlay group.
 | 
			
		||||
     */
 | 
			
		||||
    async syncPlaySetShuffleModeRaw(requestParameters: SyncPlaySetShuffleModeOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.syncPlaySetShuffleModeRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Request stop in SyncPlay group.
 | 
			
		||||
     */
 | 
			
		||||
    async syncPlayStopRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.syncPlayStopRaw(initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Request unpause in SyncPlay group.
 | 
			
		||||
     */
 | 
			
		||||
    async syncPlayUnpauseRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.syncPlayUnpauseRaw(initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										348
									
								
								server/jellyfin/apis/SystemApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										348
									
								
								server/jellyfin/apis/SystemApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<EndPointInfo>> {
 | 
			
		||||
        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<EndPointInfo> {
 | 
			
		||||
        const response = await this.getEndpointInfoRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets a log file.
 | 
			
		||||
     */
 | 
			
		||||
    async getLogFileRaw(requestParameters: GetLogFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        const response = await this.getLogFileRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Pings the system.
 | 
			
		||||
     */
 | 
			
		||||
    async getPingSystemRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<string>> {
 | 
			
		||||
        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<string>(response);
 | 
			
		||||
        } else {
 | 
			
		||||
            return new runtime.TextApiResponse(response) as any;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Pings the system.
 | 
			
		||||
     */
 | 
			
		||||
    async getPingSystem(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<string> {
 | 
			
		||||
        const response = await this.getPingSystemRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets public information about the server.
 | 
			
		||||
     */
 | 
			
		||||
    async getPublicSystemInfoRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<PublicSystemInfo>> {
 | 
			
		||||
        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<PublicSystemInfo> {
 | 
			
		||||
        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<runtime.ApiResponse<Array<LogFile>>> {
 | 
			
		||||
        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<Array<LogFile>> {
 | 
			
		||||
        const response = await this.getServerLogsRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets information about the server.
 | 
			
		||||
     */
 | 
			
		||||
    async getSystemInfoRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SystemInfo>> {
 | 
			
		||||
        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<SystemInfo> {
 | 
			
		||||
        const response = await this.getSystemInfoRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets wake on lan information.
 | 
			
		||||
     */
 | 
			
		||||
    async getWakeOnLanInfoRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<WakeOnLanInfo>>> {
 | 
			
		||||
        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<Array<WakeOnLanInfo>> {
 | 
			
		||||
        const response = await this.getWakeOnLanInfoRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Pings the system.
 | 
			
		||||
     */
 | 
			
		||||
    async postPingSystemRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<string>> {
 | 
			
		||||
        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<string>(response);
 | 
			
		||||
        } else {
 | 
			
		||||
            return new runtime.TextApiResponse(response) as any;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Pings the system.
 | 
			
		||||
     */
 | 
			
		||||
    async postPingSystem(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<string> {
 | 
			
		||||
        const response = await this.postPingSystemRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Restarts the application.
 | 
			
		||||
     */
 | 
			
		||||
    async restartApplicationRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.restartApplicationRaw(initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Shuts down the application.
 | 
			
		||||
     */
 | 
			
		||||
    async shutdownApplicationRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.shutdownApplicationRaw(initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										56
									
								
								server/jellyfin/apis/TimeSyncApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								server/jellyfin/apis/TimeSyncApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<UtcTimeResponse>> {
 | 
			
		||||
        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<UtcTimeResponse> {
 | 
			
		||||
        const response = await this.getUtcTimeRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										60
									
								
								server/jellyfin/apis/TmdbApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								server/jellyfin/apis/TmdbApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<ConfigImageTypes>> {
 | 
			
		||||
        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<ConfigImageTypes> {
 | 
			
		||||
        const response = await this.tmdbClientConfigurationRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										507
									
								
								server/jellyfin/apis/TrailersApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										507
									
								
								server/jellyfin/apis/TrailersApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<LocationType>;
 | 
			
		||||
    excludeLocationTypes?: Array<LocationType>;
 | 
			
		||||
    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<string>;
 | 
			
		||||
    startIndex?: number;
 | 
			
		||||
    limit?: number;
 | 
			
		||||
    recursive?: boolean;
 | 
			
		||||
    searchTerm?: string;
 | 
			
		||||
    sortOrder?: Array<SortOrder>;
 | 
			
		||||
    parentId?: string;
 | 
			
		||||
    fields?: Array<ItemFields>;
 | 
			
		||||
    excludeItemTypes?: Array<BaseItemKind>;
 | 
			
		||||
    filters?: Array<ItemFilter>;
 | 
			
		||||
    isFavorite?: boolean;
 | 
			
		||||
    mediaTypes?: Array<string>;
 | 
			
		||||
    imageTypes?: Array<ImageType>;
 | 
			
		||||
    sortBy?: Array<string>;
 | 
			
		||||
    isPlayed?: boolean;
 | 
			
		||||
    genres?: Array<string>;
 | 
			
		||||
    officialRatings?: Array<string>;
 | 
			
		||||
    tags?: Array<string>;
 | 
			
		||||
    years?: Array<number>;
 | 
			
		||||
    enableUserData?: boolean;
 | 
			
		||||
    imageTypeLimit?: number;
 | 
			
		||||
    enableImageTypes?: Array<ImageType>;
 | 
			
		||||
    person?: string;
 | 
			
		||||
    personIds?: Array<string>;
 | 
			
		||||
    personTypes?: Array<string>;
 | 
			
		||||
    studios?: Array<string>;
 | 
			
		||||
    artists?: Array<string>;
 | 
			
		||||
    excludeArtistIds?: Array<string>;
 | 
			
		||||
    artistIds?: Array<string>;
 | 
			
		||||
    albumArtistIds?: Array<string>;
 | 
			
		||||
    contributingArtistIds?: Array<string>;
 | 
			
		||||
    albums?: Array<string>;
 | 
			
		||||
    albumIds?: Array<string>;
 | 
			
		||||
    ids?: Array<string>;
 | 
			
		||||
    videoTypes?: Array<VideoType>;
 | 
			
		||||
    minOfficialRating?: string;
 | 
			
		||||
    isLocked?: boolean;
 | 
			
		||||
    isPlaceHolder?: boolean;
 | 
			
		||||
    hasOfficialRating?: boolean;
 | 
			
		||||
    collapseBoxSetItems?: boolean;
 | 
			
		||||
    minWidth?: number;
 | 
			
		||||
    minHeight?: number;
 | 
			
		||||
    maxWidth?: number;
 | 
			
		||||
    maxHeight?: number;
 | 
			
		||||
    is3D?: boolean;
 | 
			
		||||
    seriesStatus?: Array<SeriesStatus>;
 | 
			
		||||
    nameStartsWithOrGreater?: string;
 | 
			
		||||
    nameStartsWith?: string;
 | 
			
		||||
    nameLessThan?: string;
 | 
			
		||||
    studioIds?: Array<string>;
 | 
			
		||||
    genreIds?: Array<string>;
 | 
			
		||||
    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<runtime.ApiResponse<BaseItemDtoQueryResult>> {
 | 
			
		||||
        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<BaseItemDtoQueryResult> {
 | 
			
		||||
        const response = await this.getTrailersRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										411
									
								
								server/jellyfin/apis/TvShowsApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										411
									
								
								server/jellyfin/apis/TvShowsApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<ItemFields>;
 | 
			
		||||
    season?: number;
 | 
			
		||||
    seasonId?: string;
 | 
			
		||||
    isMissing?: boolean;
 | 
			
		||||
    adjacentTo?: string;
 | 
			
		||||
    startItemId?: string;
 | 
			
		||||
    startIndex?: number;
 | 
			
		||||
    limit?: number;
 | 
			
		||||
    enableImages?: boolean;
 | 
			
		||||
    imageTypeLimit?: number;
 | 
			
		||||
    enableImageTypes?: Array<ImageType>;
 | 
			
		||||
    enableUserData?: boolean;
 | 
			
		||||
    sortBy?: string;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export interface GetNextUpRequest {
 | 
			
		||||
    userId?: string;
 | 
			
		||||
    startIndex?: number;
 | 
			
		||||
    limit?: number;
 | 
			
		||||
    fields?: Array<ItemFields>;
 | 
			
		||||
    seriesId?: string;
 | 
			
		||||
    parentId?: string;
 | 
			
		||||
    enableImages?: boolean;
 | 
			
		||||
    imageTypeLimit?: number;
 | 
			
		||||
    enableImageTypes?: Array<ImageType>;
 | 
			
		||||
    enableUserData?: boolean;
 | 
			
		||||
    nextUpDateCutoff?: Date;
 | 
			
		||||
    enableTotalRecordCount?: boolean;
 | 
			
		||||
    disableFirstEpisode?: boolean;
 | 
			
		||||
    enableRewatching?: boolean;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export interface GetSeasonsRequest {
 | 
			
		||||
    seriesId: string;
 | 
			
		||||
    userId?: string;
 | 
			
		||||
    fields?: Array<ItemFields>;
 | 
			
		||||
    isSpecialSeason?: boolean;
 | 
			
		||||
    isMissing?: boolean;
 | 
			
		||||
    adjacentTo?: string;
 | 
			
		||||
    enableImages?: boolean;
 | 
			
		||||
    imageTypeLimit?: number;
 | 
			
		||||
    enableImageTypes?: Array<ImageType>;
 | 
			
		||||
    enableUserData?: boolean;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export interface GetUpcomingEpisodesRequest {
 | 
			
		||||
    userId?: string;
 | 
			
		||||
    startIndex?: number;
 | 
			
		||||
    limit?: number;
 | 
			
		||||
    fields?: Array<ItemFields>;
 | 
			
		||||
    parentId?: string;
 | 
			
		||||
    enableImages?: boolean;
 | 
			
		||||
    imageTypeLimit?: number;
 | 
			
		||||
    enableImageTypes?: Array<ImageType>;
 | 
			
		||||
    enableUserData?: boolean;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 
 | 
			
		||||
 */
 | 
			
		||||
export class TvShowsApi extends runtime.BaseAPI {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets episodes for a tv season.
 | 
			
		||||
     */
 | 
			
		||||
    async getEpisodesRaw(requestParameters: GetEpisodesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BaseItemDtoQueryResult>> {
 | 
			
		||||
        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<BaseItemDtoQueryResult> {
 | 
			
		||||
        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<runtime.ApiResponse<BaseItemDtoQueryResult>> {
 | 
			
		||||
        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<BaseItemDtoQueryResult> {
 | 
			
		||||
        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<runtime.ApiResponse<BaseItemDtoQueryResult>> {
 | 
			
		||||
        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<BaseItemDtoQueryResult> {
 | 
			
		||||
        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<runtime.ApiResponse<BaseItemDtoQueryResult>> {
 | 
			
		||||
        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<BaseItemDtoQueryResult> {
 | 
			
		||||
        const response = await this.getUpcomingEpisodesRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										269
									
								
								server/jellyfin/apis/UniversalAudioApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										269
									
								
								server/jellyfin/apis/UniversalAudioApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<string>;
 | 
			
		||||
    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<string>;
 | 
			
		||||
    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<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        const response = await this.getUniversalAudioStreamRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets an audio stream.
 | 
			
		||||
     */
 | 
			
		||||
    async headUniversalAudioStreamRaw(requestParameters: HeadUniversalAudioStreamRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        const response = await this.headUniversalAudioStreamRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										708
									
								
								server/jellyfin/apis/UserApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										708
									
								
								server/jellyfin/apis/UserApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<AuthenticationResult>> {
 | 
			
		||||
        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<AuthenticationResult> {
 | 
			
		||||
        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<runtime.ApiResponse<AuthenticationResult>> {
 | 
			
		||||
        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<AuthenticationResult> {
 | 
			
		||||
        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<runtime.ApiResponse<AuthenticationResult>> {
 | 
			
		||||
        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<AuthenticationResult> {
 | 
			
		||||
        const response = await this.authenticateWithQuickConnectRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Creates a user.
 | 
			
		||||
     */
 | 
			
		||||
    async createUserByNameRaw(requestParameters: CreateUserByNameOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UserDto>> {
 | 
			
		||||
        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<UserDto> {
 | 
			
		||||
        const response = await this.createUserByNameRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Deletes a user.
 | 
			
		||||
     */
 | 
			
		||||
    async deleteUserRaw(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.deleteUserRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Initiates the forgot password process for a local user.
 | 
			
		||||
     */
 | 
			
		||||
    async forgotPasswordRaw(requestParameters: ForgotPasswordOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ForgotPasswordResult>> {
 | 
			
		||||
        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<ForgotPasswordResult> {
 | 
			
		||||
        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<runtime.ApiResponse<PinRedeemResult>> {
 | 
			
		||||
        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<PinRedeemResult> {
 | 
			
		||||
        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<runtime.ApiResponse<UserDto>> {
 | 
			
		||||
        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<UserDto> {
 | 
			
		||||
        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<runtime.ApiResponse<Array<UserDto>>> {
 | 
			
		||||
        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<Array<UserDto>> {
 | 
			
		||||
        const response = await this.getPublicUsersRaw(initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets a user by Id.
 | 
			
		||||
     */
 | 
			
		||||
    async getUserByIdRaw(requestParameters: GetUserByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<UserDto>> {
 | 
			
		||||
        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<UserDto> {
 | 
			
		||||
        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<runtime.ApiResponse<Array<UserDto>>> {
 | 
			
		||||
        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<Array<UserDto>> {
 | 
			
		||||
        const response = await this.getUsersRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Updates a user.
 | 
			
		||||
     */
 | 
			
		||||
    async updateUserRaw(requestParameters: UpdateUserOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.updateUserRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Updates a user configuration.
 | 
			
		||||
     */
 | 
			
		||||
    async updateUserConfigurationRaw(requestParameters: UpdateUserConfigurationOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.updateUserConfigurationRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Updates a user\'s easy password.
 | 
			
		||||
     */
 | 
			
		||||
    async updateUserEasyPasswordRaw(requestParameters: UpdateUserEasyPasswordOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.updateUserEasyPasswordRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Updates a user\'s password.
 | 
			
		||||
     */
 | 
			
		||||
    async updateUserPasswordRaw(requestParameters: UpdateUserPasswordOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.updateUserPasswordRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Updates a user policy.
 | 
			
		||||
     */
 | 
			
		||||
    async updateUserPolicyRaw(requestParameters: UpdateUserPolicyOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>> {
 | 
			
		||||
        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<void> {
 | 
			
		||||
        await this.updateUserPolicyRaw(requestParameters, initOverrides);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										520
									
								
								server/jellyfin/apis/UserLibraryApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										520
									
								
								server/jellyfin/apis/UserLibraryApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<ItemFields>;
 | 
			
		||||
    includeItemTypes?: Array<BaseItemKind>;
 | 
			
		||||
    isPlayed?: boolean;
 | 
			
		||||
    enableImages?: boolean;
 | 
			
		||||
    imageTypeLimit?: number;
 | 
			
		||||
    enableImageTypes?: Array<ImageType>;
 | 
			
		||||
    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<runtime.ApiResponse<UserItemDataDto>> {
 | 
			
		||||
        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<UserItemDataDto> {
 | 
			
		||||
        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<runtime.ApiResponse<BaseItemDtoQueryResult>> {
 | 
			
		||||
        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<BaseItemDtoQueryResult> {
 | 
			
		||||
        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<runtime.ApiResponse<BaseItemDto>> {
 | 
			
		||||
        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<BaseItemDto> {
 | 
			
		||||
        const response = await this.getItemRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets latest media.
 | 
			
		||||
     */
 | 
			
		||||
    async getLatestMediaRaw(requestParameters: GetLatestMediaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<BaseItemDto>>> {
 | 
			
		||||
        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<Array<BaseItemDto>> {
 | 
			
		||||
        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<runtime.ApiResponse<Array<BaseItemDto>>> {
 | 
			
		||||
        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<Array<BaseItemDto>> {
 | 
			
		||||
        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<runtime.ApiResponse<BaseItemDto>> {
 | 
			
		||||
        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<BaseItemDto> {
 | 
			
		||||
        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<runtime.ApiResponse<Array<BaseItemDto>>> {
 | 
			
		||||
        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<Array<BaseItemDto>> {
 | 
			
		||||
        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<runtime.ApiResponse<UserItemDataDto>> {
 | 
			
		||||
        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<UserItemDataDto> {
 | 
			
		||||
        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<runtime.ApiResponse<UserItemDataDto>> {
 | 
			
		||||
        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<UserItemDataDto> {
 | 
			
		||||
        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<runtime.ApiResponse<UserItemDataDto>> {
 | 
			
		||||
        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<UserItemDataDto> {
 | 
			
		||||
        const response = await this.updateUserItemRatingRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										127
									
								
								server/jellyfin/apis/UserViewsApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										127
									
								
								server/jellyfin/apis/UserViewsApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<string>;
 | 
			
		||||
    includeHidden?: boolean;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 
 | 
			
		||||
 */
 | 
			
		||||
export class UserViewsApi extends runtime.BaseAPI {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get user view grouping options.
 | 
			
		||||
     */
 | 
			
		||||
    async getGroupingOptionsRaw(requestParameters: GetGroupingOptionsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<SpecialViewOptionDto>>> {
 | 
			
		||||
        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<Array<SpecialViewOptionDto>> {
 | 
			
		||||
        const response = await this.getGroupingOptionsRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get user views.
 | 
			
		||||
     */
 | 
			
		||||
    async getUserViewsRaw(requestParameters: GetUserViewsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BaseItemDtoQueryResult>> {
 | 
			
		||||
        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<BaseItemDtoQueryResult> {
 | 
			
		||||
        const response = await this.getUserViewsRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										74
									
								
								server/jellyfin/apis/VideoAttachmentsApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								server/jellyfin/apis/VideoAttachmentsApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<runtime.ApiResponse<Blob>> {
 | 
			
		||||
        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<Blob> {
 | 
			
		||||
        const response = await this.getAttachmentRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										1296
									
								
								server/jellyfin/apis/VideosApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1296
									
								
								server/jellyfin/apis/VideosApi.ts
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										199
									
								
								server/jellyfin/apis/YearsApi.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										199
									
								
								server/jellyfin/apis/YearsApi.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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<SortOrder>;
 | 
			
		||||
    parentId?: string;
 | 
			
		||||
    fields?: Array<ItemFields>;
 | 
			
		||||
    excludeItemTypes?: Array<BaseItemKind>;
 | 
			
		||||
    includeItemTypes?: Array<BaseItemKind>;
 | 
			
		||||
    mediaTypes?: Array<string>;
 | 
			
		||||
    sortBy?: Array<string>;
 | 
			
		||||
    enableUserData?: boolean;
 | 
			
		||||
    imageTypeLimit?: number;
 | 
			
		||||
    enableImageTypes?: Array<ImageType>;
 | 
			
		||||
    userId?: string;
 | 
			
		||||
    recursive?: boolean;
 | 
			
		||||
    enableImages?: boolean;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 
 | 
			
		||||
 */
 | 
			
		||||
export class YearsApi extends runtime.BaseAPI {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Gets a year.
 | 
			
		||||
     */
 | 
			
		||||
    async getYearRaw(requestParameters: GetYearRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BaseItemDto>> {
 | 
			
		||||
        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<BaseItemDto> {
 | 
			
		||||
        const response = await this.getYearRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get years.
 | 
			
		||||
     */
 | 
			
		||||
    async getYearsRaw(requestParameters: GetYearsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<BaseItemDtoQueryResult>> {
 | 
			
		||||
        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<BaseItemDtoQueryResult> {
 | 
			
		||||
        const response = await this.getYearsRaw(requestParameters, initOverrides);
 | 
			
		||||
        return await response.value();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										63
									
								
								server/jellyfin/apis/index.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								server/jellyfin/apis/index.ts
									
									
									
									
									
										Normal file
									
								
							@@ -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';
 | 
			
		||||
		Reference in New Issue
	
	Block a user