jellyfin api -> fetch

This commit is contained in:
2023-05-04 23:34:53 +02:00
parent 8e3f62c670
commit 08996386ca
884 changed files with 79987 additions and 84191 deletions

View File

@ -0,0 +1,23 @@
# OpenAPI Generator Ignore
# Generated by openapi-generator https://github.com/openapitools/openapi-generator
# Use this file to prevent files from being overwritten by the generator.
# The patterns follow closely to .gitignore or .dockerignore.
# As an example, the C# client generator defines ApiClient.cs.
# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
#ApiClient.cs
# You can match any string of characters against a directory, file or extension with a single asterisk (*):
#foo/*/qux
# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
#foo/**/qux
# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
# You can also negate patterns with an exclamation (!).
# For example, you can ignore all files in a docs folder with the file extension .md:
#docs/*.md
# Then explicitly reverse the ignore rule for a single file:
#!docs/README.md

View File

@ -0,0 +1,439 @@
apis/ActivityLogApi.ts
apis/ApiKeyApi.ts
apis/ArtistsApi.ts
apis/AudioApi.ts
apis/BrandingApi.ts
apis/ChannelsApi.ts
apis/ClientLogApi.ts
apis/CollectionApi.ts
apis/ConfigurationApi.ts
apis/DashboardApi.ts
apis/DevicesApi.ts
apis/DisplayPreferencesApi.ts
apis/DlnaApi.ts
apis/DlnaServerApi.ts
apis/DynamicHlsApi.ts
apis/EnvironmentApi.ts
apis/FilterApi.ts
apis/GenresApi.ts
apis/HlsSegmentApi.ts
apis/ImageApi.ts
apis/ImageByNameApi.ts
apis/InstantMixApi.ts
apis/ItemLookupApi.ts
apis/ItemRefreshApi.ts
apis/ItemUpdateApi.ts
apis/ItemsApi.ts
apis/LibraryApi.ts
apis/LibraryStructureApi.ts
apis/LiveTvApi.ts
apis/LocalizationApi.ts
apis/MediaInfoApi.ts
apis/MoviesApi.ts
apis/MusicGenresApi.ts
apis/NotificationsApi.ts
apis/PackageApi.ts
apis/PersonsApi.ts
apis/PlaylistsApi.ts
apis/PlaystateApi.ts
apis/PluginsApi.ts
apis/QuickConnectApi.ts
apis/RemoteImageApi.ts
apis/ScheduledTasksApi.ts
apis/SearchApi.ts
apis/SessionApi.ts
apis/StartupApi.ts
apis/StudiosApi.ts
apis/SubtitleApi.ts
apis/SuggestionsApi.ts
apis/SyncPlayApi.ts
apis/SystemApi.ts
apis/TimeSyncApi.ts
apis/TmdbApi.ts
apis/TrailersApi.ts
apis/TvShowsApi.ts
apis/UniversalAudioApi.ts
apis/UserApi.ts
apis/UserLibraryApi.ts
apis/UserViewsApi.ts
apis/VideoAttachmentsApi.ts
apis/VideosApi.ts
apis/YearsApi.ts
apis/index.ts
index.ts
models/AccessSchedule.ts
models/ActivityLogEntry.ts
models/ActivityLogEntryQueryResult.ts
models/AddListingProviderRequest.ts
models/AddMediaPathRequest.ts
models/AddTunerHostRequest.ts
models/AddVirtualFolderDto.ts
models/AddVirtualFolderDtoLibraryOptions.ts
models/AddVirtualFolderRequest.ts
models/AdminNotificationDto.ts
models/AlbumInfo.ts
models/AlbumInfoRemoteSearchQuery.ts
models/AllThemeMediaResult.ts
models/AllThemeMediaResultThemeVideosResult.ts
models/ApplySearchCriteriaRequest.ts
models/Architecture.ts
models/ArtistInfo.ts
models/ArtistInfoRemoteSearchQuery.ts
models/AuthenticateUserByName.ts
models/AuthenticateUserByNameRequest.ts
models/AuthenticateWithQuickConnectRequest.ts
models/AuthenticationInfo.ts
models/AuthenticationInfoQueryResult.ts
models/AuthenticationResult.ts
models/AuthenticationResultSessionInfo.ts
models/AuthenticationResultUser.ts
models/BaseItem.ts
models/BaseItemDto.ts
models/BaseItemDtoCurrentProgram.ts
models/BaseItemDtoImageBlurHashes.ts
models/BaseItemDtoQueryResult.ts
models/BaseItemDtoUserData.ts
models/BaseItemKind.ts
models/BaseItemPerson.ts
models/BaseItemPersonImageBlurHashes.ts
models/BookInfo.ts
models/BookInfoRemoteSearchQuery.ts
models/BoxSetInfo.ts
models/BoxSetInfoRemoteSearchQuery.ts
models/BrandingOptions.ts
models/BufferRequestDto.ts
models/ChannelFeatures.ts
models/ChannelItemSortField.ts
models/ChannelMappingOptionsDto.ts
models/ChannelMediaContentType.ts
models/ChannelMediaType.ts
models/ChannelType.ts
models/ChapterInfo.ts
models/ClientCapabilities.ts
models/ClientCapabilitiesDeviceProfile.ts
models/ClientCapabilitiesDto.ts
models/ClientCapabilitiesDtoDeviceProfile.ts
models/ClientLogDocumentResponseDto.ts
models/CodecProfile.ts
models/CodecType.ts
models/CollectionCreationResult.ts
models/CollectionTypeOptions.ts
models/ConfigImageTypes.ts
models/ConfigurationPageInfo.ts
models/ContainerProfile.ts
models/ControlResponse.ts
models/CountryInfo.ts
models/CreateAdminNotificationRequest.ts
models/CreatePlaylistDto.ts
models/CreatePlaylistRequest.ts
models/CreateProfileRequest.ts
models/CreateSeriesTimerRequest.ts
models/CreateTimerRequest.ts
models/CreateUserByName.ts
models/CreateUserByNameRequest.ts
models/CultureDto.ts
models/DayOfWeek.ts
models/DayPattern.ts
models/DefaultDirectoryBrowserInfoDto.ts
models/DeviceIdentification.ts
models/DeviceInfo.ts
models/DeviceInfoCapabilities.ts
models/DeviceInfoQueryResult.ts
models/DeviceOptions.ts
models/DeviceOptionsDto.ts
models/DeviceProfile.ts
models/DeviceProfileIdentification.ts
models/DeviceProfileInfo.ts
models/DeviceProfileType.ts
models/DirectPlayProfile.ts
models/DisplayPreferencesDto.ts
models/DlnaOptions.ts
models/DlnaProfileType.ts
models/DynamicDayOfWeek.ts
models/EmbeddedSubtitleOptions.ts
models/EncodingContext.ts
models/EncodingOptions.ts
models/EndPointInfo.ts
models/ExternalIdInfo.ts
models/ExternalIdMediaType.ts
models/ExternalUrl.ts
models/FFmpegLocation.ts
models/FileSystemEntryInfo.ts
models/FileSystemEntryType.ts
models/FontFile.ts
models/ForgotPasswordAction.ts
models/ForgotPasswordDto.ts
models/ForgotPasswordPinDto.ts
models/ForgotPasswordPinRequest.ts
models/ForgotPasswordRequest.ts
models/ForgotPasswordResult.ts
models/GeneralCommand.ts
models/GeneralCommandType.ts
models/GetBookRemoteSearchResultsRequest.ts
models/GetBoxSetRemoteSearchResultsRequest.ts
models/GetMovieRemoteSearchResultsRequest.ts
models/GetMusicAlbumRemoteSearchResultsRequest.ts
models/GetMusicArtistRemoteSearchResultsRequest.ts
models/GetMusicVideoRemoteSearchResultsRequest.ts
models/GetPersonRemoteSearchResultsRequest.ts
models/GetPostedPlaybackInfoRequest.ts
models/GetProgramsDto.ts
models/GetProgramsRequest.ts
models/GetSeriesRemoteSearchResultsRequest.ts
models/GetTrailerRemoteSearchResultsRequest.ts
models/GroupInfoDto.ts
models/GroupQueueMode.ts
models/GroupRepeatMode.ts
models/GroupShuffleMode.ts
models/GroupStateType.ts
models/GroupUpdateType.ts
models/GuideInfo.ts
models/HardwareEncodingType.ts
models/HeaderMatchType.ts
models/HttpHeaderInfo.ts
models/IPlugin.ts
models/IgnoreWaitRequestDto.ts
models/ImageByNameInfo.ts
models/ImageFormat.ts
models/ImageInfo.ts
models/ImageOption.ts
models/ImageOrientation.ts
models/ImageProviderInfo.ts
models/ImageSavingConvention.ts
models/ImageType.ts
models/InstallationInfo.ts
models/InstallationInfoPackageInfo.ts
models/IsoType.ts
models/ItemCounts.ts
models/ItemFields.ts
models/ItemFilter.ts
models/JoinGroupRequestDto.ts
models/KeepUntil.ts
models/LibraryOptionInfoDto.ts
models/LibraryOptions.ts
models/LibraryOptionsResultDto.ts
models/LibraryTypeOptionsDto.ts
models/LibraryUpdateInfo.ts
models/ListingsProviderInfo.ts
models/LiveStreamResponse.ts
models/LiveStreamResponseMediaSource.ts
models/LiveTvInfo.ts
models/LiveTvOptions.ts
models/LiveTvServiceInfo.ts
models/LiveTvServiceStatus.ts
models/LocalizationOption.ts
models/LocationType.ts
models/LogFile.ts
models/LogLevel.ts
models/MediaAttachment.ts
models/MediaEncoderPathDto.ts
models/MediaPathDto.ts
models/MediaPathDtoPathInfo.ts
models/MediaPathInfo.ts
models/MediaProtocol.ts
models/MediaSourceInfo.ts
models/MediaSourceType.ts
models/MediaStream.ts
models/MediaStreamType.ts
models/MediaUpdateInfoDto.ts
models/MediaUpdateInfoPathDto.ts
models/MediaUrl.ts
models/MessageCommand.ts
models/MetadataConfiguration.ts
models/MetadataEditorInfo.ts
models/MetadataField.ts
models/MetadataOptions.ts
models/MetadataRefreshMode.ts
models/MovePlaylistItemRequestDto.ts
models/MovieInfo.ts
models/MovieInfoRemoteSearchQuery.ts
models/MusicVideoInfo.ts
models/MusicVideoInfoRemoteSearchQuery.ts
models/NameGuidPair.ts
models/NameIdPair.ts
models/NameValuePair.ts
models/NetworkConfiguration.ts
models/NewGroupRequestDto.ts
models/NextItemRequestDto.ts
models/NotificationDto.ts
models/NotificationLevel.ts
models/NotificationOption.ts
models/NotificationOptions.ts
models/NotificationResultDto.ts
models/NotificationTypeInfo.ts
models/NotificationsSummaryDto.ts
models/ObjectGroupUpdate.ts
models/OpenLiveStreamDto.ts
models/OpenLiveStreamRequest.ts
models/PackageInfo.ts
models/ParentalRating.ts
models/PathSubstitution.ts
models/PersonLookupInfo.ts
models/PersonLookupInfoRemoteSearchQuery.ts
models/PinRedeemResult.ts
models/PingRequestDto.ts
models/PlayAccess.ts
models/PlayCommand.ts
models/PlayMethod.ts
models/PlayRequest.ts
models/PlayRequestDto.ts
models/PlaybackErrorCode.ts
models/PlaybackInfoDto.ts
models/PlaybackInfoResponse.ts
models/PlaybackProgressInfo.ts
models/PlaybackProgressInfoItem.ts
models/PlaybackStartInfo.ts
models/PlaybackStopInfo.ts
models/PlayerStateInfo.ts
models/PlaylistCreationResult.ts
models/PlaystateCommand.ts
models/PlaystateRequest.ts
models/PluginInfo.ts
models/PluginStatus.ts
models/PostFullCapabilitiesRequest.ts
models/PostUpdatedMediaRequest.ts
models/PreviousItemRequestDto.ts
models/ProblemDetails.ts
models/ProfileCondition.ts
models/ProfileConditionType.ts
models/ProfileConditionValue.ts
models/ProgramAudio.ts
models/PublicSystemInfo.ts
models/QueryFilters.ts
models/QueryFiltersLegacy.ts
models/QueueItem.ts
models/QueueRequestDto.ts
models/QuickConnectDto.ts
models/QuickConnectResult.ts
models/RatingType.ts
models/ReadyRequestDto.ts
models/RecommendationDto.ts
models/RecommendationType.ts
models/RecordingStatus.ts
models/RemoteImageInfo.ts
models/RemoteImageResult.ts
models/RemoteSearchResult.ts
models/RemoteSubtitleInfo.ts
models/RemoveFromPlaylistRequestDto.ts
models/RepeatMode.ts
models/ReportPlaybackProgressRequest.ts
models/ReportPlaybackStartRequest.ts
models/ReportPlaybackStoppedRequest.ts
models/RepositoryInfo.ts
models/ResponseProfile.ts
models/ScrollDirection.ts
models/SearchHint.ts
models/SearchHintResult.ts
models/SeekRequestDto.ts
models/SendCommand.ts
models/SendCommandType.ts
models/SendFullGeneralCommandRequest.ts
models/SendMessageCommandRequest.ts
models/SendToUserType.ts
models/SeriesInfo.ts
models/SeriesInfoRemoteSearchQuery.ts
models/SeriesStatus.ts
models/SeriesTimerInfoDto.ts
models/SeriesTimerInfoDtoQueryResult.ts
models/ServerConfiguration.ts
models/ServerDiscoveryInfo.ts
models/SessionInfo.ts
models/SessionInfoFullNowPlayingItem.ts
models/SessionInfoNowPlayingItem.ts
models/SessionMessageType.ts
models/SessionUserInfo.ts
models/SetChannelMappingDto.ts
models/SetChannelMappingRequest.ts
models/SetPlaylistItemRequestDto.ts
models/SetRemoteAccessRequest.ts
models/SetRepeatModeRequestDto.ts
models/SetShuffleModeRequestDto.ts
models/SongInfo.ts
models/SortOrder.ts
models/SpecialViewOptionDto.ts
models/StartupConfigurationDto.ts
models/StartupRemoteAccessDto.ts
models/StartupUserDto.ts
models/SubtitleDeliveryMethod.ts
models/SubtitleOptions.ts
models/SubtitlePlaybackMode.ts
models/SubtitleProfile.ts
models/SyncPlayBufferingRequest.ts
models/SyncPlayCreateGroupRequest.ts
models/SyncPlayJoinGroupRequest.ts
models/SyncPlayMovePlaylistItemRequest.ts
models/SyncPlayNextItemRequest.ts
models/SyncPlayPingRequest.ts
models/SyncPlayPreviousItemRequest.ts
models/SyncPlayQueueRequest.ts
models/SyncPlayReadyRequest.ts
models/SyncPlayRemoveFromPlaylistRequest.ts
models/SyncPlaySeekRequest.ts
models/SyncPlaySetIgnoreWaitRequest.ts
models/SyncPlaySetNewQueueRequest.ts
models/SyncPlaySetPlaylistItemRequest.ts
models/SyncPlaySetRepeatModeRequest.ts
models/SyncPlaySetShuffleModeRequest.ts
models/SyncPlayUserAccessType.ts
models/SystemInfo.ts
models/TaskCompletionStatus.ts
models/TaskInfo.ts
models/TaskInfoLastExecutionResult.ts
models/TaskResult.ts
models/TaskState.ts
models/TaskTriggerInfo.ts
models/ThemeMediaResult.ts
models/TimerEventInfo.ts
models/TimerInfoDto.ts
models/TimerInfoDtoProgramInfo.ts
models/TimerInfoDtoQueryResult.ts
models/TrailerInfo.ts
models/TrailerInfoRemoteSearchQuery.ts
models/TranscodeReason.ts
models/TranscodeSeekInfo.ts
models/TranscodingInfo.ts
models/TranscodingProfile.ts
models/TransportStreamTimestamp.ts
models/TunerChannelMapping.ts
models/TunerHostInfo.ts
models/TypeOptions.ts
models/UnratedItem.ts
models/UpdateConfigurationRequest.ts
models/UpdateDeviceOptionsRequest.ts
models/UpdateDisplayPreferencesRequest.ts
models/UpdateInitialConfigurationRequest.ts
models/UpdateItemRequest.ts
models/UpdateLibraryOptionsDto.ts
models/UpdateLibraryOptionsRequest.ts
models/UpdateMediaEncoderPathRequest.ts
models/UpdateMediaPathRequest.ts
models/UpdateMediaPathRequestDto.ts
models/UpdateMediaPathRequestDtoPathInfo.ts
models/UpdateStartupUserRequest.ts
models/UpdateUserConfigurationRequest.ts
models/UpdateUserEasyPassword.ts
models/UpdateUserEasyPasswordRequest.ts
models/UpdateUserPassword.ts
models/UpdateUserPasswordRequest.ts
models/UpdateUserPolicyRequest.ts
models/UpdateUserRequest.ts
models/UploadSubtitleDto.ts
models/UploadSubtitleRequest.ts
models/UserConfiguration.ts
models/UserDto.ts
models/UserDtoConfiguration.ts
models/UserDtoPolicy.ts
models/UserItemDataDto.ts
models/UserPolicy.ts
models/UtcTimeResponse.ts
models/ValidatePathDto.ts
models/ValidatePathRequest.ts
models/VersionInfo.ts
models/Video3DFormat.ts
models/VideoType.ts
models/VirtualFolderInfo.ts
models/WakeOnLanInfo.ts
models/XbmcMetadataOptions.ts
models/XmlAttribute.ts
models/index.ts
runtime.ts

