/* tslint:disable */ /* eslint-disable */ /** * Jellyfin API * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: 10.8.9 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import * as runtime from '../runtime'; import type { CollectionCreationResult, } from '../models'; import { CollectionCreationResultFromJSON, CollectionCreationResultToJSON, } from '../models'; export interface AddToCollectionRequest { collectionId: string; ids: Array; } export interface CreateCollectionRequest { name?: string; ids?: Array; parentId?: string; isLocked?: boolean; } export interface RemoveFromCollectionRequest { collectionId: string; ids: Array; } /** * */ export class CollectionApi extends runtime.BaseAPI { /** * Adds items to a collection. */ async addToCollectionRaw(requestParameters: AddToCollectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.collectionId === null || requestParameters.collectionId === undefined) { throw new runtime.RequiredError('collectionId','Required parameter requestParameters.collectionId was null or undefined when calling addToCollection.'); } if (requestParameters.ids === null || requestParameters.ids === undefined) { throw new runtime.RequiredError('ids','Required parameter requestParameters.ids was null or undefined when calling addToCollection.'); } const queryParameters: any = {}; if (requestParameters.ids) { queryParameters['ids'] = requestParameters.ids; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/Collections/{collectionId}/Items`.replace(`{${"collectionId"}}`, encodeURIComponent(String(requestParameters.collectionId))), method: 'POST', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Adds items to a collection. */ async addToCollection(requestParameters: AddToCollectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.addToCollectionRaw(requestParameters, initOverrides); } /** * Creates a new collection. */ async createCollectionRaw(requestParameters: CreateCollectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; if (requestParameters.name !== undefined) { queryParameters['name'] = requestParameters.name; } if (requestParameters.ids) { queryParameters['ids'] = requestParameters.ids; } if (requestParameters.parentId !== undefined) { queryParameters['parentId'] = requestParameters.parentId; } if (requestParameters.isLocked !== undefined) { queryParameters['isLocked'] = requestParameters.isLocked; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/Collections`, method: 'POST', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => CollectionCreationResultFromJSON(jsonValue)); } /** * Creates a new collection. */ async createCollection(requestParameters: CreateCollectionRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.createCollectionRaw(requestParameters, initOverrides); return await response.value(); } /** * Removes items from a collection. */ async removeFromCollectionRaw(requestParameters: RemoveFromCollectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.collectionId === null || requestParameters.collectionId === undefined) { throw new runtime.RequiredError('collectionId','Required parameter requestParameters.collectionId was null or undefined when calling removeFromCollection.'); } if (requestParameters.ids === null || requestParameters.ids === undefined) { throw new runtime.RequiredError('ids','Required parameter requestParameters.ids was null or undefined when calling removeFromCollection.'); } const queryParameters: any = {}; if (requestParameters.ids) { queryParameters['ids'] = requestParameters.ids; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/Collections/{collectionId}/Items`.replace(`{${"collectionId"}}`, encodeURIComponent(String(requestParameters.collectionId))), method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Removes items from a collection. */ async removeFromCollection(requestParameters: RemoveFromCollectionRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.removeFromCollectionRaw(requestParameters, initOverrides); } }