View File

@ -0,0 +1 @@
6.5.0

View 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();
}
}

View 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);
}
}

View 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();
}
}

File diff suppressed because it is too large Load Diff

View 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();
}
}

View 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();
}
}

View 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();
}
}

View 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);
}
}

View 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);
}
}

View 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();
}
}

View 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);
}
}

View 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);
}
}

View 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);
}
}

View 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();
}
}

File diff suppressed because it is too large Load Diff

View 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);
}
}

View 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();
}
}

View 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();
}
}

View 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);
}
}

File diff suppressed because it is too large Load Diff

View 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();
}
}

View 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();
}
}

View 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();
}
}

View 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);
}
}

View 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);
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View 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);
}
}

File diff suppressed because it is too large Load Diff

View 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();
}
}

View 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();
}
}

View 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();
}
}

View 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();
}
}

View 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);
}
}

View 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);
}
}

View 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();
}
}

View 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);
}
}

View 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);
}
}

View 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);
}
}

View 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();
}
}

View 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();
}
}

View 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);
}
}

View 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();
}
}

View 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);
}
}

View 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);
}
}

View 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();
}
}

View 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);
}
}

View 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();
}
}

View 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);
}
}

View 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);
}
}

View 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();
}
}

View 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();
}
}

View 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();
}
}

View 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();
}
}

View 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();
}
}

View 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);
}
}

View 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();
}
}

View 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();
}
}

View 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();
}
}

File diff suppressed because it is too large Load Diff

View 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();
}
}

View 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';

152
server/jellyfin/handler.ts Normal file
View File

@ -0,0 +1,152 @@
import { GuildMember } from "discord.js";
import { CreateUserByNameOperationRequest, SystemApi, UpdateUserPolicyOperationRequest, UserApi } from "./apis";
import { UserDto } from "./models/UserDto";
import { Configuration, ConfigurationParameters } from "./runtime";
import { CreateUserByNameRequest, UpdateUserPolicyRequest } from "./models";
import { Config } from "../configuration";
import { logger } from "../logger";
import { Maybe } from "../interfaces";
export class JellyfinHandler {
private userApi: UserApi
private systemApi: SystemApi
private token: string
private authHeader: { headers: { 'X-MediaBrowser-Token': string } }
private config: Config
private serverName = "";
public async ServerName(): Promise<string> {
if (this.serverName === "") {
const info = await this.systemApi.getSystemInfo(this.authHeader)
this.serverName = info.serverName ?? this.config.bot.jellyfin_url
}
return this.serverName
}
constructor(_config: Config, _userApi?: UserApi, _systemApi?: SystemApi) {
this.config = _config
const userApiConfigurationParams: ConfigurationParameters = {
basePath: this.config.bot.jellyfin_url
}
const systemApiConfigurationParams: ConfigurationParameters = {
basePath: this.config.bot.jellyfin_url
}
this.userApi = _userApi ?? new UserApi(new Configuration(userApiConfigurationParams))
this.systemApi = _systemApi ?? new SystemApi(new Configuration(systemApiConfigurationParams))
this.token = this.config.bot.jellfin_token
this.authHeader = {
headers: {
"X-MediaBrowser-Token": this.token
}
}
logger.info(`Initialized Jellyfin handler`, { requestId: 'Init' })
}
private generateJFUserName(discordUser: GuildMember): string {
return discordUser.displayName
}
public async addPermissionsToUserAccount(jfUserAccount: UserDto, guildId: string, requestId: string): Promise<UserDto> {
throw new Error("Method not implemented.");
}
private generatePasswordForUser(user: GuildMember): string {
return user.nickname + user.user.discriminator
}
public async createUserAccountForDiscordUser(discordUser: GuildMember, guildId?: string, requestId?: string): Promise<UserDto> {
const newUserName = this.generateJFUserName(discordUser)
logger.info(`New Username for ${discordUser.displayName}: ${newUserName}`, { guildId, requestId })
const req: CreateUserByNameOperationRequest = {
createUserByNameRequest: {
name: newUserName,
password: this.generatePasswordForUser(discordUser),
}
}
logger.debug(JSON.stringify(req))
const createResult = await this.userApi.createUserByName(req, this.authHeader)
if (createResult)
return createResult
else throw new Error('Could not create User in Jellyfin')
}
public async disableJfUser(user: UserDto, guildId?: string, requestId?: string): Promise<void> {
if (user.id) {
logger.info(`Trying to disable user: ${user.name}|${user.id}`)
const r: UpdateUserPolicyOperationRequest = {
userId: user.id,
updateUserPolicyRequest: {
isDisabled: true
},
}
await this.userApi.updateUserPolicy(r, this.authHeader)
logger.info(`Succeeded with disabling user: ${user.name}`)
}
else {
logger.error(`Can not disable user ${JSON.stringify(user)}, has no id?!`, { requestId, guildId })
}
}
public async isUserAlreadyPresent(discordUser: GuildMember, requestId?: string): Promise<boolean> {
const jfuser = await this.getUser(discordUser, requestId)
logger.debug(`Presence for DiscordUser ${discordUser.id}:${jfuser !== undefined}`)
return jfuser !== undefined
}
public async getCurrentUsers(guildId: string, requestId?: string): Promise<UserDto[]> {
try {
logger.info(`Fetching current users from Jellyfin`, { requestId, guildId })
const result = await this.userApi.getUsers(undefined, this.authHeader)
return result
} catch (error) {
logger.error(`Could not fetch current users from jellyfin`, { guildId, requestId })
}
return []
}
public async getUser(discordUser: GuildMember, requestId?: string): Promise<Maybe<UserDto>> {
const jfUsernameFromDiscordUsername = this.generateJFUserName(discordUser)
const jfUsers = await this.getCurrentUsers(discordUser.guild.id, requestId)
const foundUser = jfUsers.find(x => x.name === jfUsernameFromDiscordUsername)
return foundUser
}
public async removeUser(newMember: GuildMember, requestId?: string) {
logger.error(`Trying to remove user ${newMember.displayName}, but method is not implemented`)
const jfuser = await this.getUser(newMember, requestId)
if (jfuser) {
await this.disableJfUser(jfuser, newMember.guild.id, requestId)
}
}
public async enableUser(user: UserDto, guildId?: string, requestId?: string): Promise<void> {
if (user.id) {
logger.info(`Trying to enable user: ${user.name}|${user.id}`)
const r: UpdateUserPolicyOperationRequest = {
userId: user.id ?? "",
updateUserPolicyRequest: {
}
}
await this.userApi.updateUserPolicy(r, this.authHeader)
logger.info(`Succeeded with enabling user: ${user.name}`)
}
else {
logger.error(`Can not enable user ${JSON.stringify(user)}, has no id?!`, { requestId, guildId })
}
}
public async upsertUser(newMember: GuildMember, level: string, requestId?: string) {
logger.error(`Trying to upsert user ${newMember.displayName}, with permissionLevel ${level}`)
const jfuser = await this.getUser(newMember, requestId)
if (jfuser) {
logger.info(`User with name ${newMember.displayName} is already present`)
await this.enableUser(jfuser, requestId)
} else {
this.createUserAccountForDiscordUser(newMember, newMember.guild.id, requestId)
}
}
}

5
server/jellyfin/index.ts Normal file
View File

@ -0,0 +1,5 @@
/* tslint:disable */
/* eslint-disable */
export * from './runtime';
export * as JellyfinAPI from './apis';
export * from './models';

View File

@ -0,0 +1,103 @@
/* tslint:disable */
/* eslint-disable */
/**
* Jellyfin API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 10.8.9
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
import type { DynamicDayOfWeek } from './DynamicDayOfWeek';
import {
DynamicDayOfWeekFromJSON,
DynamicDayOfWeekFromJSONTyped,
DynamicDayOfWeekToJSON,
} from './DynamicDayOfWeek';
/**
* An entity representing a user's access schedule.
* @export
* @interface AccessSchedule
*/
export interface AccessSchedule {
/**
* Gets the id of this instance.
* @type {number}
* @memberof AccessSchedule
*/
readonly id?: number;
/**
* Gets the id of the associated user.
* @type {string}
* @memberof AccessSchedule
*/
userId?: string;
/**
*
* @type {DynamicDayOfWeek}
* @memberof AccessSchedule
*/
dayOfWeek?: DynamicDayOfWeek;
/**
* Gets or sets the start hour.
* @type {number}
* @memberof AccessSchedule
*/
startHour?: number;
/**
* Gets or sets the end hour.
* @type {number}
* @memberof AccessSchedule
*/
endHour?: number;
}
/**
* Check if a given object implements the AccessSchedule interface.
*/
export function instanceOfAccessSchedule(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function AccessScheduleFromJSON(json: any): AccessSchedule {
return AccessScheduleFromJSONTyped(json, false);
}
export function AccessScheduleFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccessSchedule {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'id': !exists(json, 'Id') ? undefined : json['Id'],
'userId': !exists(json, 'UserId') ? undefined : json['UserId'],
'dayOfWeek': !exists(json, 'DayOfWeek') ? undefined : DynamicDayOfWeekFromJSON(json['DayOfWeek']),
'startHour': !exists(json, 'StartHour') ? undefined : json['StartHour'],
'endHour': !exists(json, 'EndHour') ? undefined : json['EndHour'],
};
}
export function AccessScheduleToJSON(value?: AccessSchedule | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'UserId': value.userId,
'DayOfWeek': DynamicDayOfWeekToJSON(value.dayOfWeek),
'StartHour': value.startHour,
'EndHour': value.endHour,
};
}

View File

@ -0,0 +1,145 @@
/* tslint:disable */
/* eslint-disable */
/**
* Jellyfin API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 10.8.9
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
import type { LogLevel } from './LogLevel';
import {
LogLevelFromJSON,
LogLevelFromJSONTyped,
LogLevelToJSON,
} from './LogLevel';
/**
* An activity log entry.
* @export
* @interface ActivityLogEntry
*/
export interface ActivityLogEntry {
/**
* Gets or sets the identifier.
* @type {number}
* @memberof ActivityLogEntry
*/
id?: number;
/**
* Gets or sets the name.
* @type {string}
* @memberof ActivityLogEntry
*/
name?: string;
/**
* Gets or sets the overview.
* @type {string}
* @memberof ActivityLogEntry
*/
overview?: string | null;
/**
* Gets or sets the short overview.
* @type {string}
* @memberof ActivityLogEntry
*/
shortOverview?: string | null;
/**
* Gets or sets the type.
* @type {string}
* @memberof ActivityLogEntry
*/
type?: string;
/**
* Gets or sets the item identifier.
* @type {string}
* @memberof ActivityLogEntry
*/
itemId?: string | null;
/**
* Gets or sets the date.
* @type {Date}
* @memberof ActivityLogEntry
*/
date?: Date;
/**
* Gets or sets the user identifier.
* @type {string}
* @memberof ActivityLogEntry
*/
userId?: string;
/**
* Gets or sets the user primary image tag.
* @type {string}
* @memberof ActivityLogEntry
* @deprecated
*/
userPrimaryImageTag?: string | null;
/**
*
* @type {LogLevel}
* @memberof ActivityLogEntry
*/
severity?: LogLevel;
}
/**
* Check if a given object implements the ActivityLogEntry interface.
*/
export function instanceOfActivityLogEntry(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function ActivityLogEntryFromJSON(json: any): ActivityLogEntry {
return ActivityLogEntryFromJSONTyped(json, false);
}
export function ActivityLogEntryFromJSONTyped(json: any, ignoreDiscriminator: boolean): ActivityLogEntry {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'id': !exists(json, 'Id') ? undefined : json['Id'],
'name': !exists(json, 'Name') ? undefined : json['Name'],
'overview': !exists(json, 'Overview') ? undefined : json['Overview'],
'shortOverview': !exists(json, 'ShortOverview') ? undefined : json['ShortOverview'],
'type': !exists(json, 'Type') ? undefined : json['Type'],
'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'],
'date': !exists(json, 'Date') ? undefined : (new Date(json['Date'])),
'userId': !exists(json, 'UserId') ? undefined : json['UserId'],
'userPrimaryImageTag': !exists(json, 'UserPrimaryImageTag') ? undefined : json['UserPrimaryImageTag'],
'severity': !exists(json, 'Severity') ? undefined : LogLevelFromJSON(json['Severity']),
};
}
export function ActivityLogEntryToJSON(value?: ActivityLogEntry | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'Id': value.id,
'Name': value.name,
'Overview': value.overview,
'ShortOverview': value.shortOverview,
'Type': value.type,
'ItemId': value.itemId,
'Date': value.date === undefined ? undefined : (value.date.toISOString()),
'UserId': value.userId,
'UserPrimaryImageTag': value.userPrimaryImageTag,
'Severity': LogLevelToJSON(value.severity),
};
}

View File

@ -0,0 +1,88 @@
/* tslint:disable */
/* eslint-disable */
/**
* Jellyfin API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 10.8.9
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
import type { ActivityLogEntry } from './ActivityLogEntry';
import {
ActivityLogEntryFromJSON,
ActivityLogEntryFromJSONTyped,
ActivityLogEntryToJSON,
} from './ActivityLogEntry';
/**
*
* @export
* @interface ActivityLogEntryQueryResult
*/
export interface ActivityLogEntryQueryResult {
/**
* Gets or sets the items.
* @type {Array<ActivityLogEntry>}
* @memberof ActivityLogEntryQueryResult
*/
items?: Array<ActivityLogEntry> | null;
/**
* Gets or sets the total number of records available.
* @type {number}
* @memberof ActivityLogEntryQueryResult
*/
totalRecordCount?: number;
/**
* Gets or sets the index of the first record in Items.
* @type {number}
* @memberof ActivityLogEntryQueryResult
*/
startIndex?: number;
}
/**
* Check if a given object implements the ActivityLogEntryQueryResult interface.
*/
export function instanceOfActivityLogEntryQueryResult(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function ActivityLogEntryQueryResultFromJSON(json: any): ActivityLogEntryQueryResult {
return ActivityLogEntryQueryResultFromJSONTyped(json, false);
}
export function ActivityLogEntryQueryResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): ActivityLogEntryQueryResult {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'items': !exists(json, 'Items') ? undefined : (json['Items'] === null ? null : (json['Items'] as Array<any>).map(ActivityLogEntryFromJSON)),
'totalRecordCount': !exists(json, 'TotalRecordCount') ? undefined : json['TotalRecordCount'],
'startIndex': !exists(json, 'StartIndex') ? undefined : json['StartIndex'],
};
}
export function ActivityLogEntryQueryResultToJSON(value?: ActivityLogEntryQueryResult | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'Items': value.items === undefined ? undefined : (value.items === null ? null : (value.items as Array<any>).map(ActivityLogEntryToJSON)),
'TotalRecordCount': value.totalRecordCount,
'StartIndex': value.startIndex,
};
}

View File

@ -0,0 +1,208 @@
/* tslint:disable */
/* eslint-disable */
/**
* Jellyfin API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 10.8.9
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
import type { NameValuePair } from './NameValuePair';
import {
NameValuePairFromJSON,
NameValuePairFromJSONTyped,
NameValuePairToJSON,
} from './NameValuePair';
/**
*
* @export
* @interface AddListingProviderRequest
*/
export interface AddListingProviderRequest {
/**
*
* @type {string}
* @memberof AddListingProviderRequest
*/
id?: string | null;
/**
*
* @type {string}
* @memberof AddListingProviderRequest
*/
type?: string | null;
/**
*
* @type {string}
* @memberof AddListingProviderRequest
*/
username?: string | null;
/**
*
* @type {string}
* @memberof AddListingProviderRequest
*/
password?: string | null;
/**
*
* @type {string}
* @memberof AddListingProviderRequest
*/
listingsId?: string | null;
/**
*
* @type {string}
* @memberof AddListingProviderRequest
*/
zipCode?: string | null;
/**
*
* @type {string}
* @memberof AddListingProviderRequest
*/
country?: string | null;
/**
*
* @type {string}
* @memberof AddListingProviderRequest
*/
path?: string | null;
/**
*
* @type {Array<string>}
* @memberof AddListingProviderRequest
*/
enabledTuners?: Array<string> | null;
/**
*
* @type {boolean}
* @memberof AddListingProviderRequest
*/
enableAllTuners?: boolean;
/**
*
* @type {Array<string>}
* @memberof AddListingProviderRequest
*/
newsCategories?: Array<string> | null;
/**
*
* @type {Array<string>}
* @memberof AddListingProviderRequest
*/
sportsCategories?: Array<string> | null;
/**
*
* @type {Array<string>}
* @memberof AddListingProviderRequest
*/
kidsCategories?: Array<string> | null;
/**
*
* @type {Array<string>}
* @memberof AddListingProviderRequest
*/
movieCategories?: Array<string> | null;
/**
*
* @type {Array<NameValuePair>}
* @memberof AddListingProviderRequest
*/
channelMappings?: Array<NameValuePair> | null;
/**
*
* @type {string}
* @memberof AddListingProviderRequest
*/
moviePrefix?: string | null;
/**
*
* @type {string}
* @memberof AddListingProviderRequest
*/
preferredLanguage?: string | null;
/**
*
* @type {string}
* @memberof AddListingProviderRequest
*/
userAgent?: string | null;
}
/**
* Check if a given object implements the AddListingProviderRequest interface.
*/
export function instanceOfAddListingProviderRequest(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function AddListingProviderRequestFromJSON(json: any): AddListingProviderRequest {
return AddListingProviderRequestFromJSONTyped(json, false);
}
export function AddListingProviderRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddListingProviderRequest {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'id': !exists(json, 'Id') ? undefined : json['Id'],
'type': !exists(json, 'Type') ? undefined : json['Type'],
'username': !exists(json, 'Username') ? undefined : json['Username'],
'password': !exists(json, 'Password') ? undefined : json['Password'],
'listingsId': !exists(json, 'ListingsId') ? undefined : json['ListingsId'],
'zipCode': !exists(json, 'ZipCode') ? undefined : json['ZipCode'],
'country': !exists(json, 'Country') ? undefined : json['Country'],
'path': !exists(json, 'Path') ? undefined : json['Path'],
'enabledTuners': !exists(json, 'EnabledTuners') ? undefined : json['EnabledTuners'],
'enableAllTuners': !exists(json, 'EnableAllTuners') ? undefined : json['EnableAllTuners'],
'newsCategories': !exists(json, 'NewsCategories') ? undefined : json['NewsCategories'],
'sportsCategories': !exists(json, 'SportsCategories') ? undefined : json['SportsCategories'],
'kidsCategories': !exists(json, 'KidsCategories') ? undefined : json['KidsCategories'],
'movieCategories': !exists(json, 'MovieCategories') ? undefined : json['MovieCategories'],
'channelMappings': !exists(json, 'ChannelMappings') ? undefined : (json['ChannelMappings'] === null ? null : (json['ChannelMappings'] as Array<any>).map(NameValuePairFromJSON)),
'moviePrefix': !exists(json, 'MoviePrefix') ? undefined : json['MoviePrefix'],
'preferredLanguage': !exists(json, 'PreferredLanguage') ? undefined : json['PreferredLanguage'],
'userAgent': !exists(json, 'UserAgent') ? undefined : json['UserAgent'],
};
}
export function AddListingProviderRequestToJSON(value?: AddListingProviderRequest | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'Id': value.id,
'Type': value.type,
'Username': value.username,
'Password': value.password,
'ListingsId': value.listingsId,
'ZipCode': value.zipCode,
'Country': value.country,
'Path': value.path,
'EnabledTuners': value.enabledTuners,
'EnableAllTuners': value.enableAllTuners,
'NewsCategories': value.newsCategories,
'SportsCategories': value.sportsCategories,
'KidsCategories': value.kidsCategories,
'MovieCategories': value.movieCategories,
'ChannelMappings': value.channelMappings === undefined ? undefined : (value.channelMappings === null ? null : (value.channelMappings as Array<any>).map(NameValuePairToJSON)),
'MoviePrefix': value.moviePrefix,
'PreferredLanguage': value.preferredLanguage,
'UserAgent': value.userAgent,
};
}

View File

@ -0,0 +1,89 @@
/* tslint:disable */
/* eslint-disable */
/**
* Jellyfin API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 10.8.9
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
import type { MediaPathDtoPathInfo } from './MediaPathDtoPathInfo';
import {
MediaPathDtoPathInfoFromJSON,
MediaPathDtoPathInfoFromJSONTyped,
MediaPathDtoPathInfoToJSON,
} from './MediaPathDtoPathInfo';
/**
* Media Path dto.
* @export
* @interface AddMediaPathRequest
*/
export interface AddMediaPathRequest {
/**
* Gets or sets the name of the library.
* @type {string}
* @memberof AddMediaPathRequest
*/
name: string;
/**
* Gets or sets the path to add.
* @type {string}
* @memberof AddMediaPathRequest
*/
path?: string | null;
/**
*
* @type {MediaPathDtoPathInfo}
* @memberof AddMediaPathRequest
*/
pathInfo?: MediaPathDtoPathInfo | null;
}
/**
* Check if a given object implements the AddMediaPathRequest interface.
*/
export function instanceOfAddMediaPathRequest(value: object): boolean {
let isInstance = true;
isInstance = isInstance && "name" in value;
return isInstance;
}
export function AddMediaPathRequestFromJSON(json: any): AddMediaPathRequest {
return AddMediaPathRequestFromJSONTyped(json, false);
}
export function AddMediaPathRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddMediaPathRequest {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'name': json['Name'],
'path': !exists(json, 'Path') ? undefined : json['Path'],
'pathInfo': !exists(json, 'PathInfo') ? undefined : MediaPathDtoPathInfoFromJSON(json['PathInfo']),
};
}
export function AddMediaPathRequestToJSON(value?: AddMediaPathRequest | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'Name': value.name,
'Path': value.path,
'PathInfo': MediaPathDtoPathInfoToJSON(value.pathInfo),
};
}

View File

@ -0,0 +1,145 @@
/* tslint:disable */
/* eslint-disable */
/**
* Jellyfin API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 10.8.9
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
/**
*
* @export
* @interface AddTunerHostRequest
*/
export interface AddTunerHostRequest {
/**
*
* @type {string}
* @memberof AddTunerHostRequest
*/
id?: string | null;
/**
*
* @type {string}
* @memberof AddTunerHostRequest
*/
url?: string | null;
/**
*
* @type {string}
* @memberof AddTunerHostRequest
*/
type?: string | null;
/**
*
* @type {string}
* @memberof AddTunerHostRequest
*/
deviceId?: string | null;
/**
*
* @type {string}
* @memberof AddTunerHostRequest
*/
friendlyName?: string | null;
/**
*
* @type {boolean}
* @memberof AddTunerHostRequest
*/
importFavoritesOnly?: boolean;
/**
*
* @type {boolean}
* @memberof AddTunerHostRequest
*/
allowHWTranscoding?: boolean;
/**
*
* @type {boolean}
* @memberof AddTunerHostRequest
*/
enableStreamLooping?: boolean;
/**
*
* @type {string}
* @memberof AddTunerHostRequest
*/
source?: string | null;
/**
*
* @type {number}
* @memberof AddTunerHostRequest
*/
tunerCount?: number;
/**
*
* @type {string}
* @memberof AddTunerHostRequest
*/
userAgent?: string | null;
}
/**
* Check if a given object implements the AddTunerHostRequest interface.
*/
export function instanceOfAddTunerHostRequest(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function AddTunerHostRequestFromJSON(json: any): AddTunerHostRequest {
return AddTunerHostRequestFromJSONTyped(json, false);
}
export function AddTunerHostRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddTunerHostRequest {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'id': !exists(json, 'Id') ? undefined : json['Id'],
'url': !exists(json, 'Url') ? undefined : json['Url'],
'type': !exists(json, 'Type') ? undefined : json['Type'],
'deviceId': !exists(json, 'DeviceId') ? undefined : json['DeviceId'],
'friendlyName': !exists(json, 'FriendlyName') ? undefined : json['FriendlyName'],
'importFavoritesOnly': !exists(json, 'ImportFavoritesOnly') ? undefined : json['ImportFavoritesOnly'],
'allowHWTranscoding': !exists(json, 'AllowHWTranscoding') ? undefined : json['AllowHWTranscoding'],
'enableStreamLooping': !exists(json, 'EnableStreamLooping') ? undefined : json['EnableStreamLooping'],
'source': !exists(json, 'Source') ? undefined : json['Source'],
'tunerCount': !exists(json, 'TunerCount') ? undefined : json['TunerCount'],
'userAgent': !exists(json, 'UserAgent') ? undefined : json['UserAgent'],
};
}
export function AddTunerHostRequestToJSON(value?: AddTunerHostRequest | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'Id': value.id,
'Url': value.url,
'Type': value.type,
'DeviceId': value.deviceId,
'FriendlyName': value.friendlyName,
'ImportFavoritesOnly': value.importFavoritesOnly,
'AllowHWTranscoding': value.allowHWTranscoding,
'EnableStreamLooping': value.enableStreamLooping,
'Source': value.source,
'TunerCount': value.tunerCount,
'UserAgent': value.userAgent,
};
}

View File

@ -0,0 +1,72 @@
/* tslint:disable */
/* eslint-disable */
/**
* Jellyfin API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 10.8.9
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
import type { AddVirtualFolderDtoLibraryOptions } from './AddVirtualFolderDtoLibraryOptions';
import {
AddVirtualFolderDtoLibraryOptionsFromJSON,
AddVirtualFolderDtoLibraryOptionsFromJSONTyped,
AddVirtualFolderDtoLibraryOptionsToJSON,
} from './AddVirtualFolderDtoLibraryOptions';
/**
* Add virtual folder dto.
* @export
* @interface AddVirtualFolderDto
*/
export interface AddVirtualFolderDto {
/**
*
* @type {AddVirtualFolderDtoLibraryOptions}
* @memberof AddVirtualFolderDto
*/
libraryOptions?: AddVirtualFolderDtoLibraryOptions | null;
}
/**
* Check if a given object implements the AddVirtualFolderDto interface.
*/
export function instanceOfAddVirtualFolderDto(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function AddVirtualFolderDtoFromJSON(json: any): AddVirtualFolderDto {
return AddVirtualFolderDtoFromJSONTyped(json, false);
}
export function AddVirtualFolderDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddVirtualFolderDto {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'libraryOptions': !exists(json, 'LibraryOptions') ? undefined : AddVirtualFolderDtoLibraryOptionsFromJSON(json['LibraryOptions']),
};
}
export function AddVirtualFolderDtoToJSON(value?: AddVirtualFolderDto | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'LibraryOptions': AddVirtualFolderDtoLibraryOptionsToJSON(value.libraryOptions),
};
}

View File

@ -0,0 +1,293 @@
/* tslint:disable */
/* eslint-disable */
/**
* Jellyfin API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 10.8.9
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
import type { EmbeddedSubtitleOptions } from './EmbeddedSubtitleOptions';
import {
EmbeddedSubtitleOptionsFromJSON,
EmbeddedSubtitleOptionsFromJSONTyped,
EmbeddedSubtitleOptionsToJSON,
} from './EmbeddedSubtitleOptions';
import type { MediaPathInfo } from './MediaPathInfo';
import {
MediaPathInfoFromJSON,
MediaPathInfoFromJSONTyped,
MediaPathInfoToJSON,
} from './MediaPathInfo';
import type { TypeOptions } from './TypeOptions';
import {
TypeOptionsFromJSON,
TypeOptionsFromJSONTyped,
TypeOptionsToJSON,
} from './TypeOptions';
/**
* Gets or sets library options.
* @export
* @interface AddVirtualFolderDtoLibraryOptions
*/
export interface AddVirtualFolderDtoLibraryOptions {
/**
*
* @type {boolean}
* @memberof AddVirtualFolderDtoLibraryOptions
*/
enablePhotos?: boolean;
/**
*
* @type {boolean}
* @memberof AddVirtualFolderDtoLibraryOptions
*/
enableRealtimeMonitor?: boolean;
/**
*
* @type {boolean}
* @memberof AddVirtualFolderDtoLibraryOptions
*/
enableChapterImageExtraction?: boolean;
/**
*
* @type {boolean}
* @memberof AddVirtualFolderDtoLibraryOptions
*/
extractChapterImagesDuringLibraryScan?: boolean;
/**
*
* @type {Array<MediaPathInfo>}
* @memberof AddVirtualFolderDtoLibraryOptions
*/
pathInfos?: Array<MediaPathInfo>;
/**
*
* @type {boolean}
* @memberof AddVirtualFolderDtoLibraryOptions
*/
saveLocalMetadata?: boolean;
/**
*
* @type {boolean}
* @memberof AddVirtualFolderDtoLibraryOptions
* @deprecated
*/
enableInternetProviders?: boolean;
/**
*
* @type {boolean}
* @memberof AddVirtualFolderDtoLibraryOptions
*/
enableAutomaticSeriesGrouping?: boolean;
/**
*
* @type {boolean}
* @memberof AddVirtualFolderDtoLibraryOptions
*/
enableEmbeddedTitles?: boolean;
/**
*
* @type {boolean}
* @memberof AddVirtualFolderDtoLibraryOptions
*/
enableEmbeddedEpisodeInfos?: boolean;
/**
*
* @type {number}
* @memberof AddVirtualFolderDtoLibraryOptions
*/
automaticRefreshIntervalDays?: number;
/**
* Gets or sets the preferred metadata language.
* @type {string}
* @memberof AddVirtualFolderDtoLibraryOptions
*/
preferredMetadataLanguage?: string | null;
/**
* Gets or sets the metadata country code.
* @type {string}
* @memberof AddVirtualFolderDtoLibraryOptions
*/
metadataCountryCode?: string | null;
/**
*
* @type {string}
* @memberof AddVirtualFolderDtoLibraryOptions
*/
seasonZeroDisplayName?: string;
/**
*
* @type {Array<string>}
* @memberof AddVirtualFolderDtoLibraryOptions
*/
metadataSavers?: Array<string> | null;
/**
*
* @type {Array<string>}
* @memberof AddVirtualFolderDtoLibraryOptions
*/
disabledLocalMetadataReaders?: Array<string>;
/**
*
* @type {Array<string>}
* @memberof AddVirtualFolderDtoLibraryOptions
*/
localMetadataReaderOrder?: Array<string> | null;
/**
*
* @type {Array<string>}
* @memberof AddVirtualFolderDtoLibraryOptions
*/
disabledSubtitleFetchers?: Array<string>;
/**
*
* @type {Array<string>}
* @memberof AddVirtualFolderDtoLibraryOptions
*/
subtitleFetcherOrder?: Array<string>;
/**
*
* @type {boolean}
* @memberof AddVirtualFolderDtoLibraryOptions
*/
skipSubtitlesIfEmbeddedSubtitlesPresent?: boolean;
/**
*
* @type {boolean}
* @memberof AddVirtualFolderDtoLibraryOptions
*/
skipSubtitlesIfAudioTrackMatches?: boolean;
/**
*
* @type {Array<string>}
* @memberof AddVirtualFolderDtoLibraryOptions
*/
subtitleDownloadLanguages?: Array<string> | null;
/**
*
* @type {boolean}
* @memberof AddVirtualFolderDtoLibraryOptions
*/
requirePerfectSubtitleMatch?: boolean;
/**
*
* @type {boolean}
* @memberof AddVirtualFolderDtoLibraryOptions
*/
saveSubtitlesWithMedia?: boolean;
/**
*
* @type {boolean}
* @memberof AddVirtualFolderDtoLibraryOptions
*/
automaticallyAddToCollection?: boolean;
/**
*
* @type {EmbeddedSubtitleOptions}
* @memberof AddVirtualFolderDtoLibraryOptions
*/
allowEmbeddedSubtitles?: EmbeddedSubtitleOptions;
/**
*
* @type {Array<TypeOptions>}
* @memberof AddVirtualFolderDtoLibraryOptions
*/
typeOptions?: Array<TypeOptions>;
}
/**
* Check if a given object implements the AddVirtualFolderDtoLibraryOptions interface.
*/
export function instanceOfAddVirtualFolderDtoLibraryOptions(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function AddVirtualFolderDtoLibraryOptionsFromJSON(json: any): AddVirtualFolderDtoLibraryOptions {
return AddVirtualFolderDtoLibraryOptionsFromJSONTyped(json, false);
}
export function AddVirtualFolderDtoLibraryOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddVirtualFolderDtoLibraryOptions {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'enablePhotos': !exists(json, 'EnablePhotos') ? undefined : json['EnablePhotos'],
'enableRealtimeMonitor': !exists(json, 'EnableRealtimeMonitor') ? undefined : json['EnableRealtimeMonitor'],
'enableChapterImageExtraction': !exists(json, 'EnableChapterImageExtraction') ? undefined : json['EnableChapterImageExtraction'],
'extractChapterImagesDuringLibraryScan': !exists(json, 'ExtractChapterImagesDuringLibraryScan') ? undefined : json['ExtractChapterImagesDuringLibraryScan'],
'pathInfos': !exists(json, 'PathInfos') ? undefined : ((json['PathInfos'] as Array<any>).map(MediaPathInfoFromJSON)),
'saveLocalMetadata': !exists(json, 'SaveLocalMetadata') ? undefined : json['SaveLocalMetadata'],
'enableInternetProviders': !exists(json, 'EnableInternetProviders') ? undefined : json['EnableInternetProviders'],
'enableAutomaticSeriesGrouping': !exists(json, 'EnableAutomaticSeriesGrouping') ? undefined : json['EnableAutomaticSeriesGrouping'],
'enableEmbeddedTitles': !exists(json, 'EnableEmbeddedTitles') ? undefined : json['EnableEmbeddedTitles'],
'enableEmbeddedEpisodeInfos': !exists(json, 'EnableEmbeddedEpisodeInfos') ? undefined : json['EnableEmbeddedEpisodeInfos'],
'automaticRefreshIntervalDays': !exists(json, 'AutomaticRefreshIntervalDays') ? undefined : json['AutomaticRefreshIntervalDays'],
'preferredMetadataLanguage': !exists(json, 'PreferredMetadataLanguage') ? undefined : json['PreferredMetadataLanguage'],
'metadataCountryCode': !exists(json, 'MetadataCountryCode') ? undefined : json['MetadataCountryCode'],
'seasonZeroDisplayName': !exists(json, 'SeasonZeroDisplayName') ? undefined : json['SeasonZeroDisplayName'],
'metadataSavers': !exists(json, 'MetadataSavers') ? undefined : json['MetadataSavers'],
'disabledLocalMetadataReaders': !exists(json, 'DisabledLocalMetadataReaders') ? undefined : json['DisabledLocalMetadataReaders'],
'localMetadataReaderOrder': !exists(json, 'LocalMetadataReaderOrder') ? undefined : json['LocalMetadataReaderOrder'],
'disabledSubtitleFetchers': !exists(json, 'DisabledSubtitleFetchers') ? undefined : json['DisabledSubtitleFetchers'],
'subtitleFetcherOrder': !exists(json, 'SubtitleFetcherOrder') ? undefined : json['SubtitleFetcherOrder'],
'skipSubtitlesIfEmbeddedSubtitlesPresent': !exists(json, 'SkipSubtitlesIfEmbeddedSubtitlesPresent') ? undefined : json['SkipSubtitlesIfEmbeddedSubtitlesPresent'],
'skipSubtitlesIfAudioTrackMatches': !exists(json, 'SkipSubtitlesIfAudioTrackMatches') ? undefined : json['SkipSubtitlesIfAudioTrackMatches'],
'subtitleDownloadLanguages': !exists(json, 'SubtitleDownloadLanguages') ? undefined : json['SubtitleDownloadLanguages'],
'requirePerfectSubtitleMatch': !exists(json, 'RequirePerfectSubtitleMatch') ? undefined : json['RequirePerfectSubtitleMatch'],
'saveSubtitlesWithMedia': !exists(json, 'SaveSubtitlesWithMedia') ? undefined : json['SaveSubtitlesWithMedia'],
'automaticallyAddToCollection': !exists(json, 'AutomaticallyAddToCollection') ? undefined : json['AutomaticallyAddToCollection'],
'allowEmbeddedSubtitles': !exists(json, 'AllowEmbeddedSubtitles') ? undefined : EmbeddedSubtitleOptionsFromJSON(json['AllowEmbeddedSubtitles']),
'typeOptions': !exists(json, 'TypeOptions') ? undefined : ((json['TypeOptions'] as Array<any>).map(TypeOptionsFromJSON)),
};
}
export function AddVirtualFolderDtoLibraryOptionsToJSON(value?: AddVirtualFolderDtoLibraryOptions | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'EnablePhotos': value.enablePhotos,
'EnableRealtimeMonitor': value.enableRealtimeMonitor,
'EnableChapterImageExtraction': value.enableChapterImageExtraction,
'ExtractChapterImagesDuringLibraryScan': value.extractChapterImagesDuringLibraryScan,
'PathInfos': value.pathInfos === undefined ? undefined : ((value.pathInfos as Array<any>).map(MediaPathInfoToJSON)),
'SaveLocalMetadata': value.saveLocalMetadata,
'EnableInternetProviders': value.enableInternetProviders,
'EnableAutomaticSeriesGrouping': value.enableAutomaticSeriesGrouping,
'EnableEmbeddedTitles': value.enableEmbeddedTitles,
'EnableEmbeddedEpisodeInfos': value.enableEmbeddedEpisodeInfos,
'AutomaticRefreshIntervalDays': value.automaticRefreshIntervalDays,
'PreferredMetadataLanguage': value.preferredMetadataLanguage,
'MetadataCountryCode': value.metadataCountryCode,
'SeasonZeroDisplayName': value.seasonZeroDisplayName,
'MetadataSavers': value.metadataSavers,
'DisabledLocalMetadataReaders': value.disabledLocalMetadataReaders,
'LocalMetadataReaderOrder': value.localMetadataReaderOrder,
'DisabledSubtitleFetchers': value.disabledSubtitleFetchers,
'SubtitleFetcherOrder': value.subtitleFetcherOrder,
'SkipSubtitlesIfEmbeddedSubtitlesPresent': value.skipSubtitlesIfEmbeddedSubtitlesPresent,
'SkipSubtitlesIfAudioTrackMatches': value.skipSubtitlesIfAudioTrackMatches,
'SubtitleDownloadLanguages': value.subtitleDownloadLanguages,
'RequirePerfectSubtitleMatch': value.requirePerfectSubtitleMatch,
'SaveSubtitlesWithMedia': value.saveSubtitlesWithMedia,
'AutomaticallyAddToCollection': value.automaticallyAddToCollection,
'AllowEmbeddedSubtitles': EmbeddedSubtitleOptionsToJSON(value.allowEmbeddedSubtitles),
'TypeOptions': value.typeOptions === undefined ? undefined : ((value.typeOptions as Array<any>).map(TypeOptionsToJSON)),
};
}

View File

@ -0,0 +1,72 @@
/* tslint:disable */
/* eslint-disable */
/**
* Jellyfin API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 10.8.9
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
import type { AddVirtualFolderDtoLibraryOptions } from './AddVirtualFolderDtoLibraryOptions';
import {
AddVirtualFolderDtoLibraryOptionsFromJSON,
AddVirtualFolderDtoLibraryOptionsFromJSONTyped,
AddVirtualFolderDtoLibraryOptionsToJSON,
} from './AddVirtualFolderDtoLibraryOptions';
/**
* Add virtual folder dto.
* @export
* @interface AddVirtualFolderRequest
*/
export interface AddVirtualFolderRequest {
/**
*
* @type {AddVirtualFolderDtoLibraryOptions}
* @memberof AddVirtualFolderRequest
*/
libraryOptions?: AddVirtualFolderDtoLibraryOptions | null;
}
/**
* Check if a given object implements the AddVirtualFolderRequest interface.
*/
export function instanceOfAddVirtualFolderRequest(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function AddVirtualFolderRequestFromJSON(json: any): AddVirtualFolderRequest {
return AddVirtualFolderRequestFromJSONTyped(json, false);
}
export function AddVirtualFolderRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddVirtualFolderRequest {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'libraryOptions': !exists(json, 'LibraryOptions') ? undefined : AddVirtualFolderDtoLibraryOptionsFromJSON(json['LibraryOptions']),
};
}
export function AddVirtualFolderRequestToJSON(value?: AddVirtualFolderRequest | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'LibraryOptions': AddVirtualFolderDtoLibraryOptionsToJSON(value.libraryOptions),
};
}

View 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 { exists, mapValues } from '../runtime';
import type { NotificationLevel } from './NotificationLevel';
import {
NotificationLevelFromJSON,
NotificationLevelFromJSONTyped,
NotificationLevelToJSON,
} from './NotificationLevel';
/**
* The admin notification dto.
* @export
* @interface AdminNotificationDto
*/
export interface AdminNotificationDto {
/**
* Gets or sets the notification name.
* @type {string}
* @memberof AdminNotificationDto
*/
name?: string | null;
/**
* Gets or sets the notification description.
* @type {string}
* @memberof AdminNotificationDto
*/
description?: string | null;
/**
*
* @type {NotificationLevel}
* @memberof AdminNotificationDto
*/
notificationLevel?: NotificationLevel | null;
/**
* Gets or sets the notification url.
* @type {string}
* @memberof AdminNotificationDto
*/
url?: string | null;
}
/**
* Check if a given object implements the AdminNotificationDto interface.
*/
export function instanceOfAdminNotificationDto(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function AdminNotificationDtoFromJSON(json: any): AdminNotificationDto {
return AdminNotificationDtoFromJSONTyped(json, false);
}
export function AdminNotificationDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AdminNotificationDto {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'name': !exists(json, 'Name') ? undefined : json['Name'],
'description': !exists(json, 'Description') ? undefined : json['Description'],
'notificationLevel': !exists(json, 'NotificationLevel') ? undefined : NotificationLevelFromJSON(json['NotificationLevel']),
'url': !exists(json, 'Url') ? undefined : json['Url'],
};
}
export function AdminNotificationDtoToJSON(value?: AdminNotificationDto | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'Name': value.name,
'Description': value.description,
'NotificationLevel': NotificationLevelToJSON(value.notificationLevel),
'Url': value.url,
};
}

View File

@ -0,0 +1,176 @@
/* tslint:disable */
/* eslint-disable */
/**
* Jellyfin API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 10.8.9
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
import type { SongInfo } from './SongInfo';
import {
SongInfoFromJSON,
SongInfoFromJSONTyped,
SongInfoToJSON,
} from './SongInfo';
/**
*
* @export
* @interface AlbumInfo
*/
export interface AlbumInfo {
/**
* Gets or sets the name.
* @type {string}
* @memberof AlbumInfo
*/
name?: string | null;
/**
* Gets or sets the original title.
* @type {string}
* @memberof AlbumInfo
*/
originalTitle?: string | null;
/**
* Gets or sets the path.
* @type {string}
* @memberof AlbumInfo
*/
path?: string | null;
/**
* Gets or sets the metadata language.
* @type {string}
* @memberof AlbumInfo
*/
metadataLanguage?: string | null;
/**
* Gets or sets the metadata country code.
* @type {string}
* @memberof AlbumInfo
*/
metadataCountryCode?: string | null;
/**
* Gets or sets the provider ids.
* @type {{ [key: string]: string; }}
* @memberof AlbumInfo
*/
providerIds?: { [key: string]: string; } | null;
/**
* Gets or sets the year.
* @type {number}
* @memberof AlbumInfo
*/
year?: number | null;
/**
*
* @type {number}
* @memberof AlbumInfo
*/
indexNumber?: number | null;
/**
*
* @type {number}
* @memberof AlbumInfo
*/
parentIndexNumber?: number | null;
/**
*
* @type {Date}
* @memberof AlbumInfo
*/
premiereDate?: Date | null;
/**
*
* @type {boolean}
* @memberof AlbumInfo
*/
isAutomated?: boolean;
/**
* Gets or sets the album artist.
* @type {Array<string>}
* @memberof AlbumInfo
*/
albumArtists?: Array<string>;
/**
* Gets or sets the artist provider ids.
* @type {{ [key: string]: string; }}
* @memberof AlbumInfo
*/
artistProviderIds?: { [key: string]: string; };
/**
*
* @type {Array<SongInfo>}
* @memberof AlbumInfo
*/
songInfos?: Array<SongInfo>;
}
/**
* Check if a given object implements the AlbumInfo interface.
*/
export function instanceOfAlbumInfo(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function AlbumInfoFromJSON(json: any): AlbumInfo {
return AlbumInfoFromJSONTyped(json, false);
}
export function AlbumInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AlbumInfo {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'name': !exists(json, 'Name') ? undefined : json['Name'],
'originalTitle': !exists(json, 'OriginalTitle') ? undefined : json['OriginalTitle'],
'path': !exists(json, 'Path') ? undefined : json['Path'],
'metadataLanguage': !exists(json, 'MetadataLanguage') ? undefined : json['MetadataLanguage'],
'metadataCountryCode': !exists(json, 'MetadataCountryCode') ? undefined : json['MetadataCountryCode'],
'providerIds': !exists(json, 'ProviderIds') ? undefined : json['ProviderIds'],
'year': !exists(json, 'Year') ? undefined : json['Year'],
'indexNumber': !exists(json, 'IndexNumber') ? undefined : json['IndexNumber'],
'parentIndexNumber': !exists(json, 'ParentIndexNumber') ? undefined : json['ParentIndexNumber'],
'premiereDate': !exists(json, 'PremiereDate') ? undefined : (json['PremiereDate'] === null ? null : new Date(json['PremiereDate'])),
'isAutomated': !exists(json, 'IsAutomated') ? undefined : json['IsAutomated'],
'albumArtists': !exists(json, 'AlbumArtists') ? undefined : json['AlbumArtists'],
'artistProviderIds': !exists(json, 'ArtistProviderIds') ? undefined : json['ArtistProviderIds'],
'songInfos': !exists(json, 'SongInfos') ? undefined : ((json['SongInfos'] as Array<any>).map(SongInfoFromJSON)),
};
}
export function AlbumInfoToJSON(value?: AlbumInfo | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'Name': value.name,
'OriginalTitle': value.originalTitle,
'Path': value.path,
'MetadataLanguage': value.metadataLanguage,
'MetadataCountryCode': value.metadataCountryCode,
'ProviderIds': value.providerIds,
'Year': value.year,
'IndexNumber': value.indexNumber,
'ParentIndexNumber': value.parentIndexNumber,
'PremiereDate': value.premiereDate === undefined ? undefined : (value.premiereDate === null ? null : value.premiereDate.toISOString()),
'IsAutomated': value.isAutomated,
'AlbumArtists': value.albumArtists,
'ArtistProviderIds': value.artistProviderIds,
'SongInfos': value.songInfos === undefined ? undefined : ((value.songInfos as Array<any>).map(SongInfoToJSON)),
};
}

View 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 { exists, mapValues } from '../runtime';
import type { AlbumInfo } from './AlbumInfo';
import {
AlbumInfoFromJSON,
AlbumInfoFromJSONTyped,
AlbumInfoToJSON,
} from './AlbumInfo';
/**
*
* @export
* @interface AlbumInfoRemoteSearchQuery
*/
export interface AlbumInfoRemoteSearchQuery {
/**
*
* @type {AlbumInfo}
* @memberof AlbumInfoRemoteSearchQuery
*/
searchInfo?: AlbumInfo | null;
/**
*
* @type {string}
* @memberof AlbumInfoRemoteSearchQuery
*/
itemId?: string;
/**
* Gets or sets the provider name to search within if set.
* @type {string}
* @memberof AlbumInfoRemoteSearchQuery
*/
searchProviderName?: string | null;
/**
* Gets or sets a value indicating whether disabled providers should be included.
* @type {boolean}
* @memberof AlbumInfoRemoteSearchQuery
*/
includeDisabledProviders?: boolean;
}
/**
* Check if a given object implements the AlbumInfoRemoteSearchQuery interface.
*/
export function instanceOfAlbumInfoRemoteSearchQuery(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function AlbumInfoRemoteSearchQueryFromJSON(json: any): AlbumInfoRemoteSearchQuery {
return AlbumInfoRemoteSearchQueryFromJSONTyped(json, false);
}
export function AlbumInfoRemoteSearchQueryFromJSONTyped(json: any, ignoreDiscriminator: boolean): AlbumInfoRemoteSearchQuery {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'searchInfo': !exists(json, 'SearchInfo') ? undefined : AlbumInfoFromJSON(json['SearchInfo']),
'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'],
'searchProviderName': !exists(json, 'SearchProviderName') ? undefined : json['SearchProviderName'],
'includeDisabledProviders': !exists(json, 'IncludeDisabledProviders') ? undefined : json['IncludeDisabledProviders'],
};
}
export function AlbumInfoRemoteSearchQueryToJSON(value?: AlbumInfoRemoteSearchQuery | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'SearchInfo': AlbumInfoToJSON(value.searchInfo),
'ItemId': value.itemId,
'SearchProviderName': value.searchProviderName,
'IncludeDisabledProviders': value.includeDisabledProviders,
};
}

View File

@ -0,0 +1,88 @@
/* tslint:disable */
/* eslint-disable */
/**
* Jellyfin API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 10.8.9
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
import type { AllThemeMediaResultThemeVideosResult } from './AllThemeMediaResultThemeVideosResult';
import {
AllThemeMediaResultThemeVideosResultFromJSON,
AllThemeMediaResultThemeVideosResultFromJSONTyped,
AllThemeMediaResultThemeVideosResultToJSON,
} from './AllThemeMediaResultThemeVideosResult';
/**
*
* @export
* @interface AllThemeMediaResult
*/
export interface AllThemeMediaResult {
/**
*
* @type {AllThemeMediaResultThemeVideosResult}
* @memberof AllThemeMediaResult
*/
themeVideosResult?: AllThemeMediaResultThemeVideosResult | null;
/**
*
* @type {AllThemeMediaResultThemeVideosResult}
* @memberof AllThemeMediaResult
*/
themeSongsResult?: AllThemeMediaResultThemeVideosResult | null;
/**
*
* @type {AllThemeMediaResultThemeVideosResult}
* @memberof AllThemeMediaResult
*/
soundtrackSongsResult?: AllThemeMediaResultThemeVideosResult | null;
}
/**
* Check if a given object implements the AllThemeMediaResult interface.
*/
export function instanceOfAllThemeMediaResult(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function AllThemeMediaResultFromJSON(json: any): AllThemeMediaResult {
return AllThemeMediaResultFromJSONTyped(json, false);
}
export function AllThemeMediaResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): AllThemeMediaResult {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'themeVideosResult': !exists(json, 'ThemeVideosResult') ? undefined : AllThemeMediaResultThemeVideosResultFromJSON(json['ThemeVideosResult']),
'themeSongsResult': !exists(json, 'ThemeSongsResult') ? undefined : AllThemeMediaResultThemeVideosResultFromJSON(json['ThemeSongsResult']),
'soundtrackSongsResult': !exists(json, 'SoundtrackSongsResult') ? undefined : AllThemeMediaResultThemeVideosResultFromJSON(json['SoundtrackSongsResult']),
};
}
export function AllThemeMediaResultToJSON(value?: AllThemeMediaResult | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'ThemeVideosResult': AllThemeMediaResultThemeVideosResultToJSON(value.themeVideosResult),
'ThemeSongsResult': AllThemeMediaResultThemeVideosResultToJSON(value.themeSongsResult),
'SoundtrackSongsResult': AllThemeMediaResultThemeVideosResultToJSON(value.soundtrackSongsResult),
};
}

View 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 { exists, mapValues } from '../runtime';
import type { BaseItemDto } from './BaseItemDto';
import {
BaseItemDtoFromJSON,
BaseItemDtoFromJSONTyped,
BaseItemDtoToJSON,
} from './BaseItemDto';
/**
* Class ThemeMediaResult.
* @export
* @interface AllThemeMediaResultThemeVideosResult
*/
export interface AllThemeMediaResultThemeVideosResult {
/**
* Gets or sets the items.
* @type {Array<BaseItemDto>}
* @memberof AllThemeMediaResultThemeVideosResult
*/
items?: Array<BaseItemDto> | null;
/**
* Gets or sets the total number of records available.
* @type {number}
* @memberof AllThemeMediaResultThemeVideosResult
*/
totalRecordCount?: number;
/**
* Gets or sets the index of the first record in Items.
* @type {number}
* @memberof AllThemeMediaResultThemeVideosResult
*/
startIndex?: number;
/**
* Gets or sets the owner id.
* @type {string}
* @memberof AllThemeMediaResultThemeVideosResult
*/
ownerId?: string;
}
/**
* Check if a given object implements the AllThemeMediaResultThemeVideosResult interface.
*/
export function instanceOfAllThemeMediaResultThemeVideosResult(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function AllThemeMediaResultThemeVideosResultFromJSON(json: any): AllThemeMediaResultThemeVideosResult {
return AllThemeMediaResultThemeVideosResultFromJSONTyped(json, false);
}
export function AllThemeMediaResultThemeVideosResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): AllThemeMediaResultThemeVideosResult {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'items': !exists(json, 'Items') ? undefined : (json['Items'] === null ? null : (json['Items'] as Array<any>).map(BaseItemDtoFromJSON)),
'totalRecordCount': !exists(json, 'TotalRecordCount') ? undefined : json['TotalRecordCount'],
'startIndex': !exists(json, 'StartIndex') ? undefined : json['StartIndex'],
'ownerId': !exists(json, 'OwnerId') ? undefined : json['OwnerId'],
};
}
export function AllThemeMediaResultThemeVideosResultToJSON(value?: AllThemeMediaResultThemeVideosResult | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'Items': value.items === undefined ? undefined : (value.items === null ? null : (value.items as Array<any>).map(BaseItemDtoToJSON)),
'TotalRecordCount': value.totalRecordCount,
'StartIndex': value.startIndex,
'OwnerId': value.ownerId,
};
}

View 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 { exists, mapValues } from '../runtime';
import type { RemoteSearchResult } from './RemoteSearchResult';
import {
RemoteSearchResultFromJSON,
RemoteSearchResultFromJSONTyped,
RemoteSearchResultToJSON,
} from './RemoteSearchResult';
/**
*
* @export
* @interface ApplySearchCriteriaRequest
*/
export interface ApplySearchCriteriaRequest {
/**
* Gets or sets the name.
* @type {string}
* @memberof ApplySearchCriteriaRequest
*/
name?: string | null;
/**
* Gets or sets the provider ids.
* @type {{ [key: string]: string; }}
* @memberof ApplySearchCriteriaRequest
*/
providerIds?: { [key: string]: string; } | null;
/**
* Gets or sets the year.
* @type {number}
* @memberof ApplySearchCriteriaRequest
*/
productionYear?: number | null;
/**
*
* @type {number}
* @memberof ApplySearchCriteriaRequest
*/
indexNumber?: number | null;
/**
*
* @type {number}
* @memberof ApplySearchCriteriaRequest
*/
indexNumberEnd?: number | null;
/**
*
* @type {number}
* @memberof ApplySearchCriteriaRequest
*/
parentIndexNumber?: number | null;
/**
*
* @type {Date}
* @memberof ApplySearchCriteriaRequest
*/
premiereDate?: Date | null;
/**
*
* @type {string}
* @memberof ApplySearchCriteriaRequest
*/
imageUrl?: string | null;
/**
*
* @type {string}
* @memberof ApplySearchCriteriaRequest
*/
searchProviderName?: string | null;
/**
*
* @type {string}
* @memberof ApplySearchCriteriaRequest
*/
overview?: string | null;
/**
*
* @type {RemoteSearchResult}
* @memberof ApplySearchCriteriaRequest
*/
albumArtist?: RemoteSearchResult | null;
/**
*
* @type {Array<RemoteSearchResult>}
* @memberof ApplySearchCriteriaRequest
*/
artists?: Array<RemoteSearchResult> | null;
}
/**
* Check if a given object implements the ApplySearchCriteriaRequest interface.
*/
export function instanceOfApplySearchCriteriaRequest(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function ApplySearchCriteriaRequestFromJSON(json: any): ApplySearchCriteriaRequest {
return ApplySearchCriteriaRequestFromJSONTyped(json, false);
}
export function ApplySearchCriteriaRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApplySearchCriteriaRequest {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'name': !exists(json, 'Name') ? undefined : json['Name'],
'providerIds': !exists(json, 'ProviderIds') ? undefined : json['ProviderIds'],
'productionYear': !exists(json, 'ProductionYear') ? undefined : json['ProductionYear'],
'indexNumber': !exists(json, 'IndexNumber') ? undefined : json['IndexNumber'],
'indexNumberEnd': !exists(json, 'IndexNumberEnd') ? undefined : json['IndexNumberEnd'],
'parentIndexNumber': !exists(json, 'ParentIndexNumber') ? undefined : json['ParentIndexNumber'],
'premiereDate': !exists(json, 'PremiereDate') ? undefined : (json['PremiereDate'] === null ? null : new Date(json['PremiereDate'])),
'imageUrl': !exists(json, 'ImageUrl') ? undefined : json['ImageUrl'],
'searchProviderName': !exists(json, 'SearchProviderName') ? undefined : json['SearchProviderName'],
'overview': !exists(json, 'Overview') ? undefined : json['Overview'],
'albumArtist': !exists(json, 'AlbumArtist') ? undefined : RemoteSearchResultFromJSON(json['AlbumArtist']),
'artists': !exists(json, 'Artists') ? undefined : (json['Artists'] === null ? null : (json['Artists'] as Array<any>).map(RemoteSearchResultFromJSON)),
};
}
export function ApplySearchCriteriaRequestToJSON(value?: ApplySearchCriteriaRequest | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'Name': value.name,
'ProviderIds': value.providerIds,
'ProductionYear': value.productionYear,
'IndexNumber': value.indexNumber,
'IndexNumberEnd': value.indexNumberEnd,
'ParentIndexNumber': value.parentIndexNumber,
'PremiereDate': value.premiereDate === undefined ? undefined : (value.premiereDate === null ? null : value.premiereDate.toISOString()),
'ImageUrl': value.imageUrl,
'SearchProviderName': value.searchProviderName,
'Overview': value.overview,
'AlbumArtist': RemoteSearchResultToJSON(value.albumArtist),
'Artists': value.artists === undefined ? undefined : (value.artists === null ? null : (value.artists as Array<any>).map(RemoteSearchResultToJSON)),
};
}

View File

@ -0,0 +1,42 @@
/* tslint:disable */
/* eslint-disable */
/**
* Jellyfin API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 10.8.9
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
*
* @export
*/
export const Architecture = {
X86: 'X86',
X64: 'X64',
Arm: 'Arm',
Arm64: 'Arm64',
Wasm: 'Wasm',
S390x: 'S390x'
} as const;
export type Architecture = typeof Architecture[keyof typeof Architecture];
export function ArchitectureFromJSON(json: any): Architecture {
return ArchitectureFromJSONTyped(json, false);
}
export function ArchitectureFromJSONTyped(json: any, ignoreDiscriminator: boolean): Architecture {
return json as Architecture;
}
export function ArchitectureToJSON(value?: Architecture | null): any {
return value as any;
}

View 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 { exists, mapValues } from '../runtime';
import type { SongInfo } from './SongInfo';
import {
SongInfoFromJSON,
SongInfoFromJSONTyped,
SongInfoToJSON,
} from './SongInfo';
/**
*
* @export
* @interface ArtistInfo
*/
export interface ArtistInfo {
/**
* Gets or sets the name.
* @type {string}
* @memberof ArtistInfo
*/
name?: string | null;
/**
* Gets or sets the original title.
* @type {string}
* @memberof ArtistInfo
*/
originalTitle?: string | null;
/**
* Gets or sets the path.
* @type {string}
* @memberof ArtistInfo
*/
path?: string | null;
/**
* Gets or sets the metadata language.
* @type {string}
* @memberof ArtistInfo
*/
metadataLanguage?: string | null;
/**
* Gets or sets the metadata country code.
* @type {string}
* @memberof ArtistInfo
*/
metadataCountryCode?: string | null;
/**
* Gets or sets the provider ids.
* @type {{ [key: string]: string; }}
* @memberof ArtistInfo
*/
providerIds?: { [key: string]: string; } | null;
/**
* Gets or sets the year.
* @type {number}
* @memberof ArtistInfo
*/
year?: number | null;
/**
*
* @type {number}
* @memberof ArtistInfo
*/
indexNumber?: number | null;
/**
*
* @type {number}
* @memberof ArtistInfo
*/
parentIndexNumber?: number | null;
/**
*
* @type {Date}
* @memberof ArtistInfo
*/
premiereDate?: Date | null;
/**
*
* @type {boolean}
* @memberof ArtistInfo
*/
isAutomated?: boolean;
/**
*
* @type {Array<SongInfo>}
* @memberof ArtistInfo
*/
songInfos?: Array<SongInfo>;
}
/**
* Check if a given object implements the ArtistInfo interface.
*/
export function instanceOfArtistInfo(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function ArtistInfoFromJSON(json: any): ArtistInfo {
return ArtistInfoFromJSONTyped(json, false);
}
export function ArtistInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ArtistInfo {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'name': !exists(json, 'Name') ? undefined : json['Name'],
'originalTitle': !exists(json, 'OriginalTitle') ? undefined : json['OriginalTitle'],
'path': !exists(json, 'Path') ? undefined : json['Path'],
'metadataLanguage': !exists(json, 'MetadataLanguage') ? undefined : json['MetadataLanguage'],
'metadataCountryCode': !exists(json, 'MetadataCountryCode') ? undefined : json['MetadataCountryCode'],
'providerIds': !exists(json, 'ProviderIds') ? undefined : json['ProviderIds'],
'year': !exists(json, 'Year') ? undefined : json['Year'],
'indexNumber': !exists(json, 'IndexNumber') ? undefined : json['IndexNumber'],
'parentIndexNumber': !exists(json, 'ParentIndexNumber') ? undefined : json['ParentIndexNumber'],
'premiereDate': !exists(json, 'PremiereDate') ? undefined : (json['PremiereDate'] === null ? null : new Date(json['PremiereDate'])),
'isAutomated': !exists(json, 'IsAutomated') ? undefined : json['IsAutomated'],
'songInfos': !exists(json, 'SongInfos') ? undefined : ((json['SongInfos'] as Array<any>).map(SongInfoFromJSON)),
};
}
export function ArtistInfoToJSON(value?: ArtistInfo | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'Name': value.name,
'OriginalTitle': value.originalTitle,
'Path': value.path,
'MetadataLanguage': value.metadataLanguage,
'MetadataCountryCode': value.metadataCountryCode,
'ProviderIds': value.providerIds,
'Year': value.year,
'IndexNumber': value.indexNumber,
'ParentIndexNumber': value.parentIndexNumber,
'PremiereDate': value.premiereDate === undefined ? undefined : (value.premiereDate === null ? null : value.premiereDate.toISOString()),
'IsAutomated': value.isAutomated,
'SongInfos': value.songInfos === undefined ? undefined : ((value.songInfos as Array<any>).map(SongInfoToJSON)),
};
}

View 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 { exists, mapValues } from '../runtime';
import type { ArtistInfo } from './ArtistInfo';
import {
ArtistInfoFromJSON,
ArtistInfoFromJSONTyped,
ArtistInfoToJSON,
} from './ArtistInfo';
/**
*
* @export
* @interface ArtistInfoRemoteSearchQuery
*/
export interface ArtistInfoRemoteSearchQuery {
/**
*
* @type {ArtistInfo}
* @memberof ArtistInfoRemoteSearchQuery
*/
searchInfo?: ArtistInfo | null;
/**
*
* @type {string}
* @memberof ArtistInfoRemoteSearchQuery
*/
itemId?: string;
/**
* Gets or sets the provider name to search within if set.
* @type {string}
* @memberof ArtistInfoRemoteSearchQuery
*/
searchProviderName?: string | null;
/**
* Gets or sets a value indicating whether disabled providers should be included.
* @type {boolean}
* @memberof ArtistInfoRemoteSearchQuery
*/
includeDisabledProviders?: boolean;
}
/**
* Check if a given object implements the ArtistInfoRemoteSearchQuery interface.
*/
export function instanceOfArtistInfoRemoteSearchQuery(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function ArtistInfoRemoteSearchQueryFromJSON(json: any): ArtistInfoRemoteSearchQuery {
return ArtistInfoRemoteSearchQueryFromJSONTyped(json, false);
}
export function ArtistInfoRemoteSearchQueryFromJSONTyped(json: any, ignoreDiscriminator: boolean): ArtistInfoRemoteSearchQuery {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'searchInfo': !exists(json, 'SearchInfo') ? undefined : ArtistInfoFromJSON(json['SearchInfo']),
'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'],
'searchProviderName': !exists(json, 'SearchProviderName') ? undefined : json['SearchProviderName'],
'includeDisabledProviders': !exists(json, 'IncludeDisabledProviders') ? undefined : json['IncludeDisabledProviders'],
};
}
export function ArtistInfoRemoteSearchQueryToJSON(value?: ArtistInfoRemoteSearchQuery | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'SearchInfo': ArtistInfoToJSON(value.searchInfo),
'ItemId': value.itemId,
'SearchProviderName': value.searchProviderName,
'IncludeDisabledProviders': value.includeDisabledProviders,
};
}

View File

@ -0,0 +1,82 @@
/* tslint:disable */
/* eslint-disable */
/**
* Jellyfin API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 10.8.9
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
/**
* The authenticate user by name request body.
* @export
* @interface AuthenticateUserByName
*/
export interface AuthenticateUserByName {
/**
* Gets or sets the username.
* @type {string}
* @memberof AuthenticateUserByName
*/
username?: string | null;
/**
* Gets or sets the plain text password.
* @type {string}
* @memberof AuthenticateUserByName
*/
pw?: string | null;
/**
* Gets or sets the sha1-hashed password.
* @type {string}
* @memberof AuthenticateUserByName
* @deprecated
*/
password?: string | null;
}
/**
* Check if a given object implements the AuthenticateUserByName interface.
*/
export function instanceOfAuthenticateUserByName(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function AuthenticateUserByNameFromJSON(json: any): AuthenticateUserByName {
return AuthenticateUserByNameFromJSONTyped(json, false);
}
export function AuthenticateUserByNameFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthenticateUserByName {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'username': !exists(json, 'Username') ? undefined : json['Username'],
'pw': !exists(json, 'Pw') ? undefined : json['Pw'],
'password': !exists(json, 'Password') ? undefined : json['Password'],
};
}
export function AuthenticateUserByNameToJSON(value?: AuthenticateUserByName | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'Username': value.username,
'Pw': value.pw,
'Password': value.password,
};
}

View File

@ -0,0 +1,82 @@
/* tslint:disable */
/* eslint-disable */
/**
* Jellyfin API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 10.8.9
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
/**
* The authenticate user by name request body.
* @export
* @interface AuthenticateUserByNameRequest
*/
export interface AuthenticateUserByNameRequest {
/**
* Gets or sets the username.
* @type {string}
* @memberof AuthenticateUserByNameRequest
*/
username?: string | null;
/**
* Gets or sets the plain text password.
* @type {string}
* @memberof AuthenticateUserByNameRequest
*/
pw?: string | null;
/**
* Gets or sets the sha1-hashed password.
* @type {string}
* @memberof AuthenticateUserByNameRequest
* @deprecated
*/
password?: string | null;
}
/**
* Check if a given object implements the AuthenticateUserByNameRequest interface.
*/
export function instanceOfAuthenticateUserByNameRequest(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function AuthenticateUserByNameRequestFromJSON(json: any): AuthenticateUserByNameRequest {
return AuthenticateUserByNameRequestFromJSONTyped(json, false);
}
export function AuthenticateUserByNameRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthenticateUserByNameRequest {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'username': !exists(json, 'Username') ? undefined : json['Username'],
'pw': !exists(json, 'Pw') ? undefined : json['Pw'],
'password': !exists(json, 'Password') ? undefined : json['Password'],
};
}
export function AuthenticateUserByNameRequestToJSON(value?: AuthenticateUserByNameRequest | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'Username': value.username,
'Pw': value.pw,
'Password': value.password,
};
}

View File

@ -0,0 +1,66 @@
/* tslint:disable */
/* eslint-disable */
/**
* Jellyfin API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 10.8.9
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
/**
* The quick connect request body.
* @export
* @interface AuthenticateWithQuickConnectRequest
*/
export interface AuthenticateWithQuickConnectRequest {
/**
* Gets or sets the quick connect secret.
* @type {string}
* @memberof AuthenticateWithQuickConnectRequest
*/
secret: string;
}
/**
* Check if a given object implements the AuthenticateWithQuickConnectRequest interface.
*/
export function instanceOfAuthenticateWithQuickConnectRequest(value: object): boolean {
let isInstance = true;
isInstance = isInstance && "secret" in value;
return isInstance;
}
export function AuthenticateWithQuickConnectRequestFromJSON(json: any): AuthenticateWithQuickConnectRequest {
return AuthenticateWithQuickConnectRequestFromJSONTyped(json, false);
}
export function AuthenticateWithQuickConnectRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthenticateWithQuickConnectRequest {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'secret': json['Secret'],
};
}
export function AuthenticateWithQuickConnectRequestToJSON(value?: AuthenticateWithQuickConnectRequest | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'Secret': value.secret,
};
}

View File

@ -0,0 +1,153 @@
/* tslint:disable */
/* eslint-disable */
/**
* Jellyfin API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 10.8.9
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
/**
*
* @export
* @interface AuthenticationInfo
*/
export interface AuthenticationInfo {
/**
* Gets or sets the identifier.
* @type {number}
* @memberof AuthenticationInfo
*/
id?: number;
/**
* Gets or sets the access token.
* @type {string}
* @memberof AuthenticationInfo
*/
accessToken?: string | null;
/**
* Gets or sets the device identifier.
* @type {string}
* @memberof AuthenticationInfo
*/
deviceId?: string | null;
/**
* Gets or sets the name of the application.
* @type {string}
* @memberof AuthenticationInfo
*/
appName?: string | null;
/**
* Gets or sets the application version.
* @type {string}
* @memberof AuthenticationInfo
*/
appVersion?: string | null;
/**
* Gets or sets the name of the device.
* @type {string}
* @memberof AuthenticationInfo
*/
deviceName?: string | null;
/**
* Gets or sets the user identifier.
* @type {string}
* @memberof AuthenticationInfo
*/
userId?: string;
/**
* Gets or sets a value indicating whether this instance is active.
* @type {boolean}
* @memberof AuthenticationInfo
*/
isActive?: boolean;
/**
* Gets or sets the date created.
* @type {Date}
* @memberof AuthenticationInfo
*/
dateCreated?: Date;
/**
* Gets or sets the date revoked.
* @type {Date}
* @memberof AuthenticationInfo
*/
dateRevoked?: Date | null;
/**
*
* @type {Date}
* @memberof AuthenticationInfo
*/
dateLastActivity?: Date;
/**
*
* @type {string}
* @memberof AuthenticationInfo
*/
userName?: string | null;
}
/**
* Check if a given object implements the AuthenticationInfo interface.
*/
export function instanceOfAuthenticationInfo(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function AuthenticationInfoFromJSON(json: any): AuthenticationInfo {
return AuthenticationInfoFromJSONTyped(json, false);
}
export function AuthenticationInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthenticationInfo {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'id': !exists(json, 'Id') ? undefined : json['Id'],
'accessToken': !exists(json, 'AccessToken') ? undefined : json['AccessToken'],
'deviceId': !exists(json, 'DeviceId') ? undefined : json['DeviceId'],
'appName': !exists(json, 'AppName') ? undefined : json['AppName'],
'appVersion': !exists(json, 'AppVersion') ? undefined : json['AppVersion'],
'deviceName': !exists(json, 'DeviceName') ? undefined : json['DeviceName'],
'userId': !exists(json, 'UserId') ? undefined : json['UserId'],
'isActive': !exists(json, 'IsActive') ? undefined : json['IsActive'],
'dateCreated': !exists(json, 'DateCreated') ? undefined : (new Date(json['DateCreated'])),
'dateRevoked': !exists(json, 'DateRevoked') ? undefined : (json['DateRevoked'] === null ? null : new Date(json['DateRevoked'])),
'dateLastActivity': !exists(json, 'DateLastActivity') ? undefined : (new Date(json['DateLastActivity'])),
'userName': !exists(json, 'UserName') ? undefined : json['UserName'],
};
}
export function AuthenticationInfoToJSON(value?: AuthenticationInfo | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'Id': value.id,
'AccessToken': value.accessToken,
'DeviceId': value.deviceId,
'AppName': value.appName,
'AppVersion': value.appVersion,
'DeviceName': value.deviceName,
'UserId': value.userId,
'IsActive': value.isActive,
'DateCreated': value.dateCreated === undefined ? undefined : (value.dateCreated.toISOString()),
'DateRevoked': value.dateRevoked === undefined ? undefined : (value.dateRevoked === null ? null : value.dateRevoked.toISOString()),
'DateLastActivity': value.dateLastActivity === undefined ? undefined : (value.dateLastActivity.toISOString()),
'UserName': value.userName,
};
}

View File

@ -0,0 +1,88 @@
/* tslint:disable */
/* eslint-disable */
/**
* Jellyfin API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 10.8.9
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
import type { AuthenticationInfo } from './AuthenticationInfo';
import {
AuthenticationInfoFromJSON,
AuthenticationInfoFromJSONTyped,
AuthenticationInfoToJSON,
} from './AuthenticationInfo';
/**
*
* @export
* @interface AuthenticationInfoQueryResult
*/
export interface AuthenticationInfoQueryResult {
/**
* Gets or sets the items.
* @type {Array<AuthenticationInfo>}
* @memberof AuthenticationInfoQueryResult
*/
items?: Array<AuthenticationInfo> | null;
/**
* Gets or sets the total number of records available.
* @type {number}
* @memberof AuthenticationInfoQueryResult
*/
totalRecordCount?: number;
/**
* Gets or sets the index of the first record in Items.
* @type {number}
* @memberof AuthenticationInfoQueryResult
*/
startIndex?: number;
}
/**
* Check if a given object implements the AuthenticationInfoQueryResult interface.
*/
export function instanceOfAuthenticationInfoQueryResult(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function AuthenticationInfoQueryResultFromJSON(json: any): AuthenticationInfoQueryResult {
return AuthenticationInfoQueryResultFromJSONTyped(json, false);
}
export function AuthenticationInfoQueryResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthenticationInfoQueryResult {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'items': !exists(json, 'Items') ? undefined : (json['Items'] === null ? null : (json['Items'] as Array<any>).map(AuthenticationInfoFromJSON)),
'totalRecordCount': !exists(json, 'TotalRecordCount') ? undefined : json['TotalRecordCount'],
'startIndex': !exists(json, 'StartIndex') ? undefined : json['StartIndex'],
};
}
export function AuthenticationInfoQueryResultToJSON(value?: AuthenticationInfoQueryResult | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'Items': value.items === undefined ? undefined : (value.items === null ? null : (value.items as Array<any>).map(AuthenticationInfoToJSON)),
'TotalRecordCount': value.totalRecordCount,
'StartIndex': value.startIndex,
};
}

View File

@ -0,0 +1,102 @@
/* tslint:disable */
/* eslint-disable */
/**
* Jellyfin API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 10.8.9
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
import type { AuthenticationResultSessionInfo } from './AuthenticationResultSessionInfo';
import {
AuthenticationResultSessionInfoFromJSON,
AuthenticationResultSessionInfoFromJSONTyped,
AuthenticationResultSessionInfoToJSON,
} from './AuthenticationResultSessionInfo';
import type { AuthenticationResultUser } from './AuthenticationResultUser';
import {
AuthenticationResultUserFromJSON,
AuthenticationResultUserFromJSONTyped,
AuthenticationResultUserToJSON,
} from './AuthenticationResultUser';
/**
*
* @export
* @interface AuthenticationResult
*/
export interface AuthenticationResult {
/**
*
* @type {AuthenticationResultUser}
* @memberof AuthenticationResult
*/
user?: AuthenticationResultUser | null;
/**
*
* @type {AuthenticationResultSessionInfo}
* @memberof AuthenticationResult
*/
sessionInfo?: AuthenticationResultSessionInfo | null;
/**
*
* @type {string}
* @memberof AuthenticationResult
*/
accessToken?: string | null;
/**
*
* @type {string}
* @memberof AuthenticationResult
*/
serverId?: string | null;
}
/**
* Check if a given object implements the AuthenticationResult interface.
*/
export function instanceOfAuthenticationResult(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function AuthenticationResultFromJSON(json: any): AuthenticationResult {
return AuthenticationResultFromJSONTyped(json, false);
}
export function AuthenticationResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthenticationResult {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'user': !exists(json, 'User') ? undefined : AuthenticationResultUserFromJSON(json['User']),
'sessionInfo': !exists(json, 'SessionInfo') ? undefined : AuthenticationResultSessionInfoFromJSON(json['SessionInfo']),
'accessToken': !exists(json, 'AccessToken') ? undefined : json['AccessToken'],
'serverId': !exists(json, 'ServerId') ? undefined : json['ServerId'],
};
}
export function AuthenticationResultToJSON(value?: AuthenticationResult | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'User': AuthenticationResultUserToJSON(value.user),
'SessionInfo': AuthenticationResultSessionInfoToJSON(value.sessionInfo),
'AccessToken': value.accessToken,
'ServerId': value.serverId,
};
}

View File

@ -0,0 +1,339 @@
/* tslint:disable */
/* eslint-disable */
/**
* Jellyfin API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 10.8.9
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
import type { BaseItemDto } from './BaseItemDto';
import {
BaseItemDtoFromJSON,
BaseItemDtoFromJSONTyped,
BaseItemDtoToJSON,
} from './BaseItemDto';
import type { ClientCapabilities } from './ClientCapabilities';
import {
ClientCapabilitiesFromJSON,
ClientCapabilitiesFromJSONTyped,
ClientCapabilitiesToJSON,
} from './ClientCapabilities';
import type { GeneralCommandType } from './GeneralCommandType';
import {
GeneralCommandTypeFromJSON,
GeneralCommandTypeFromJSONTyped,
GeneralCommandTypeToJSON,
} from './GeneralCommandType';
import type { PlayerStateInfo } from './PlayerStateInfo';
import {
PlayerStateInfoFromJSON,
PlayerStateInfoFromJSONTyped,
PlayerStateInfoToJSON,
} from './PlayerStateInfo';
import type { QueueItem } from './QueueItem';
import {
QueueItemFromJSON,
QueueItemFromJSONTyped,
QueueItemToJSON,
} from './QueueItem';
import type { SessionInfoFullNowPlayingItem } from './SessionInfoFullNowPlayingItem';
import {
SessionInfoFullNowPlayingItemFromJSON,
SessionInfoFullNowPlayingItemFromJSONTyped,
SessionInfoFullNowPlayingItemToJSON,
} from './SessionInfoFullNowPlayingItem';
import type { SessionInfoNowPlayingItem } from './SessionInfoNowPlayingItem';
import {
SessionInfoNowPlayingItemFromJSON,
SessionInfoNowPlayingItemFromJSONTyped,
SessionInfoNowPlayingItemToJSON,
} from './SessionInfoNowPlayingItem';
import type { SessionUserInfo } from './SessionUserInfo';
import {
SessionUserInfoFromJSON,
SessionUserInfoFromJSONTyped,
SessionUserInfoToJSON,
} from './SessionUserInfo';
import type { TranscodingInfo } from './TranscodingInfo';
import {
TranscodingInfoFromJSON,
TranscodingInfoFromJSONTyped,
TranscodingInfoToJSON,
} from './TranscodingInfo';
/**
* Class SessionInfo.
* @export
* @interface AuthenticationResultSessionInfo
*/
export interface AuthenticationResultSessionInfo {
/**
*
* @type {PlayerStateInfo}
* @memberof AuthenticationResultSessionInfo
*/
playState?: PlayerStateInfo | null;
/**
*
* @type {Array<SessionUserInfo>}
* @memberof AuthenticationResultSessionInfo
*/
additionalUsers?: Array<SessionUserInfo> | null;
/**
*
* @type {ClientCapabilities}
* @memberof AuthenticationResultSessionInfo
*/
capabilities?: ClientCapabilities | null;
/**
* Gets or sets the remote end point.
* @type {string}
* @memberof AuthenticationResultSessionInfo
*/
remoteEndPoint?: string | null;
/**
* Gets the playable media types.
* @type {Array<string>}
* @memberof AuthenticationResultSessionInfo
*/
readonly playableMediaTypes?: Array<string> | null;
/**
* Gets or sets the id.
* @type {string}
* @memberof AuthenticationResultSessionInfo
*/
id?: string | null;
/**
* Gets or sets the user id.
* @type {string}
* @memberof AuthenticationResultSessionInfo
*/
userId?: string;
/**
* Gets or sets the username.
* @type {string}
* @memberof AuthenticationResultSessionInfo
*/
userName?: string | null;
/**
* Gets or sets the type of the client.
* @type {string}
* @memberof AuthenticationResultSessionInfo
*/
client?: string | null;
/**
* Gets or sets the last activity date.
* @type {Date}
* @memberof AuthenticationResultSessionInfo
*/
lastActivityDate?: Date;
/**
* Gets or sets the last playback check in.
* @type {Date}
* @memberof AuthenticationResultSessionInfo
*/
lastPlaybackCheckIn?: Date;
/**
* Gets or sets the name of the device.
* @type {string}
* @memberof AuthenticationResultSessionInfo
*/
deviceName?: string | null;
/**
* Gets or sets the type of the device.
* @type {string}
* @memberof AuthenticationResultSessionInfo
*/
deviceType?: string | null;
/**
*
* @type {SessionInfoNowPlayingItem}
* @memberof AuthenticationResultSessionInfo
*/
nowPlayingItem?: SessionInfoNowPlayingItem | null;
/**
*
* @type {SessionInfoFullNowPlayingItem}
* @memberof AuthenticationResultSessionInfo
*/
fullNowPlayingItem?: SessionInfoFullNowPlayingItem | null;
/**
*
* @type {SessionInfoNowPlayingItem}
* @memberof AuthenticationResultSessionInfo
*/
nowViewingItem?: SessionInfoNowPlayingItem | null;
/**
* Gets or sets the device id.
* @type {string}
* @memberof AuthenticationResultSessionInfo
*/
deviceId?: string | null;
/**
* Gets or sets the application version.
* @type {string}
* @memberof AuthenticationResultSessionInfo
*/
applicationVersion?: string | null;
/**
*
* @type {TranscodingInfo}
* @memberof AuthenticationResultSessionInfo
*/
transcodingInfo?: TranscodingInfo | null;
/**
* Gets a value indicating whether this instance is active.
* @type {boolean}
* @memberof AuthenticationResultSessionInfo
*/
readonly isActive?: boolean;
/**
*
* @type {boolean}
* @memberof AuthenticationResultSessionInfo
*/
readonly supportsMediaControl?: boolean;
/**
*
* @type {boolean}
* @memberof AuthenticationResultSessionInfo
*/
readonly supportsRemoteControl?: boolean;
/**
*
* @type {Array<QueueItem>}
* @memberof AuthenticationResultSessionInfo
*/
nowPlayingQueue?: Array<QueueItem> | null;
/**
*
* @type {Array<BaseItemDto>}
* @memberof AuthenticationResultSessionInfo
*/
nowPlayingQueueFullItems?: Array<BaseItemDto> | null;
/**
*
* @type {boolean}
* @memberof AuthenticationResultSessionInfo
*/
hasCustomDeviceName?: boolean;
/**
*
* @type {string}
* @memberof AuthenticationResultSessionInfo
*/
playlistItemId?: string | null;
/**
*
* @type {string}
* @memberof AuthenticationResultSessionInfo
*/
serverId?: string | null;
/**
*
* @type {string}
* @memberof AuthenticationResultSessionInfo
*/
userPrimaryImageTag?: string | null;
/**
* Gets the supported commands.
* @type {Array<GeneralCommandType>}
* @memberof AuthenticationResultSessionInfo
*/
readonly supportedCommands?: Array<GeneralCommandType> | null;
}
/**
* Check if a given object implements the AuthenticationResultSessionInfo interface.
*/
export function instanceOfAuthenticationResultSessionInfo(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function AuthenticationResultSessionInfoFromJSON(json: any): AuthenticationResultSessionInfo {
return AuthenticationResultSessionInfoFromJSONTyped(json, false);
}
export function AuthenticationResultSessionInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthenticationResultSessionInfo {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'playState': !exists(json, 'PlayState') ? undefined : PlayerStateInfoFromJSON(json['PlayState']),
'additionalUsers': !exists(json, 'AdditionalUsers') ? undefined : (json['AdditionalUsers'] === null ? null : (json['AdditionalUsers'] as Array<any>).map(SessionUserInfoFromJSON)),
'capabilities': !exists(json, 'Capabilities') ? undefined : ClientCapabilitiesFromJSON(json['Capabilities']),
'remoteEndPoint': !exists(json, 'RemoteEndPoint') ? undefined : json['RemoteEndPoint'],
'playableMediaTypes': !exists(json, 'PlayableMediaTypes') ? undefined : json['PlayableMediaTypes'],
'id': !exists(json, 'Id') ? undefined : json['Id'],
'userId': !exists(json, 'UserId') ? undefined : json['UserId'],
'userName': !exists(json, 'UserName') ? undefined : json['UserName'],
'client': !exists(json, 'Client') ? undefined : json['Client'],
'lastActivityDate': !exists(json, 'LastActivityDate') ? undefined : (new Date(json['LastActivityDate'])),
'lastPlaybackCheckIn': !exists(json, 'LastPlaybackCheckIn') ? undefined : (new Date(json['LastPlaybackCheckIn'])),
'deviceName': !exists(json, 'DeviceName') ? undefined : json['DeviceName'],
'deviceType': !exists(json, 'DeviceType') ? undefined : json['DeviceType'],
'nowPlayingItem': !exists(json, 'NowPlayingItem') ? undefined : SessionInfoNowPlayingItemFromJSON(json['NowPlayingItem']),
'fullNowPlayingItem': !exists(json, 'FullNowPlayingItem') ? undefined : SessionInfoFullNowPlayingItemFromJSON(json['FullNowPlayingItem']),
'nowViewingItem': !exists(json, 'NowViewingItem') ? undefined : SessionInfoNowPlayingItemFromJSON(json['NowViewingItem']),
'deviceId': !exists(json, 'DeviceId') ? undefined : json['DeviceId'],
'applicationVersion': !exists(json, 'ApplicationVersion') ? undefined : json['ApplicationVersion'],
'transcodingInfo': !exists(json, 'TranscodingInfo') ? undefined : TranscodingInfoFromJSON(json['TranscodingInfo']),
'isActive': !exists(json, 'IsActive') ? undefined : json['IsActive'],
'supportsMediaControl': !exists(json, 'SupportsMediaControl') ? undefined : json['SupportsMediaControl'],
'supportsRemoteControl': !exists(json, 'SupportsRemoteControl') ? undefined : json['SupportsRemoteControl'],
'nowPlayingQueue': !exists(json, 'NowPlayingQueue') ? undefined : (json['NowPlayingQueue'] === null ? null : (json['NowPlayingQueue'] as Array<any>).map(QueueItemFromJSON)),
'nowPlayingQueueFullItems': !exists(json, 'NowPlayingQueueFullItems') ? undefined : (json['NowPlayingQueueFullItems'] === null ? null : (json['NowPlayingQueueFullItems'] as Array<any>).map(BaseItemDtoFromJSON)),
'hasCustomDeviceName': !exists(json, 'HasCustomDeviceName') ? undefined : json['HasCustomDeviceName'],
'playlistItemId': !exists(json, 'PlaylistItemId') ? undefined : json['PlaylistItemId'],
'serverId': !exists(json, 'ServerId') ? undefined : json['ServerId'],
'userPrimaryImageTag': !exists(json, 'UserPrimaryImageTag') ? undefined : json['UserPrimaryImageTag'],
'supportedCommands': !exists(json, 'SupportedCommands') ? undefined : (json['SupportedCommands'] === null ? null : (json['SupportedCommands'] as Array<any>).map(GeneralCommandTypeFromJSON)),
};
}
export function AuthenticationResultSessionInfoToJSON(value?: AuthenticationResultSessionInfo | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'PlayState': PlayerStateInfoToJSON(value.playState),
'AdditionalUsers': value.additionalUsers === undefined ? undefined : (value.additionalUsers === null ? null : (value.additionalUsers as Array<any>).map(SessionUserInfoToJSON)),
'Capabilities': ClientCapabilitiesToJSON(value.capabilities),
'RemoteEndPoint': value.remoteEndPoint,
'Id': value.id,
'UserId': value.userId,
'UserName': value.userName,
'Client': value.client,
'LastActivityDate': value.lastActivityDate === undefined ? undefined : (value.lastActivityDate.toISOString()),
'LastPlaybackCheckIn': value.lastPlaybackCheckIn === undefined ? undefined : (value.lastPlaybackCheckIn.toISOString()),
'DeviceName': value.deviceName,
'DeviceType': value.deviceType,
'NowPlayingItem': SessionInfoNowPlayingItemToJSON(value.nowPlayingItem),
'FullNowPlayingItem': SessionInfoFullNowPlayingItemToJSON(value.fullNowPlayingItem),
'NowViewingItem': SessionInfoNowPlayingItemToJSON(value.nowViewingItem),
'DeviceId': value.deviceId,
'ApplicationVersion': value.applicationVersion,
'TranscodingInfo': TranscodingInfoToJSON(value.transcodingInfo),
'NowPlayingQueue': value.nowPlayingQueue === undefined ? undefined : (value.nowPlayingQueue === null ? null : (value.nowPlayingQueue as Array<any>).map(QueueItemToJSON)),
'NowPlayingQueueFullItems': value.nowPlayingQueueFullItems === undefined ? undefined : (value.nowPlayingQueueFullItems === null ? null : (value.nowPlayingQueueFullItems as Array<any>).map(BaseItemDtoToJSON)),
'HasCustomDeviceName': value.hasCustomDeviceName,
'PlaylistItemId': value.playlistItemId,
'ServerId': value.serverId,
'UserPrimaryImageTag': value.userPrimaryImageTag,
};
}

View File

@ -0,0 +1,183 @@
/* tslint:disable */
/* eslint-disable */
/**
* Jellyfin API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 10.8.9
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
import type { UserDtoConfiguration } from './UserDtoConfiguration';
import {
UserDtoConfigurationFromJSON,
UserDtoConfigurationFromJSONTyped,
UserDtoConfigurationToJSON,
} from './UserDtoConfiguration';
import type { UserDtoPolicy } from './UserDtoPolicy';
import {
UserDtoPolicyFromJSON,
UserDtoPolicyFromJSONTyped,
UserDtoPolicyToJSON,
} from './UserDtoPolicy';
/**
* Class UserDto.
* @export
* @interface AuthenticationResultUser
*/
export interface AuthenticationResultUser {
/**
* Gets or sets the name.
* @type {string}
* @memberof AuthenticationResultUser
*/
name?: string | null;
/**
* Gets or sets the server identifier.
* @type {string}
* @memberof AuthenticationResultUser
*/
serverId?: string | null;
/**
* Gets or sets the name of the server.
* This is not used by the server and is for client-side usage only.
* @type {string}
* @memberof AuthenticationResultUser
*/
serverName?: string | null;
/**
* Gets or sets the id.
* @type {string}
* @memberof AuthenticationResultUser
*/
id?: string;
/**
* Gets or sets the primary image tag.
* @type {string}
* @memberof AuthenticationResultUser
*/
primaryImageTag?: string | null;
/**
* Gets or sets a value indicating whether this instance has password.
* @type {boolean}
* @memberof AuthenticationResultUser
*/
hasPassword?: boolean;
/**
* Gets or sets a value indicating whether this instance has configured password.
* @type {boolean}
* @memberof AuthenticationResultUser
*/
hasConfiguredPassword?: boolean;
/**
* Gets or sets a value indicating whether this instance has configured easy password.
* @type {boolean}
* @memberof AuthenticationResultUser
*/
hasConfiguredEasyPassword?: boolean;
/**
* Gets or sets whether async login is enabled or not.
* @type {boolean}
* @memberof AuthenticationResultUser
*/
enableAutoLogin?: boolean | null;
/**
* Gets or sets the last login date.
* @type {Date}
* @memberof AuthenticationResultUser
*/
lastLoginDate?: Date | null;
/**
* Gets or sets the last activity date.
* @type {Date}
* @memberof AuthenticationResultUser
*/
lastActivityDate?: Date | null;
/**
*
* @type {UserDtoConfiguration}
* @memberof AuthenticationResultUser
*/
_configuration?: UserDtoConfiguration | null;
/**
*
* @type {UserDtoPolicy}
* @memberof AuthenticationResultUser
*/
policy?: UserDtoPolicy | null;
/**
* Gets or sets the primary image aspect ratio.
* @type {number}
* @memberof AuthenticationResultUser
*/
primaryImageAspectRatio?: number | null;
}
/**
* Check if a given object implements the AuthenticationResultUser interface.
*/
export function instanceOfAuthenticationResultUser(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function AuthenticationResultUserFromJSON(json: any): AuthenticationResultUser {
return AuthenticationResultUserFromJSONTyped(json, false);
}
export function AuthenticationResultUserFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthenticationResultUser {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'name': !exists(json, 'Name') ? undefined : json['Name'],
'serverId': !exists(json, 'ServerId') ? undefined : json['ServerId'],
'serverName': !exists(json, 'ServerName') ? undefined : json['ServerName'],
'id': !exists(json, 'Id') ? undefined : json['Id'],
'primaryImageTag': !exists(json, 'PrimaryImageTag') ? undefined : json['PrimaryImageTag'],
'hasPassword': !exists(json, 'HasPassword') ? undefined : json['HasPassword'],
'hasConfiguredPassword': !exists(json, 'HasConfiguredPassword') ? undefined : json['HasConfiguredPassword'],
'hasConfiguredEasyPassword': !exists(json, 'HasConfiguredEasyPassword') ? undefined : json['HasConfiguredEasyPassword'],
'enableAutoLogin': !exists(json, 'EnableAutoLogin') ? undefined : json['EnableAutoLogin'],
'lastLoginDate': !exists(json, 'LastLoginDate') ? undefined : (json['LastLoginDate'] === null ? null : new Date(json['LastLoginDate'])),
'lastActivityDate': !exists(json, 'LastActivityDate') ? undefined : (json['LastActivityDate'] === null ? null : new Date(json['LastActivityDate'])),
'_configuration': !exists(json, 'Configuration') ? undefined : UserDtoConfigurationFromJSON(json['Configuration']),
'policy': !exists(json, 'Policy') ? undefined : UserDtoPolicyFromJSON(json['Policy']),
'primaryImageAspectRatio': !exists(json, 'PrimaryImageAspectRatio') ? undefined : json['PrimaryImageAspectRatio'],
};
}
export function AuthenticationResultUserToJSON(value?: AuthenticationResultUser | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'Name': value.name,
'ServerId': value.serverId,
'ServerName': value.serverName,
'Id': value.id,
'PrimaryImageTag': value.primaryImageTag,
'HasPassword': value.hasPassword,
'HasConfiguredPassword': value.hasConfiguredPassword,
'HasConfiguredEasyPassword': value.hasConfiguredEasyPassword,
'EnableAutoLogin': value.enableAutoLogin,
'LastLoginDate': value.lastLoginDate === undefined ? undefined : (value.lastLoginDate === null ? null : value.lastLoginDate.toISOString()),
'LastActivityDate': value.lastActivityDate === undefined ? undefined : (value.lastActivityDate === null ? null : value.lastActivityDate.toISOString()),
'Configuration': UserDtoConfigurationToJSON(value._configuration),
'Policy': UserDtoPolicyToJSON(value.policy),
'PrimaryImageAspectRatio': value.primaryImageAspectRatio,
};
}

View File

@ -0,0 +1,150 @@
/* tslint:disable */
/* eslint-disable */
/**
* Jellyfin API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 10.8.9
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
import type { MediaUrl } from './MediaUrl';
import {
MediaUrlFromJSON,
MediaUrlFromJSONTyped,
MediaUrlToJSON,
} from './MediaUrl';
/**
* Class BaseItem.
* @export
* @interface BaseItem
*/
export interface BaseItem {
/**
*
* @type {number}
* @memberof BaseItem
*/
size?: number | null;
/**
*
* @type {string}
* @memberof BaseItem
*/
container?: string | null;
/**
*
* @type {boolean}
* @memberof BaseItem
*/
readonly isHD?: boolean;
/**
*
* @type {boolean}
* @memberof BaseItem
*/
isShortcut?: boolean;
/**
*
* @type {string}
* @memberof BaseItem
*/
shortcutPath?: string | null;
/**
*
* @type {number}
* @memberof BaseItem
*/
width?: number;
/**
*
* @type {number}
* @memberof BaseItem
*/
height?: number;
/**
*
* @type {Array<string>}
* @memberof BaseItem
*/
extraIds?: Array<string> | null;
/**
*
* @type {Date}
* @memberof BaseItem
*/
dateLastSaved?: Date;
/**
* Gets or sets the remote trailers.
* @type {Array<MediaUrl>}
* @memberof BaseItem
*/
remoteTrailers?: Array<MediaUrl> | null;
/**
*
* @type {boolean}
* @memberof BaseItem
*/
readonly supportsExternalTransfer?: boolean;
}
/**
* Check if a given object implements the BaseItem interface.
*/
export function instanceOfBaseItem(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function BaseItemFromJSON(json: any): BaseItem {
return BaseItemFromJSONTyped(json, false);
}
export function BaseItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): BaseItem {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'size': !exists(json, 'Size') ? undefined : json['Size'],
'container': !exists(json, 'Container') ? undefined : json['Container'],
'isHD': !exists(json, 'IsHD') ? undefined : json['IsHD'],
'isShortcut': !exists(json, 'IsShortcut') ? undefined : json['IsShortcut'],
'shortcutPath': !exists(json, 'ShortcutPath') ? undefined : json['ShortcutPath'],
'width': !exists(json, 'Width') ? undefined : json['Width'],
'height': !exists(json, 'Height') ? undefined : json['Height'],
'extraIds': !exists(json, 'ExtraIds') ? undefined : json['ExtraIds'],
'dateLastSaved': !exists(json, 'DateLastSaved') ? undefined : (new Date(json['DateLastSaved'])),
'remoteTrailers': !exists(json, 'RemoteTrailers') ? undefined : (json['RemoteTrailers'] === null ? null : (json['RemoteTrailers'] as Array<any>).map(MediaUrlFromJSON)),
'supportsExternalTransfer': !exists(json, 'SupportsExternalTransfer') ? undefined : json['SupportsExternalTransfer'],
};
}
export function BaseItemToJSON(value?: BaseItem | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'Size': value.size,
'Container': value.container,
'IsShortcut': value.isShortcut,
'ShortcutPath': value.shortcutPath,
'Width': value.width,
'Height': value.height,
'ExtraIds': value.extraIds,
'DateLastSaved': value.dateLastSaved === undefined ? undefined : (value.dateLastSaved.toISOString()),
'RemoteTrailers': value.remoteTrailers === undefined ? undefined : (value.remoteTrailers === null ? null : (value.remoteTrailers as Array<any>).map(MediaUrlToJSON)),
};
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,162 @@
/* tslint:disable */
/* eslint-disable */
/**
* Jellyfin API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 10.8.9
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
/**
* Gets or sets the blurhashes for the image tags.
* Maps image type to dictionary mapping image tag to blurhash value.
* @export
* @interface BaseItemDtoImageBlurHashes
*/
export interface BaseItemDtoImageBlurHashes {
/**
*
* @type {{ [key: string]: string; }}
* @memberof BaseItemDtoImageBlurHashes
*/
primary?: { [key: string]: string; };
/**
*
* @type {{ [key: string]: string; }}
* @memberof BaseItemDtoImageBlurHashes
*/
art?: { [key: string]: string; };
/**
*
* @type {{ [key: string]: string; }}
* @memberof BaseItemDtoImageBlurHashes
*/
backdrop?: { [key: string]: string; };
/**
*
* @type {{ [key: string]: string; }}
* @memberof BaseItemDtoImageBlurHashes
*/
banner?: { [key: string]: string; };
/**
*
* @type {{ [key: string]: string; }}
* @memberof BaseItemDtoImageBlurHashes
*/
logo?: { [key: string]: string; };
/**
*
* @type {{ [key: string]: string; }}
* @memberof BaseItemDtoImageBlurHashes
*/
thumb?: { [key: string]: string; };
/**
*
* @type {{ [key: string]: string; }}
* @memberof BaseItemDtoImageBlurHashes
*/
disc?: { [key: string]: string; };
/**
*
* @type {{ [key: string]: string; }}
* @memberof BaseItemDtoImageBlurHashes
*/
box?: { [key: string]: string; };
/**
*
* @type {{ [key: string]: string; }}
* @memberof BaseItemDtoImageBlurHashes
*/
screenshot?: { [key: string]: string; };
/**
*
* @type {{ [key: string]: string; }}
* @memberof BaseItemDtoImageBlurHashes
*/
menu?: { [key: string]: string; };
/**
*
* @type {{ [key: string]: string; }}
* @memberof BaseItemDtoImageBlurHashes
*/
chapter?: { [key: string]: string; };
/**
*
* @type {{ [key: string]: string; }}
* @memberof BaseItemDtoImageBlurHashes
*/
boxRear?: { [key: string]: string; };
/**
*
* @type {{ [key: string]: string; }}
* @memberof BaseItemDtoImageBlurHashes
*/
profile?: { [key: string]: string; };
}
/**
* Check if a given object implements the BaseItemDtoImageBlurHashes interface.
*/
export function instanceOfBaseItemDtoImageBlurHashes(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function BaseItemDtoImageBlurHashesFromJSON(json: any): BaseItemDtoImageBlurHashes {
return BaseItemDtoImageBlurHashesFromJSONTyped(json, false);
}
export function BaseItemDtoImageBlurHashesFromJSONTyped(json: any, ignoreDiscriminator: boolean): BaseItemDtoImageBlurHashes {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'primary': !exists(json, 'Primary') ? undefined : json['Primary'],
'art': !exists(json, 'Art') ? undefined : json['Art'],
'backdrop': !exists(json, 'Backdrop') ? undefined : json['Backdrop'],
'banner': !exists(json, 'Banner') ? undefined : json['Banner'],
'logo': !exists(json, 'Logo') ? undefined : json['Logo'],
'thumb': !exists(json, 'Thumb') ? undefined : json['Thumb'],
'disc': !exists(json, 'Disc') ? undefined : json['Disc'],
'box': !exists(json, 'Box') ? undefined : json['Box'],
'screenshot': !exists(json, 'Screenshot') ? undefined : json['Screenshot'],
'menu': !exists(json, 'Menu') ? undefined : json['Menu'],
'chapter': !exists(json, 'Chapter') ? undefined : json['Chapter'],
'boxRear': !exists(json, 'BoxRear') ? undefined : json['BoxRear'],
'profile': !exists(json, 'Profile') ? undefined : json['Profile'],
};
}
export function BaseItemDtoImageBlurHashesToJSON(value?: BaseItemDtoImageBlurHashes | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'Primary': value.primary,
'Art': value.art,
'Backdrop': value.backdrop,
'Banner': value.banner,
'Logo': value.logo,
'Thumb': value.thumb,
'Disc': value.disc,
'Box': value.box,
'Screenshot': value.screenshot,
'Menu': value.menu,
'Chapter': value.chapter,
'BoxRear': value.boxRear,
'Profile': value.profile,
};
}

View File

@ -0,0 +1,88 @@
/* tslint:disable */
/* eslint-disable */
/**
* Jellyfin API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 10.8.9
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
import type { BaseItemDto } from './BaseItemDto';
import {
BaseItemDtoFromJSON,
BaseItemDtoFromJSONTyped,
BaseItemDtoToJSON,
} from './BaseItemDto';
/**
*
* @export
* @interface BaseItemDtoQueryResult
*/
export interface BaseItemDtoQueryResult {
/**
* Gets or sets the items.
* @type {Array<BaseItemDto>}
* @memberof BaseItemDtoQueryResult
*/
items?: Array<BaseItemDto> | null;
/**
* Gets or sets the total number of records available.
* @type {number}
* @memberof BaseItemDtoQueryResult
*/
totalRecordCount?: number;
/**
* Gets or sets the index of the first record in Items.
* @type {number}
* @memberof BaseItemDtoQueryResult
*/
startIndex?: number;
}
/**
* Check if a given object implements the BaseItemDtoQueryResult interface.
*/
export function instanceOfBaseItemDtoQueryResult(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function BaseItemDtoQueryResultFromJSON(json: any): BaseItemDtoQueryResult {
return BaseItemDtoQueryResultFromJSONTyped(json, false);
}
export function BaseItemDtoQueryResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): BaseItemDtoQueryResult {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'items': !exists(json, 'Items') ? undefined : (json['Items'] === null ? null : (json['Items'] as Array<any>).map(BaseItemDtoFromJSON)),
'totalRecordCount': !exists(json, 'TotalRecordCount') ? undefined : json['TotalRecordCount'],
'startIndex': !exists(json, 'StartIndex') ? undefined : json['StartIndex'],
};
}
export function BaseItemDtoQueryResultToJSON(value?: BaseItemDtoQueryResult | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'Items': value.items === undefined ? undefined : (value.items === null ? null : (value.items as Array<any>).map(BaseItemDtoToJSON)),
'TotalRecordCount': value.totalRecordCount,
'StartIndex': value.startIndex,
};
}

View File

@ -0,0 +1,145 @@
/* tslint:disable */
/* eslint-disable */
/**
* Jellyfin API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 10.8.9
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
/**
* Gets or sets the user data for this item based on the user it's being requested for.
* @export
* @interface BaseItemDtoUserData
*/
export interface BaseItemDtoUserData {
/**
* Gets or sets the rating.
* @type {number}
* @memberof BaseItemDtoUserData
*/
rating?: number | null;
/**
* Gets or sets the played percentage.
* @type {number}
* @memberof BaseItemDtoUserData
*/
playedPercentage?: number | null;
/**
* Gets or sets the unplayed item count.
* @type {number}
* @memberof BaseItemDtoUserData
*/
unplayedItemCount?: number | null;
/**
* Gets or sets the playback position ticks.
* @type {number}
* @memberof BaseItemDtoUserData
*/
playbackPositionTicks?: number;
/**
* Gets or sets the play count.
* @type {number}
* @memberof BaseItemDtoUserData
*/
playCount?: number;
/**
* Gets or sets a value indicating whether this instance is favorite.
* @type {boolean}
* @memberof BaseItemDtoUserData
*/
isFavorite?: boolean;
/**
* Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UserItemDataDto is likes.
* @type {boolean}
* @memberof BaseItemDtoUserData
*/
likes?: boolean | null;
/**
* Gets or sets the last played date.
* @type {Date}
* @memberof BaseItemDtoUserData
*/
lastPlayedDate?: Date | null;
/**
* Gets or sets a value indicating whether this MediaBrowser.Model.Dto.UserItemDataDto is played.
* @type {boolean}
* @memberof BaseItemDtoUserData
*/
played?: boolean;
/**
* Gets or sets the key.
* @type {string}
* @memberof BaseItemDtoUserData
*/
key?: string | null;
/**
* Gets or sets the item identifier.
* @type {string}
* @memberof BaseItemDtoUserData
*/
itemId?: string | null;
}
/**
* Check if a given object implements the BaseItemDtoUserData interface.
*/
export function instanceOfBaseItemDtoUserData(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function BaseItemDtoUserDataFromJSON(json: any): BaseItemDtoUserData {
return BaseItemDtoUserDataFromJSONTyped(json, false);
}
export function BaseItemDtoUserDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): BaseItemDtoUserData {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'rating': !exists(json, 'Rating') ? undefined : json['Rating'],
'playedPercentage': !exists(json, 'PlayedPercentage') ? undefined : json['PlayedPercentage'],
'unplayedItemCount': !exists(json, 'UnplayedItemCount') ? undefined : json['UnplayedItemCount'],
'playbackPositionTicks': !exists(json, 'PlaybackPositionTicks') ? undefined : json['PlaybackPositionTicks'],
'playCount': !exists(json, 'PlayCount') ? undefined : json['PlayCount'],
'isFavorite': !exists(json, 'IsFavorite') ? undefined : json['IsFavorite'],
'likes': !exists(json, 'Likes') ? undefined : json['Likes'],
'lastPlayedDate': !exists(json, 'LastPlayedDate') ? undefined : (json['LastPlayedDate'] === null ? null : new Date(json['LastPlayedDate'])),
'played': !exists(json, 'Played') ? undefined : json['Played'],
'key': !exists(json, 'Key') ? undefined : json['Key'],
'itemId': !exists(json, 'ItemId') ? undefined : json['ItemId'],
};
}
export function BaseItemDtoUserDataToJSON(value?: BaseItemDtoUserData | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'Rating': value.rating,
'PlayedPercentage': value.playedPercentage,
'UnplayedItemCount': value.unplayedItemCount,
'PlaybackPositionTicks': value.playbackPositionTicks,
'PlayCount': value.playCount,
'IsFavorite': value.isFavorite,
'Likes': value.likes,
'LastPlayedDate': value.lastPlayedDate === undefined ? undefined : (value.lastPlayedDate === null ? null : value.lastPlayedDate.toISOString()),
'Played': value.played,
'Key': value.key,
'ItemId': value.itemId,
};
}

View File

@ -0,0 +1,73 @@
/* tslint:disable */
/* eslint-disable */
/**
* Jellyfin API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 10.8.9
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
/**
* The base item kind.
* @export
*/
export const BaseItemKind = {
AggregateFolder: 'AggregateFolder',
Audio: 'Audio',
AudioBook: 'AudioBook',
BasePluginFolder: 'BasePluginFolder',
Book: 'Book',
BoxSet: 'BoxSet',
Channel: 'Channel',
ChannelFolderItem: 'ChannelFolderItem',
CollectionFolder: 'CollectionFolder',
Episode: 'Episode',
Folder: 'Folder',
Genre: 'Genre',
ManualPlaylistsFolder: 'ManualPlaylistsFolder',
Movie: 'Movie',
LiveTvChannel: 'LiveTvChannel',
LiveTvProgram: 'LiveTvProgram',
MusicAlbum: 'MusicAlbum',
MusicArtist: 'MusicArtist',
MusicGenre: 'MusicGenre',
MusicVideo: 'MusicVideo',
Person: 'Person',
Photo: 'Photo',
PhotoAlbum: 'PhotoAlbum',
Playlist: 'Playlist',
PlaylistsFolder: 'PlaylistsFolder',
Program: 'Program',
Recording: 'Recording',
Season: 'Season',
Series: 'Series',
Studio: 'Studio',
Trailer: 'Trailer',
TvChannel: 'TvChannel',
TvProgram: 'TvProgram',
UserRootFolder: 'UserRootFolder',
UserView: 'UserView',
Video: 'Video',
Year: 'Year'
} as const;
export type BaseItemKind = typeof BaseItemKind[keyof typeof BaseItemKind];
export function BaseItemKindFromJSON(json: any): BaseItemKind {
return BaseItemKindFromJSONTyped(json, false);
}
export function BaseItemKindFromJSONTyped(json: any, ignoreDiscriminator: boolean): BaseItemKind {
return json as BaseItemKind;
}
export function BaseItemKindToJSON(value?: BaseItemKind | null): any {
return value as any;
}

Some files were not shown because too many files have changed in this diff Show More